告诉我们什么道理
Vyvojá? | Microsoft |
---|---|
Aktuální verze | 3.3.0 (24. ?íjna 2023) |
Typ softwaru | framework, webovy aplika?ní framework 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 webovych aplikací a slu?eb. Je nástupcem technologie ASP (Active Server Pages) a p?ímym konkurentem JSP (Java Server Pages).
Principy ASP.NET
[editovat | editovat zdroj]A?koliv název ASP.NET je odvozen od star?í technologie pro vyvoj web? ASP, obě technologie jsou velmi odli?né. ASP.NET je zalo?en na CLR (Common Language Runtime), ktery je sdílen v?emi aplikacemi postavenymi 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í klasickych 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ě webovych 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, ktery tvo?í ?ást vysledné stránky poslané do klientova prohlí?e?e.
ASP.NET MVC je dal?í oficiální framework postaveny na technologii ASP.NET. Tento framework umo?ňuje snadněji vyvíjet aplikace podle architektury Model-View-Controller.
Vyhody 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 vyvoji.
- U?ivatelsky definované ovládací prvky lze pou?ít jako ?ablony, ?ím? se vyznamně redukuje duplicitní kód.
- Podobny p?ístup jako k aplikacím pro Windows zjednodu?uje p?echod od jednoho prost?edí k druhému.
- Bohaty vyběr ovládacích prvk? a knihoven t?íd velmi zrychluje vyvoj aplikací.
- Programáto?i mají na vyběr velké mno?ství programovacích jazyk?.
- Schopnost cachovat celou stránku nebo pouze její ?ásti podstatně zvy?uje vykon serveru.
- Lze jej provozovat na r?znych opera?ních systémech i webovych 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 bezestavovym protokolem
[editovat | editovat zdroj]A?koliv webovy protokol HTTP je sám o sobě bezestavovy, událostmi ?ízené programování zachování stavu (uchování kontextu mezi jednotlivymi 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 (opakovanym odesíláním formulá?e na server) v zakódovaném tvaru ve skrytych formulá?ovych polích. Jeho vyhodou je, ?e vyu?ívá pouze HTML a nevy?aduje ?ádnou speciální podporu na straně serveru ani klienta. Nevyhodou 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?ny identifikátor. To sice zmen?uje objem p?ená?enych dat, ale klade vy??í nároky na vykon serveru. Navíc, pokud se sessions pou?ívají nesprávně, server m??e byt náchylny 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 webovych farmách, zvy?uje vykon 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 vyvoj ASP.NET MVC frameworku. Tento framework umo?ňuje tvorbu webovych 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 vyvoj WebForms nekon?í.
Po roce 2020 se ASP.NET stává zastaralym ji? vzhledem k nedostate?né implementaci novych verzí specifikací HTML a existenci multiplatformních nástroj? vyvoje 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