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í.

Lekce 1 - Úvod do ASP.NET

Vítejte v 1. lekci kurzu o tvorbě webových stránek pomocí technologie ASP.NET. Dnes si technologii představíme a vysvětlíme si její základní principy.

ASP.NET - Základy ASP.NET Core MVC

ASP.NET je webový framework, stručně řečeno se jedná o sadu knihoven, které umožňují tvorbu webových aplikací v jazyce C#. Knihovny obsahují hotová řešení mnoha základních problémů, které ve webových technologiích vyvstávají. To jsou např. bezpečnost, autentifikaci uživatele, práci s databází, správu formulářů a podobně. ASP tedy není programovací jazyk, programovat budeme v C# a budete tedy potřebovat základní znalosti tohoto jazyka. Programovat se dá teoreticky i ve Visual Basicu, ale skoro nikdo to nedělá :) Pokud nemáte znalosti C#, nic se neděje, začátečnické tutoriály naleznete v sekci C# .NET a poté se sem můžete vrátit. Dále je potřeba alespoň základní znalost HTML, tu opět získáte pročtením několika HTML tutoriálů. Protože webové aplikace jsou stále více populární a nahrazují aplikace desktopové, ve většině firem chtějí po C# programátorech znalost i frameworku ASP.NET. Určitě se vyplatí o této technologii něco vědět.

Co vše se dá v ASP.NET vytvořit?

Úplně vše. ASP.NET je vhodné jak pro malé osobní weby, tak pro velké projekty, ať už korporátní nebo např. webové portály. Jako technologie je minoritní a to samozřejmě z důvodu licence. Ačkoli webové stránky můžete tvořit ve free edici Visual Studia, webhostingů podporujících ASP.NET není mnoho a to hlavně těch zadarmo. Když vezmeme všechny webové aplikace a porovnáme, kolik z nich běží na ASP.NET a kolik třeba na konkurenčním PHP, které je otevřenou technologií, nebude to velké číslo. Pokud ovšem vezmeme v potaz pouze velké projekty, jako jsou např. stackoverflow nebo w3schools, běží jich na ASP.NET poměrně dost. Oblíbené je též v korporátní sféře.

Základní principy ASP.NET

Technologie je založena na architektuře klient-server. Aplikace v ASP.NET je tedy program, jehož výstupem je HTML stránka. ASP.NET běží na straně serveru. Abychom lépe pochopili, jak ASP.NET funguje, ukažme si nejprve obyčejný statický web.

Statický web (bez ASP.NET)

Takový web jste určitě již někde viděli, HTML stránky jsou jednoduše uložené na serveru. Jakmile klient (uživatel s prohlížečem) pošle požadavek na server, server mu jednoduše vrátí přesně ty stránky, co má uložené.

Graficky vypadá komunikace asi nějak takto:

Webová stránka bez ASP.NET - Základy ASP.NET Core MVC

Dynamický web (s ASP.NET)

Statický web se těžko spravuje a má velká omezení. Proto začaly vznikat serverové jazyky, které umožňují HTML stránku ještě pozměnit předtím, než je klientovi odeslána. Lze tak vytvořit aktivní prvky, jako např. diskuzní fóra, přihlašování uživatelů, nahrávání obsahu pomocí editoru a podobně.

ASP.NET tedy běží na serveru, na základě požadavků od klienta vygeneruje webovou stránku a pošle ji klientovi. Ten vidí už jenom výsledné HTML, ve kterém není po ASP.NET ani památky (tedy kromě toho, že stránka má koncovku .aspx a ne .html).

Graficky by situace vypadala takto:

Životní cyklus požadavku v ASP.NET - Základy ASP.NET Core MVC

Mezi C# a konkurenčním PHP jsou obrovské rozdíly. Zatímco PHP je dynamický jazyk, C# je silně typovaný. Jak se ukázalo, tak takový jazyk může být výhodný i pro web, ale pokud přecházíte z PHP, může to být nezvyklé. Velkou výhodou je možnost použití .NET frameworku, který se na serveru hodí, protože obsahuje mnoho užitečných knihoven a funkcí. ASP.NET je pro upřesnění jedna ze součástí .NET frameworku.

ASP.NET běží na serveru IIS (Internet Information Services) a teoreticky může běžet i na webserveru Apache jako modul (podobně jako PHP). S instalací plné verze Visual Studia nebo Visual Studia verze Community, která je zadarmo, se vám nainstaluje i tento server. Stránky tak můžete ladit jednoduše ve svém počítači. Ohledně českých freehostingů na zkoušení webů v ASP.NET stojí za zkoušku http://www.asp2.cz. Místa tam není mnoho, ale na pokusy nebo osobní web to bohatě stačí. Pro vážnější projekty je třeba si webhosting koupit, ale to platí asi u všech technologií.

WebForms, MVC a Core

Microsoft nám nabízí hned několik způsobů jak webové stránky vytvářet. Tím historicky nejstarším byly WebForms, které jsou dnes již poměrně nezajímavé. Jejich nástupcem je ASP.NET MVC a to je v současné době nahrazováno technologií ASP.NET Core, která je naštěstí velmi podobná.

WebForms

WebForms byl pokus přenést WinForms (tedy standardní formulářové/okenní aplikace, jak je známe z desktopu) na web. Idea je jednoduše v designeru poskládat formulář z kontrolek z toolboxu (tlačítka, popisky, textová pole atd.) a těmto ovládacím prvkům přiřadit události. Aplikace se navenek chová jako desktopová, ale na pozadí je složitější logika. Úkol nasimulovat desktopovou aplikaci na webu je poněkud nelehký a to z toho důvodu, že protokol HTTP je bezstavový. Výhodou WebForms je obrovská rychlost tvorby zejména aplikací, kde je hodně formulářů. Nevýhodou je komplikovanější architektura a problém udělat cokoli "jinak" nebo spolupracovat s dalšími technologiemi. Kvůli těmto problémům se již WebForms příliš nepoužívají.

MVC

MVC je novější koncept a jde na celou věc jinak. Rozděluje webovou aplikaci do komponent 3 typů: Kontrolery, Modely a Pohledy (Model View Controller). Kontroler je řídící komponenta, která přijme data od uživatele a komunikuje s modelem. Model obsahuje logiku, pracuje s databází a podobně. Data od modelu předá kontroler pohledu. Pohled je vlastně šablonou, do které se data vloží a vznikne výsledná HTML stránka. Jednoduše řečeno, cílem konceptu je zpřehlednit architekturu webu a rozdělit ho na 2 části - Logiku a Výstup. Kontroler poté tyto 2 části propojuje.

Core

Jelikož se Microsoft stále více snaží působit v open source komunitě, byla po otevření jazyka C# a .NET frameworku jen otázka času, než se firma rozhodne umožnit užívání ASP.NET i mimo operační systém Windows. ASP.NET Core se od ASP.NET MVC liší zejména tím, že na server nahráváme kromě naší aplikace i samotný framework ASP.NET, který již tedy nemusí být na serveru nainstalován. Svou aplikaci tedy můžeme nahrát kamkoli, i kde není prostředí Windows nebo ASP.NET. Aby to nebylo moc jednoduché, tak kromě přístupu MVC přináší Core i další způsoby jak webové aplikace tvořit. ASP.NET Core je v současné době nejvyvíjenější a proto se určitě vyplatí učit právě tuto technologii.

Nastínili jsme si tedy o co asi půjde. Než se do toho pustíme, upřesněme požadavky na znalosti na celý kurz.

Požadavky na znalosti

Pro dokončení celého kurzu se předpokládají znalosti v tomto rozsahu:

V příští lekci, Úvod do webových aplikací v ASP.NET, si uděláme úvod do webových aplikací, abychom pochopili proč jsou žádanější než aplikace desktopové.


 

Všechny články v sekci
Základy ASP.NET Core MVC
Přeskočit článek
(nedoporučujeme)
Úvod do webových aplikací v ASP.NET
Článek pro vás napsal David Hartinger
Avatar
Uživatelské hodnocení:
389 hlasů
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 se informační technologie naučil na Unicorn University - prestižní soukromé vysoké škole IT a ekonomie.
Aktivity