Zarábaj až 6 000 € mesačne! Akreditované rekvalifikačné kurzy od 0 €. Viac informácií.
Hľadáme nové posily do ITnetwork tímu. Pozri sa na voľné pozície a pridaj sa k najagilnejšej firme na trhu - Viac informácií.

1. diel - Úvod do ASP.NET

Vitajte v 1. lekcii kurzu 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 - Základy ASP.NET Core MVC - Základy ASP.NET Core MVC

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šenia mnohých základných problémov, ktoré vo webových technológiách vyvstávajú. To sú napr. bezpečnosť, autentifikácia používateľa, práca s databázou, správa 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í:) Pokiaľ 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, tú opäť získate prečítaním niekoľkých HTML tutoriálov. Pretože webové aplikácie sú stále viac populárne a nahrádzajú 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 aj 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. Pokiaľ 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 najskôr obyčajný statický web.

Statický web (bez ASP.NET)

Taký 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 - Základy ASP.NET Core MVC - Základy ASP.NET Core MVC

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, ako je klientovi odoslaná. Je možné 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ž iba 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 - Základy ASP.NET Core MVC - Základy ASP.NET Core MVC

Medzi C# a konkurenčným PHP sú obrovské rozdiely. Zatiaľ čo PHP je dynamický jazyk, C# je silne typovaný. Ako sa ukázalo, takýto jazyk môže byť výhodný aj pre web, ale ak prechádzate z PHP, môže to byť nezvyčajné. 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 webserveri 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 freehostingov 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 si treba webhosting kúpiť, ale to platí asi pri všetkých technológiách.

WebForms, MVC a Core

Microsoft nám ponúka hneď niekoľko spôsobov ako vytvárať webové stránky. 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ógiou 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 dizajnéri poskladať formulár z kontroliek z toolboxu (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šia 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šia 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ší 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ží pôsobiť v open source komunite, bola po otvorení jazyka C# a .NET frameworku len otázka času, než sa firma rozhodne umožniť používanie ASP.NET aj mimo operačného systému 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 veľmi 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 najvyvíjanejšia a preto sa určite oplatí učiť práve túto technológiu.

Načrtli sme si teda o čo asi pôjde. Než sa do toho pustíme, upresnime požiadavky na znalosti na celý kurz.

Požiadavky na znalosti

Pre dokončenie celého kurzu sa predpokladajú znalosti v tomto rozsahu:

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 ako aplikácie desktopové.


 

Všetky články v sekcii
Základy ASP.NET Core MVC
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