Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

1. diel - Úvod do ASP.NET

Vitajte pri prvej 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

ASP.NET je webový framework, stručne povedané, ide o súbor 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 nastá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 to skoro nikto nerobí :) Ak nemáte znalosti z C#, nič sa nedeje, začiatočnícke lekcie nájdete v sekcii C# .NET a potom sa sem môžete vrátiť. Ďalej je potrebná aspoň základná znalosť HTML, tú opäť získate prečítaním niekoľkých HTML lekcií. Pretože webové aplikácie sú stále viac populárne a nahrádzajú aplikácie desktopové, vo väčšine firiem chcú od C# programátorov aj znalosť frameworku ASP.NET. O tejto technológii sa preto určite oplatí 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 napríklad 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 najskôr obyčajný statický web.

Statický web (bez ASP.NET)

Taký web ste už určite 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, ktoré má uložené.

Graficky vyzerá komunikácia asi nejako takto:

Webová stránka bez ASP.NET - 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 stopy (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

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.

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á, popisy, textové polia atď.) a týmto ovládacím prvkom priradiť udalosti. Aplikácia sa navonok správa 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: Kontroléry, 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 znalostí pre celý kurz.

Požiadavky znalostí

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

V nasledujú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:
22 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