ASP.NET

Z Multimediaexpo.cz

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

Obsah

Principy ASP.NET

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 návrhového vzoru Model-View-Controller.

Výhody ASP.NET oproti ASP

  • 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 bezstavovým protokolem

Ačkoliv webový protokol HTTP je sám o sobě bezstavový, 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ě.

Session State 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. Pokud se sessions používají nesprávně, může být server náchylný i k Denial of Service útokům. Oproti ASP umožňuje ASP.NET ukládání session state 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

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 návrhového vzoru Model-View-Controller. ASP.NET MVC má představovat alternativu oproti WebForms. Narozdíl od WebForms aplikace vytvořené pomocí ASP.MVC nevyžadují ViewState a dají se snadněji testovat. V současné době se ASP.NET MVC nachází ve verzi 2 Beta (5. prosince 2009). Microsoft ujistil komunitu, že vydáním ASP.NET MVC nekončí vývoj WebForms.

Aktuální verze

  • .NET Framework 3.5 byl uvolněn 19. listopadu 2007
  • Mono 1.2.6 bylo uvolněno 12. prosince 2007

Externí odkazy