ASP.NET
Vývojář | Microsoft |
---|---|
Aktuální verze | 3.3.0 (24. října 2023) |
Typ softwaru | framework, webový aplikační framework, programovací jazyk a skriptování na straně serveru |
Licence | licence Apache |
Web | dotnet |
Některá data mohou pocházet z datové položky. |
ASP.NET je součást .NET Frameworku pro tvorbu webových aplikací a služeb. Je nástupcem technologie ASP (Active Server Pages) a přímým konkurentem JSP (Java Server Pages).
Principy ASP.NET
[editovat | editovat zdroj]Ačkoliv název ASP.NET je odvozen od starší technologie pro vývoj webů ASP, obě technologie jsou velmi odlišné. ASP.NET je založen na CLR (Common Language Runtime), který je sdílen všemi aplikacemi postavenými na .NET Frameworku. Programátoři tak mohou realizovat své projekty v jakémkoliv jazyce podporujícím CLR, např. Visual Basic .NET, JScript.NET, C#, Managed C++, ale i mutace Perlu, Pythonu a další. Aplikace založené na ASP.NET jsou také rychlejší, neboť jsou předkompilovány do jednoho či několika málo DLL souborů, na rozdíl od ryze skriptovacích jazyků, kde jsou stránky při každém přístupu znovu a znovu parsovány.
Koncept ASP.NET WebForms ulehčuje programátorům přechod od programování klasických aplikací pro Windows do prostředí webu: stránky jsou poskládány z objektů, ovládacích prvků (Controls), které jsou protějškem ovládacích prvků ve Windows. Při tvorbě webových stránek je tedy možné používat ovládací prvky jako tlačítko (Button), nápis (Label) a další. Těmto prvkům lze přiřazovat určité vlastnosti, zachytávat na nich události atd. Tak, jako se ovládací prvky pro Windows samy kreslí do formulářů na obrazovku, webové ovládací prvky produkují HTML kód, který tvoří část výsledné stránky poslané do klientova prohlížeče.
ASP.NET MVC je další oficiální framework postavený na technologii ASP.NET. Tento framework umožňuje snadněji vyvíjet aplikace podle architektury Model-View-Controller.
Výhody ASP.NET oproti ASP
[editovat | editovat zdroj]- Díky kompilovanému kódu běží aplikace rychleji a více chyb je zachyceno už při vývoji.
- Uživatelsky definované ovládací prvky lze použít jako šablony, čímž se významně redukuje duplicitní kód.
- Podobný přístup jako k aplikacím pro Windows zjednodušuje přechod od jednoho prostředí k druhému.
- Bohatý výběr ovládacích prvků a knihoven tříd velmi zrychluje vývoj aplikací.
- Programátoři mají na výběr velké množství programovacích jazyků.
- Schopnost cachovat celou stránku nebo pouze její části podstatně zvyšuje výkon serveru.
- Lze jej provozovat na různých operačních systémech i webových serverech, např. IIS (Windows), Apache (Windows, Linux s open source implementací .NETu Monem).
- Počínaje verzí 2 generuje ASP.NET validní HTML 4.0 / XHTML 1.0 / XHTML 1.1 kód a JavaScript.
ASP.NET WebForms – stavové prostředí nad bezestavovým protokolem
[editovat | editovat zdroj]Ačkoliv webový protokol HTTP je sám o sobě bezestavový, událostmi řízené programování zachování stavu (uchování kontextu mezi jednotlivými požadavky) vyžaduje. ASP.NET tento problém řeší kombinací HTML a JavaScriptu pomocí dvou základních technik:
ViewState uchovává informace mezi postbacky (opakovaným odesíláním formuláře na server) v zakódovaném tvaru ve skrytých formulářových polích. Jeho výhodou je, že využívá pouze HTML a nevyžaduje žádnou speciální podporu na straně serveru ani klienta. Nevýhodou je, že se mezi serverem a klientem přenáší větší objem dat, zejména je-li ViewState využíváno nesprávně.
SessionState oproti tomu ukládá veškeré informace na straně serveru a předává (typicky jako cookie nebo součást URL) pouze jednoznačný identifikátor. To sice zmenšuje objem přenášených dat, ale klade vyšší nároky na výkon serveru. Navíc, pokud se sessions používají nesprávně, server může být náchylný k DOS útokům. Oproti ASP umožňuje ASP.NET ukládání SessionState do samostatného procesu nebo na SQL server. To zjednodušuje použití session ve webových farmách, zvyšuje výkon a umožňuje stav zachovat i při restartu serveru.
ASP.NET MVC
[editovat | editovat zdroj]Na přelomu roku 2007 a 2008 ohlásila firma Microsoft plán na vývoj ASP.NET MVC frameworku. Tento framework umožňuje tvorbu webových aplikací podle softwarové architektury Model-view-controller. ASP.NET MVC má představovat alternativu oproti WebForms. Na rozdíl od WebForms aplikace vytvořené pomocí ASP.MVC nevyžadují ViewState a dají se snadněji testovat. Dalším rozdílem MVC oproti WebForms je nezávislost na Javascriptu (událostní model WebForms javasript vyžaduje) a logika bližší klasickému komunikačnímu modelu webu. V současné době se ASP.NET MVC nachází ve verzi 5.1.2[1] (4. dubna 2014). Microsoft ujistil komunitu, že vydáním ASP.NET MVC vývoj WebForms nekončí.
Po roce 2020 se ASP.NET stává zastaralým již vzhledem k nedostatečné implementaci nových verzí specifikací HTML a existenci multiplatformních nástrojů vývoje webu.
Verze
[editovat | editovat zdroj]- ASP.NET verze 1.0 (součást rozhraní .NET Framework) v lednu 2002
- ASP.NET verze 1.1 v dubnu 2003
- ASP.NET verze 2.0 v listopadu 2005
- ASP.NET verze 3.0 (spíše jen vylepšení verze .NET 2.0) v únoru 2006
- ASP.NET verze 3.5 v listopadu 2007
- ASP.NET verze 3.5 Service Pack 1 v srpnu 2008
- ASP.NET verze 4.0 duben 2010
- ASP.NET verze 4.5 srpen 2012