IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

1. diel - Úvod do ASP.NET

Vitajte v 1. lekcii kurze o tvorbe webových stránok pomocou technológie ASP.NET. Dnes si technológiu predstavíme a vysvetlíme si jej základné princípy.

ASP.NET - Tvorba webov v ASP.NET

ASP.NET je webový framework, stručne povedané sa jedná o sadu knižníc, ktoré umožňujú tvorbu webových aplikácií v jazyku C #. Knižnice obsahujú hotové riešenie mnohých základných problémov, ktoré vo webových technológiách vyvstávajú. To sú napr. Bezpečnosť, autentifikáciu užívateľa, prácu s databázou, správu formulárov a podobne. ASP teda nie je programovací jazyk, programovať budeme v C # a budete teda potrebovať základné znalosti tohto jazyka. Programovať sa dá teoreticky aj vo Visual Basicu, ale skoro nikto to nerobí :) Ak nemáte znalosti C #, nič sa nedeje, začiatočnícke tutoriály nájdete v sekcii C# .NET a potom sa sem môžete vrátiť. Ďalej je potreba aspoň základná znalosť HTML, tu opäť získate čítaním dátového niekoľkých HTML tutoriálov. Pretože webové aplikácie sú stále viac populárne a nahradzujú aplikácie desktopové, vo väčšine firiem chcú po C# programátoroch znalosť aj frameworku ASP.NET. Určite sa oplatí o tejto technológii niečo vedieť.

Čo všetko sa dá v ASP.NET vytvoriť?

Úplne všetko. ASP.NET je vhodné ako pre malé osobné weby, tak pre veľké projekty, či už korporátne alebo napr. Webové portály. Ako technológia je minoritný a to samozrejme z dôvodu licencie. Hoci webové stránky môžete tvoriť vo free edícii Visual Studia, webhostingov podporujúcich ASP.NET nie je veľa a to hlavne tých zadarmo. Keď vezmeme všetky webové aplikácie a porovnáme, koľko z nich beží na ASP.NET a koľko treba na konkurenčnom PHP, ktoré je otvorenou technológiou, nebude to veľké číslo. Ak však vezmeme do úvahy iba veľké projekty, ako sú napr. Stackoverflow alebo W3Schools, beží ich na ASP.NET pomerne dosť. Obľúbené je tiež v korporátnej sfére.

Základné princípy ASP.NET

Technológia je založená na architektúre klient-server. Aplikácia v ASP.NET je teda program, ktorého výstupom je HTML stránka. ASP.NET beží na strane servera. Aby sme lepšie pochopili, ako ASP.NET funguje, ukážme si najprv obyčajný statický web.

Statický web (bez ASP.NET)

Takýto web ste určite už niekde videli, HTML stránky sú jednoducho uložené na serveri. Akonáhle klient (užívateľ s prehliadačom) pošle požiadavku na server, server mu jednoducho vráti presne tie stránky, čo má uložené.

Graficky vyzerá komunikácia asi nejako takto:

Webová stránka bez ASP.NET - Tvorba webov v ASP.NET

Dynamický web (s ASP.NET)

Statický web sa ťažko spravuje a má veľké obmedzenia. Preto začali vznikať serverové jazyky, ktoré umožňujú HTML stránku ešte pozmeniť predtým, než je klientovi odoslaná. Možno tak vytvoriť aktívne prvky, ako napr. Diskusné fóra, prihlasovanie užívateľov, nahrávanie obsahu pomocou editora a podobne.

ASP.NET teda beží na serveri, na základe požiadaviek od klienta vygeneruje webovú stránku a pošle ju klientovi. Ten vidí už len výsledné HTML, v ktorom nie je po ASP.NET ani pamiatky (teda okrem toho, že stránka má koncovku .aspx a nie .html).

Graficky by situácia vyzerala takto:

Životný cyklus požiadavky v ASP.NET - Tvorba webov v ASP.NET

Medzi C# a konkurenčnom PHP sú obrovské rozdiely. Kým PHP je dynamický jazyk, C# je silne typizovanom. Ako sa ukázalo, tak taký jazyk môže byť výhodný aj pre web, ale ak prechádzate z PHP, môže to byť nezvyklé. Veľkou výhodou je možnosť použitia .NET frameworku, ktorý sa na serveri hodí, pretože obsahuje mnoho užitočných knižníc a funkcií. ASP.NET je pre upresnenie jedna zo súčastí .NET frameworku.

ASP.NET beží na serveri IIS (Internet Information Services) a teoreticky môže bežať aj na webservera Apache ako modul (podobne ako PHP). S inštaláciou plnej verzie Visual Studia alebo Visual Studia verzie Community, ktorá je zadarmo, sa vám nainštaluje aj tento server. Stránky tak môžete ladiť jednoducho vo svojom počítači. Ohľadom českých Freehosting na skúšanie webov v ASP.NET stojí za skúšku http://www.asp2.cz. Miesta tam nie je veľa, ale na pokusy alebo osobné web to bohato stačí. Pre vážnejšie projekty je potrebné si webhosting kúpiť, ale to platí asi u všetkých technológií.

WebForms, MVC a Core

Microsoft nám ponúka hneď niekoľko spôsobov ako webové stránky vytvárať. Tým historicky najstarším boli WebForms, ktoré sú dnes už pomerne nezaujímavé. Ich nástupcom je ASP.NET MVC a to je v súčasnej dobe nahradzované technológií ASP.NET Core, ktorá je našťastie veľmi podobná.

WebForms

WebForms bol pokus preniesť WinForms (teda štandardné formulárové / okenné aplikácie, ako ich poznáme z desktopu) na web. Idea je jednoducho v Designeri poskladať formulár z kontroliek z toolbox (tlačidlá, popisky, textové polia atď.) A týmto ovládacím prvkom priradiť udalosti. Aplikácia sa navonok chová ako desktopová, ale na pozadí je zložitejšie logika. Úloha nasimulovať desktopovú aplikáciu na webe je trochu neľahká a to z toho dôvodu, že protokol HTTP je bezstavový. Výhodou WebForms je obrovská rýchlosť tvorby najmä aplikácií, kde je veľa formulárov. Nevýhodou je komplikovanejšie architektúra a problém urobiť čokoľvek "inak" alebo spolupracovať s ďalšími technológiami. Kvôli týmto problémom sa už WebForms príliš nepoužívajú.

MVC

MVC je novšia koncept a ide na celú vec inak. Rozdeľuje webovú aplikáciu do komponentov 3 typov: Kontrolery, Modely a Pohľady (Model View Controller). Kontrolér je riadiaci komponent, ktorý prijme dáta od užívateľa a komunikuje s modelom. Model obsahuje logiku, pracuje s databázou a podobne. Dáta od modelu odovzdá kontrolér pohľadu. Pohľad je vlastne šablónou, do ktorej sa dáta vložia a vznikne výsledná HTML stránka. Jednoducho povedané, cieľom konceptu je sprehľadniť architektúru webu a rozdeliť ho na 2 časti - Logiku a Výstup. Kontrolér potom tieto 2 časti prepája.

Core

Keďže sa Microsoft stále viac snažia pôsobiť v open source komunite, bola po otvorení jazyka C# a .NET frameworku len otázka času, než sa firma rozhodne umožniť užívanie ASP.NET aj mimo operačný systém Windows. ASP.NET Core sa od ASP.NET MVC líši najmä tým, že na server nahrávame okrem našej aplikácie aj samotný framework ASP.NET, ktorý už teda nemusí byť na serveri nainštalovaný. Svoju aplikáciu teda môžeme nahrať kamkoľvek, aj kde nie je prostredie Windows alebo ASP.NET. Aby to nebolo moc jednoduché, tak okrem prístupu MVC prináša Core aj ďalšie spôsoby ako webové aplikácie tvoriť. ASP.NET Core je v súčasnej dobe nejvyvíjenější a preto sa určite oplatí učiť práve túto technológiu.

Načrtli sme si teda o čo asi pôjde. V budúcej lekcii, Úvod do webových aplikácií v ASP.NET , si urobíme úvod do webových aplikácií, aby sme pochopili prečo sú žiadanejšie než aplikácie desktopové.


 

Všetky články v sekcii
Tvorba webov v ASP.NET
Preskočiť článok
(neodporúčame)
Úvod do webových aplikácií v ASP.NET
Článok pre vás napísal David Hartinger
Avatar
Užívateľské hodnotenie:
3 hlasov
David je zakladatelem ITnetwork a programování se profesionálně věnuje 15 let. Má rád Nirvanu, nemovitosti a svobodu podnikání.
Unicorn university David sa informačné technológie naučil na Unicorn University - prestížnej súkromnej vysokej škole IT a ekonómie.
Aktivity