ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
TNPW2
2012/2013
05 ¨C Webov¨¦ aplikace v ASP.NET


Mgr. Luk¨¢? Vacek
lukas.vacek@uhk.cz
2




Agenda
         ?   Co je ASP?
         ?   Co je ASP.NET, .NET Framework, Mono?
         ?   V?hody a nev?hody ASP.NET
         ?   Jak funguje ASP.NET?
         ?   PostBack, ViewState, MVC, Razor
         ?   Vyrovn¨¢vac¨ª pam¨§?, ke?ov¨¢n¨ª (cache), valid¨¢tory
         ?   Konfigurace, nasazen¨ª v provozu
         ?   HTTP moduly, HTTP handlery
         ?   V?vojov¨¦ n¨¢stroje
         ?   Internet, doporu?en¨¢ literatura
3

Co je ASP? Vztah ASP a ASP.NET
? Technologie ASP (Active Server Pages) je ?p?edch?dcem¡° ASP.NET!

? ASP vytvo?ila fy Microsoft, roz?¨ª?ila se ve druh¨¦ polovin¨§ 90. let
? V t¨¦to dob¨§ byla ASP spolu s PHP pravd¨§podobn¨§ nejpou?¨ªvan¨§j?¨ª v?vojovou platformou
  pro webov¨¦ aplikace
? Programovac¨ª jazyky pro ASP: VB Script, JScript/slideshow/tnpw2201305/14929615/...
? ASP se nep?ekl¨¢d¨¢ (jedn¨¢ se o interpretovan¨¦ prost?ed¨ª)!
? Na ASP str¨¢nk¨¢ch je mo?n¨¦ vyu?¨ªvat COM komponenty >> m¨¢lo roz?¨ª?en¨¦
? Nejv¨§t?¨ª probl¨¦my ASP:
   ? ?patn¨¢ udr?ovatelnost k¨®du, m¨ªch¨¢n¨ª jednotliv?ch aplika?n¨ªch vrstev,
   ? neexistence kvalitn¨ªho v?vojov¨¦ho prost?ed¨ª.

? Pozor: ASP nen¨ª ASP.NET!
4




Agenda
         ? Co je ASP? Vztah ASP a ASP.NET
         ? Co je ASP.NET, .NET Framework, Mono?
         ? V?hody a nev?hody ASP.NET
         ? Jak funguje ASP.NET?
         ? PostBack, ViewState, MVC, Razor
         ? Vyrovn¨¢vac¨ª pam¨§?, ke?ov¨¢n¨ª (cache), valid¨¢tory
         ? Konfigurace, nasazen¨ª v provozu
         ? HTTP moduly, HTTP handlery
         ? V?vojov¨¦ n¨¢stroje
         ? Internet, doporu?en¨¢ literatura
5

Historie ASP.NET
? 1997 ¨C po vyd¨¢n¨ª IIS 4.0 Mark Anders a Scott Guthrie navrhli nov? model pro webov¨¦
  aplikace, kter? odd¨§luje strukturu od obsahu
? Scott Guthrie v Jav¨§ ? naprogramoval prototyp XSP
? N¨¢sleduj¨ªc¨ª beta verze byla p?ejmenovan¨¢ na ASP+, vyu?¨ªvala CLR a nov? jazyk C#
? 2000 ¨C p?edstaven¨ª ve?ejnosti jako ASP+, pozd¨§ji ASP.NET (.NET jako spole?n? brand)
? 2002 ¨C ASP.NET 1.0 jako sou?¨¢st nov¨¦ho .NET Frameworku 1.0
? 2003 ¨C ASP.NET 1.1, MS Visual Studio 2003
   ? Dolad¨§n¨ª z¨¢kladn¨ªch vlastnost¨ª
? 2005 ¨C ASP.NET 2.0, MS Visual Studio 2005
   ? Master pages, webparts, themes, skins, navigace, membership, XHTML
? 2007 ¨C ASP.NET 3.5 se service packy se pou?¨ªv¨¢ dodnes, MS Visual Studio 2008
   ? C# 3.0, VB9, pozd¨§ji AJAX, MVC, LINQ, Entity Framework apod.
? 2010 ¨C ASP.NET 4.0, MS Visual Studio 2010
? 2012 ¨C ASP.NET 4.5, MS Visual Studio 2012¡­ Novinky v ASP.NET 4.5 (video)
   ? Podpora Windows 8, WinRT, Windows Store, asynchronn¨ª programov¨¢n¨ª apod.
? http://en.wikipedia.org/wiki/ASP.NET
6

ASP.NET a .NET Framework, z¨¢kladn¨ª pojmy
? .NET Framework fy Microsoft je nadstavba nad opera?n¨ªm syst¨¦mem
? ASP.NET je sou?¨¢st tohoto frameworku, v r¨¢mci kter¨¦ jsou vytv¨¢?eny, nasazov¨¢ny
  a provozov¨¢ny webov¨¦ aplikace a webov¨¦ slu?by (obvykle na IIS ¨C web server na Win OS)
? Aktu¨¢ln¨ª verze je ASP.NET 4.5

? Z¨¢kladn¨ª funkcionalitu cel¨¦ho .NET Frameworku a spou?t¨§n¨ª ?¨ªzen¨¦ho (managed) k¨®du
  zaji??uje b¨§hov¨¦ prost?ed¨ª CLR (Common Language Runtime ¨C obdoba Java/JVM)
? .NET Framework umo?¨¾uje pou?¨ªvat r?zn¨¦ jazyky, nap?. C#, C++, VB.NET, Python a
  dal?¨ª, kter¨¦ spl¨¾uj¨ª p?edpoklady definovan¨¦ v CLS (Common Language Specification)
? V?stupem kompil¨¢toru je ?¨ªzen? k¨®d ¨C tzv. MSIL (Microsoft Intermediate Language)
? MSIL je p?ed sv?m spu?t¨§n¨ªm p?elo?en do strojov¨¦ho k¨®du za pomoc¨ª kompil¨¢toru
  ozna?ovan¨¦ho jako JITter (Just-in-time)

? .NET Framework obsahuje i jin¨¦ ?¨¢sti ne? jen ASP.NET, nap?. Windows Communication
  Foundation (WCF) nebo ADO.NET.
7

Architektura .NET, z¨¢kladn¨ª sch¨¦ma

            C#         VB.NET           ¡­




                 Common Language Specification (CLS)
                     .NET aplikace (ASP.NET + WinForm)
                                ADO.NET a XML
                          Base Class Library (BCL)
                     Common Language Runtime (CLR)
                        Windows
          Windows                  Windows RT       Linux*   AZURE (cloud)
                         Mobile
                       Qualcomm,   ARM (nov¨¦) ¨C
         Intel/AMD                                    ¡­           ¡­
                       Samsung¡­    Nvidia, TI, Ql
8

Projekt Mono
? Projekt MONO je multiplatformn¨ª implementace .NET Frameworku, zalo?en¨¢ na
  standardech ECMA
? Aktu¨¢ln¨§ projekt za?ti?uje fy Novell
? Mono implementuje b¨§hov¨¦ prost?ed¨ª CLR a knihovnu z¨¢kladn¨ªch t?¨ªd BCL
? Umo?¨¾uje spou?t¨§n¨ª aplikac¨ª vytvo?en?ch pod .NET Frameworkem, kompatibilita nen¨ª
  ¨²pln¨§ 100%
? Mono podporuje nap?. Linux, Mac OSX, Solaris, Windows atd.

? POZOR! (Zat¨ªm) nem¨¢ plnou podporu ARM architektury (Windows RT)!

http://www.mono-project.com/Main_Page

P?edn¨¢?ka
? Tom¨¢? Pet?¨ª?ek, .NET a projekt MONO ¨C B¨§?¨ª .NET i na jin?ch opera?n¨ªch syst¨¦mech?
? http://www.avc-cvut.cz/avc.php?id=2788&language=cs_CZ
9




Agenda
         ? Co je ASP? Vztah ASP a ASP.NET
         ? Co je ASP.NET, .NET Framework, Mono?
         ? V?hody a nev?hody ASP.NET
         ? Jak funguje ASP.NET?
         ? PostBack, ViewState, MVC, Razor
         ? Vyrovn¨¢vac¨ª pam¨§?, ke?ov¨¢n¨ª (cache), valid¨¢tory
         ? Konfigurace, nasazen¨ª v provozu
         ? HTTP moduly, HTTP handlery
         ? V?vojov¨¦ n¨¢stroje
         ? Internet, doporu?en¨¢ literatura
10

V?hody ASP.NET
?   Striktn¨§ objektov? p?¨ªstup
?   ?¨ªzen? (managed) k¨®d, v?jimka je mo?n¨¢ v C++
?   Odd¨§len¨ª k¨®du od designu, v¨§t?¨ª p?ehlednost
?   Kvalitn¨ª v?vojov¨¦ prost?ed¨ª (z¨¢kladn¨ª verze zdarma), podpora mnoha jazyk?.
?   Snadn¨¢ implementace (nap?. webov¨¦ slu?by), konfigurace, testov¨¢n¨ª, deployment
?   ?e?en¨ª ?ady obvykl?ch probl¨¦m? je p?¨ªmo sou?¨¢st¨ª ASP.NET
    (autentizace, valid¨¢tory, navigace, ?ablony), k dispozici je ?ada hotov?ch komponent
?   Jasn¨¦ odd¨§len¨ª jednotliv?ch vrstev aplikace a jejich opakovan¨¢ pou?itelnost
    (web, desktop, kapesn¨ª po?¨ªta?e)
?   Snadn¨¢ p?¨ªstupnost k dat?m (db, XML, web services, REST, JSON)
?   Um¨ª ?e?it (obch¨¢zet) bez-stavovost HTTP/(X)HTML
?   Prov¨¢d¨§n¨ª nativn¨ªho k¨®du (vy??¨ª v?kon!)
?   Kvalitn¨ª dokumentace

? http://en.wikipedia.org/wiki/ASP.NET
11

Nev?hody ASP.NET
? Poch¨¢z¨ª od Microsoftu >> p?edsudky a odm¨ªt¨¢n¨ª
? ASP.NET se st¨¢le dynamicky rozv¨ªj¨ª (nov¨§ WinRT, asynchronn¨ª programov¨¢n¨ª¡­)
? V pou?iteln¨¦ podob¨§ je ASP.NET zat¨ªm dostupn¨¢ pouze pro OS Windows (obchodn¨ª
  politika, nedod¨§lan¨¦ Mono atd.)
? M¨¢ silnou vazbu na IIS
? V ?R je aktu¨¢ln¨§ m¨¢lo freehosting? s podporou ASP.NET (je to dra??¨ª a technologicky
  n¨¢ro?n¨§j?¨ª ne? LAMP = linux + apache + mysql + php)
? P?i nevhodn¨¦m pou?it¨ª Viewstate roste mno?stv¨ª p?en¨¢?en?ch dat
? U Web Forms nem¨¢ program¨¢tor nad ni??¨ªmi ¨²rovn¨§mi aplikace dobrou kontrolu, u MVC
  je to lep?¨ª
? ASP.NET je mocn? n¨¢stroj, ale jeho zvl¨¢dnut¨ª si vy?¨¢d¨¢ ?as (del?¨ª k?ivka u?en¨ª)
12




Agenda
         ? Co je ASP? Vztah ASP a ASP.NET
         ? Co je ASP.NET, .NET Framework, Mono?
         ? V?hody a nev?hody ASP.NET
         ? Jak funguje ASP.NET?
         ? PostBack, ViewState, MVC, Razor
         ? Vyrovn¨¢vac¨ª pam¨§?, ke?ov¨¢n¨ª (cache), valid¨¢tory
         ? Konfigurace, nasazen¨ª v provozu
         ? HTTP moduly, HTTP handlery
         ? V?vojov¨¦ n¨¢stroje
         ? Internet, doporu?en¨¢ literatura
13

Jak funguje ASP.NET?
? ASP.NET str¨¢nky pou?¨ªvaj¨ª p?¨ªponu *.aspx. (existuje cel¨¢ ?ada dal?¨ªch p?¨ªpon pro dal?¨ª
  vyu?it¨ª ¨C *.ascx, *.asmx, *.ashx, *.config, *.sitemap apod.)
? Prov¨¢d¨§n¨ª ASP.NET str¨¢nky v modelu Web Forms (vzor MVP) nen¨ª line¨¢rn¨ª (to je rozd¨ªl
  proti interpretovan?m technologi¨ªm)!
? V ka?d¨¦ f¨¢zi zpracov¨¢n¨ª je vyvol¨¢na a n¨¢sledn¨§ zpracov¨¢na n¨§jak¨¢ ud¨¢lost
  (Init, Load, UnLoad, Render apod.)
? K¨®d ?pov¨§?en?¡° na tyto ud¨¢losti m??e b?t
   ?   Vyvol¨¢n p?i zpracov¨¢n¨ª nebo u?ivatelem,
   ?   sou?¨¢st¨ª *.aspx, v separ¨¢tn¨ªm souboru, v DLL knihovn¨§
? Krom¨§ b¨§?n¨¦ho (X)HTML k¨®du obsahuj¨ª str¨¢nky tzv. serverov¨¦ ovl¨¢dac¨ª prvky (Server
  Control, Web Forms), kter¨¦
   ?   Zapouzd?uj¨ª vizu¨¢ln¨ª elementy a zaji??uj¨ª tak interakci s u?ivatelem,
   ?   generuj¨ª ud¨¢losti (zm¨§na hodnoty, stisknut¨ª tla?¨ªtka, ¡­ ), d¨¢le zpracov¨¢van¨¦ programov?m k¨®dem


? http://zdrojak.root.cz/clanky/prezentacni-vzory-zrodiny-mvc/
14

Odd¨§len¨ª vzhledu a k¨®du str¨¢nky (Web Forms)

          1 soubor                                      2 soubory


             k¨®d

          <tagy>                               <tagy>               k¨®d




        Form1.aspx                          Form1.aspx         Form1.aspx.cs
                                                               Form1.aspx.vb

? Vazba mezi ?ablonou a programov?m k¨®dem¡­
  ?   <%@Page CodeBehind=/slideshow/tnpw2201305/14929615/...   pro VS.NET
  ?   <%@Page Src=/slideshow/tnpw2201305/14929615/...          pro samotn? framework
15




Agenda
         ? Co je ASP? Vztah ASP a ASP.NET
         ? Co je ASP.NET, .NET Framework, Mono?
         ? V?hody a nev?hody ASP.NET
         ? Jak funguje ASP.NET?
         ? PostBack, ViewState, MVC, Razor
         ? Vyrovn¨¢vac¨ª pam¨§?, ke?ov¨¢n¨ª (cache), valid¨¢tory
         ? Konfigurace, nasazen¨ª v provozu
         ? HTTP moduly, HTTP handlery
         ? V?vojov¨¦ n¨¢stroje
         ? Internet, doporu?en¨¢ literatura
16

Zpracov¨¢n¨ª ud¨¢lost¨ª (Postback) v ASP.NET web forms

              Prohl¨ª?e?               Zpr¨¢va o                 Server
                                      ud¨¢losti
                                                          Zpracov¨¢n¨ª zpr¨¢vy

              Ud¨¢lost
                                 Zavol¨¢n¨ª procedury
                                pro obsluhu ud¨¢losti



                                                             Obsluha ud¨¢losti

                                    Aktualizovan¨¢
                                       str¨¢nka


? S ud¨¢lostmi je t?eba ?et?it, hlavn¨§ pokud se nejedn¨¢ o intranetovou aplikaci¡­
   ?   Zvy?uj¨ª z¨¢t¨§? serveru,
   ?   Zpomaluj¨ª klienta.
17

Viewstate
? ViewState je kolekce reprezentuj¨ªc¨ª stav str¨¢nky a v?ech obsa?en?ch ovl¨¢dac¨ªch prvk?
? Spolu s technologii PostBack ?e?¨ª ViewState bez-stavovost HTTP/(X)HTML
? D¨ªky Viewstate si prvky mohou zachov¨¢vat sv?j stav nap?¨ª? jednotliv?mi requesty
? Do kolekce lze programov¨§ p?id¨¢vat prom¨§nn¨¦ (tady opatrn¨§!)
? Stav prvk? se neukl¨¢d¨¢ na serveru, ale je p?esouv¨¢n na klienta a zp¨§t coby skryt¨¦ pole
  formul¨¢?e
? Mo?nost volby pro ViewState:
    ?   ON ¨C ¨²spora v?po?etn¨ªho ?asu, ale v¨ªce kB putuj¨ªc¨ªch mezi klientem a serverem.
    ?   OFF ¨C nastaven¨ª hodnot, v?po?ty, na?¨ªt¨¢n¨ª dat z datab¨¢ze apod. prob¨ªh¨¢ p?i ka?d¨¦m PostBacku


? Pokud nen¨ª t?eba, zaka?te pou?it¨ª ViewState (pro jednotliv¨¦ ovl¨¢dac¨ª prvky, celou str¨¢nku
  nebo aplikaci), sn¨ª?¨ªte objem p?en¨¢?en?ch dat mezi klientem a serverem

? http://www.aspnet.cz/Articles/235-viewstate-k-cemu-je-a-jak-ho-spravne-pouzivat.aspx
18

ASP.NET MVC
? Z jin?ch technologi¨ª (nap?. Java Spring MVC) osv¨§d?en? Model ¨C View ¨C Controller m¨§n¨ª
  obvykl? zp?sob zpracov¨¢n¨ª str¨¢nky ve Web Forms ?¨ªzen? ud¨¢lostmi
? Pomoc¨ª routov¨¢n¨ª URL se rozhoduje, kter? controller bude konkr¨¦tn¨ª akci zpracov¨¢vat
? Striktn¨§ji odd¨§luje UI, aplika?n¨ª logiku a data, zlep?uje kontrolu nad odes¨ªlan?m (X)HTML
  k¨®dem, m¨¢ mo?nost p?izp?soben¨ª v?stupu r?zn?m klientsk?m platform¨¢m
? Lep?¨ª testovatelnost, mo?nost vyu?¨ªv¨¢n¨ª mock objekt?

? Nadstavba ASP.NET 3.5, mus¨ª se doinstalovat! Od verze 4.0 je MVC podporov¨¢n p?¨ªmo
? N¨§kdy trochu pracn¨¦, program¨¢tor si mus¨ª zvyknout, ur?it¨¦ riziko m¨ªch¨¢n¨ª k¨®du

? Vznikl na z¨¢klad¨§ popt¨¢vky v?voj¨¢??!
? Je podporov¨¢n fy Microsoft, bude koexistovat vedle obvykl¨¦ho Web Forms (MVP)

? http://www.asp.net/mvc/
? http://en.wikipedia.org/wiki/ASP.NET_MVC_Framework
? http://www.augi.cz/programovani/aspnet-mvc-a-routing/
19

ASP.NET Razor
? Razor je tzv. view engine, schopn? pracovat v kombinaci s MVC nebo Web Forms
? Hod¨ª se pro jednodu??¨ª aplikace (quick&win v?voj, prototypy), lze jej pou?¨ªt samostatn¨§
? Rychl¨¢ k?ivka u?en¨ª
? Razor + WebMatrix (v?vojov¨¦ prost?ed¨ª) + SQL Server Compact Edition 4.0 (datab¨¢ze) >>
  start pro ¨²pln¨¦ za?¨¢te?n¨ªky (aspo¨¾ podle p?edstav Microsoftu ?)
? V?hodou je mo?nost v?voje aplikac¨ª pro r?zn¨¦ platformy (web, desktop, mobily, xbox¡­)
? Je to trochu divo?ina, jako z¨¢kladn¨ª PHP ?
? Bere u? v ¨²vahu validaci u?ivatelsk?ch vstup? a parametrizovan¨¦ dotazy do datab¨¢ze

? http://zdrojak.root.cz/clanky/microsofti-lizatka-pro-zacatecniky-sance-pro-boj-s-php-
  nebo-krok-zpet/
? http://zdrojak.root.cz/clanky/podrizne-razor-php/
20

Database first vs Model first vs Code first
? R?zn¨¦ p?¨ªstupy k rychl¨¦mu vytv¨¢?en¨ª (generov¨¢n¨ª) ?¨¢st¨ª aplikace
? Z¨¢le?¨ª na tom, odkud za?¨ªn¨¢te, mo?nosti¡­
  ? Datab¨¢ze
  ? Datov? model
  ? Zdrojov? k¨®d

? Funkce
  ? Z¨¢kladn¨ª CRUD operace s daty,
  ? Z¨¢kladn¨ª validace/testy vstupn¨ªch dat (ASP.NET Model Validation)
  ? N¨§kter¨¦ DB frameworky um¨ª i verzov¨¢n¨ª zm¨§n (nap?. EF Code First Migrations)

? LINQ, Entity Framework, Dynamic Data
21




Agenda
         ? Co je ASP? Vztah ASP a ASP.NET
         ? Co je ASP.NET, .NET Framework, Mono?
         ? V?hody a nev?hody ASP.NET
         ? Jak funguje ASP.NET?
         ? PostBack, ViewState, MVC, Razor
         ? Vyrovn¨¢vac¨ª pam¨§?, ke?ov¨¢n¨ª (cache), valid¨¢tory
         ? Konfigurace, nasazen¨ª v provozu
         ? HTTP moduly, HTTP handlery
         ? V?vojov¨¦ n¨¢stroje
         ? Internet, doporu?en¨¢ literatura
22

Vyrovn¨¢vac¨ª pam¨§? (buffer), Cache
Vyrovn¨¢vac¨ª pam¨§? (buffer)
? ASP.NET str¨¢nky maj¨ª implicitn¨§ zapnut¨¦ vyu?it¨ª vyrovn¨¢vac¨ª pam¨§ti (bufferu) p?i
  sestavov¨¢n¨ª v?stupu.
? Buffer lze vypnout pomoc¨ª p?¨ªkazu response.buffer = false

Cache
? Pou?it¨ª ke?ov¨¢n¨ª (cache) je vhodn¨¦ p?i opakovan?ch po?adavc¨ªch na konkr¨¦tn¨ª str¨¢nku
? Cache je mo?n¨¦ nastavit pro
   ?   celou str¨¢nku (podle parametr?, jazyka, prohl¨ª?e?e apod.),
   ?   ?¨¢st str¨¢nky/komponenty (?et?¨ª ?as nutn? pro z¨ªsk¨¢n¨ª dat),
   ?   roz?i?iteln? objekt Cache (Cache API) ¨C mo?nost ulo?en¨ª libovoln¨¦ho objektu.
? Flexibiln¨ª politiky pro expiraci, mo?nost invalidace cache p?i zm¨§n¨§ souboru apod.
23

Valid¨¢tory, implicitn¨ª validace
 ? Ov¨§?en¨ª syntaxe zadan?ch dat
    ?   na stran¨§ klienta (rychlost, pohodl¨ª),
    ?   na stran¨§ serveru (bezpe?nost).
 ? R?zn¨¦ mo?nosti zobrazen¨ª chyby
 ? Valid¨¢tory je mo?n¨¦ dle pot?eby sdru?ovat do skupin
 ? R?zn¨¦ typy validace
    ?   RequiredFieldValidator,
    ?   CompareValidator,
    ?   RangeValidator,
    ?   RegularExpressionValidator,
    ?   CustomValidator.


 ? V ASP.NET je mo?n¨¦ automaticky zkontrolovat vstupn¨ª data od u?ivatele (od verze 1.1
   implicitn¨§ povoleno) p?ed jejich zpracov¨¢n¨ªm
<%@ Page validateRequest="true" language="c#" /slideshow/tnpw2201305/14929615/...
24




Agenda
         ? Co je ASP? Vztah ASP a ASP.NET
         ? Co je ASP.NET, .NET Framework, Mono?
         ? V?hody a nev?hody ASP.NET
         ? Jak funguje ASP.NET?
         ? PostBack, ViewState, MVC, Razor
         ? Vyrovn¨¢vac¨ª pam¨§?, ke?ov¨¢n¨ª (cache), valid¨¢tory
         ? Konfigurace, nasazen¨ª v provozu
         ? HTTP moduly, HTTP handlery
         ? V?vojov¨¦ n¨¢stroje
         ? Internet, doporu?en¨¢ literatura
25

Konfigurace ASP.NET aplikac¨ª
? Je ulo?ena ve form¨¢tu XML do souboru web.config v adres¨¢?i v *.aspx
  str¨¢nkami
? Obsahuje v?echna nastaven¨ª ASP.NET
  (autentizace, kompilace, trasov¨¢n¨ª, lad¨§n¨ª, chybov¨¦
  str¨¢nky, moduly, handlery, ¡­)
? Jak¨¦koliv u?ivatelsk¨¦ nastaven¨ª je mo?n¨¦ definovat v sekci
  <appSettings>, kter¨¢ je roz?i?iteln¨¢ >> je mo?n¨¦ p?id¨¢vat vlastn¨ª sekce dat
? M??ete vyu?¨ªt v¨ªce web.config soubor? v jedn¨¦ aplikaci, podle adres¨¢?ov¨¦
  struktury (1 adres¨¢? = 1 web.config)
? V souboru machine.config (v adres¨¢?i s instalovan?m frameworkem) jsou
  nastaveny parametry pro cel? web server (rad¨§ji tam nelezte!)
26

Nasazen¨ª ASP.NET aplikace do provozu

? Sta?¨ª zkop¨ªrovat na ur?en¨¦ m¨ªsto
  ? Odpad¨¢ nutnost registrace komponent,
  ? Odpad¨¢ nutnost restartu slu?eb/serveru.
? Podpora pro v?echny sou?¨¢sti
  ? Web str¨¢nky, web slu?by,
  ? Zkompilovan¨¦ komponenty (DLL),
  ? Konfigura?n¨ª soubory.
? Aktualizace aplikac¨ª je mo?n¨¢ za provozu
  ? Nakop¨ªrujte nov¨¦ DLL na m¨ªsto p?vodn¨ªho,
  ? Aplikace pou?ij¨ª nov¨¦ DLL po?¨ªnaje p?¨ª?t¨ªm klientsk?m po?adavkem.

? Pozor na nastaven¨ª parametr?, nap?. debug, trace ¨C na produkci nepovolovat!
? V?dy logujte provoz aplikace! Nap?. pomoc¨ª Log4Net.
27




Agenda
         ? Co je ASP? Vztah ASP a ASP.NET
         ? Co je ASP.NET, .NET Framework, Mono?
         ? V?hody a nev?hody ASP.NET
         ? Jak funguje ASP.NET?
         ? PostBack, ViewState, MVC, Razor
         ? Vyrovn¨¢vac¨ª pam¨§?, ke?ov¨¢n¨ª (cache), valid¨¢tory
         ? Konfigurace, nasazen¨ª v provozu
         ? HTTP moduly, HTTP handlery
         ? V?vojov¨¦ n¨¢stroje
         ? Internet, doporu?en¨¢ literatura
28

HTTP moduly, HTTP handlery

? Krom¨§ klasick?ch *.aspx str¨¢nek je mo?n¨¦ ps¨¢t webov¨¦ aplikace na ni??¨ª ¨²rovni
  (moduly a handlery) a s jejich pomoc¨ª vy?izovat n¨§kter¨¦ po?adavky na serveru
? N¨§kter¨¦ HTTP moduly, nap?.
   ? Output Cache,
   ? Na?¨ªt¨¢n¨ª a ukl¨¢d¨¢n¨ª Session stavu,
   ? Autentizace,
   ? Autorizace.
? HTTP moduly je mo?n¨¦ skl¨¢dat na sebe, mohou roz?¨ª?it nebo p?epsat prakticky
  v?echny ?innosti, kter¨¦ p?i b¨§hu .NET aplikace nast¨¢vaj¨ª
? HTTP handler je v?dy na konci, prov¨¢d¨ª vlastn¨ª zpracov¨¢n¨ª (nap?. *.aspx
  soubor?, na?¨ªt¨¢n¨ª obr¨¢zk? z datab¨¢ze apod.) po?adavku
29

Zpracov¨¢n¨ª po?adavku v ASP.NET

                       Web server (IIS, ¡­)

                       ASP.NET runtime


                               Global.asax

        Aplikace               HTTP modul

                               HTTP modul



                          HTTP handler       HTTP handler
        HTTP handler
                         (Web services)       (Web form)
30




Agenda
         ? Co je ASP? Vztah ASP a ASP.NET
         ? Co je ASP.NET, .NET Framework, Mono?
         ? V?hody a nev?hody ASP.NET
         ? Jak funguje ASP.NET?
         ? PostBack, ViewState, MVC, Razor
         ? Vyrovn¨¢vac¨ª pam¨§?, ke?ov¨¢n¨ª (cache), valid¨¢tory
         ? Konfigurace, nasazen¨ª v provozu
         ? HTTP moduly, HTTP handlery
         ? V?vojov¨¦ n¨¢stroje
         ? Internet, doporu?en¨¢ literatura
31

V?vojov¨¦ n¨¢stroje pro ASP.NET
? Visual Studio .NET 2012
   ? Nov¨¦ ASP.NET 4.5 (nap?. Windows 8, Windows Mobile, Windows RT, asynchronn¨ª prog.)
   ? Komplexn¨ª n¨¢stroj v r?zn?ch verz¨ªch, ur?en? pro v?voj, testov¨¢n¨ª a ?¨ªzen¨ª cel?ch projekt?


? Z¨¢kladn¨ª Express n¨¢stroje jsou zdarma na adrese¡­
   ? http://www.microsoft.com/visualstudio/cze/products/visual-studio-express-products
   ? Existuje i ?express verze¡° MS SQL datab¨¢ze ¨C vhodn¨¦ pro men?¨ª projekty


? Microsoft WebMatrix¡­ http://www.asp.net/web-pages
   ? Jednoduch? n¨¢stroj pro tvorbu web?
   ? Optimalizovan? pro Razor

? Ostatn¨ª
  http://monodevelop.com/ (MonoDevelop)
  http://www.icsharpcode.net/OpenSource/SD/ (SharpDevelop)
32

Team Foundation Server
? Microsoft Visual Studio Team Foundation Server 2010 (verze 2012 zat¨ªm nen¨ª)
   ?   N¨¢stroj pro t?movou spolupr¨¢ci a komplexn¨ª spr¨¢vu cel¨¦ho ?ivotn¨ªho cyklu aplikace
   ?   Pl¨¢nov¨¢n¨ª, ¨²koly, n¨¢vrh, implementace, verzov¨¢n¨ª zdrojov?ch k¨®d?, r?zn¨¦ druhy test?
       (unit, funk?n¨ª, z¨¢t¨§?ov¨¦¡­), podpora metodik, reportingy¡­
   ?   Integrace s Visual Studiem, MS Project, MS Sharepoint¡­


? Pro v¨§t?¨ª projekty nebo t?my v?voj¨¢?? nezbytnost!

? http://www.microsoft.com/business/smb/cs-cz/servery-a-nastroje/visual-studio.mspx
? http://www.youtube.com/watch?v=o75ZeH46SRU
? http://www.mstv.cz/ n¨§kolik ?esk?ch video podcast? na t¨¦ma MS TFS a testov¨¢n¨ª
33

Microsoft Sharepoint
? Webov¨¢ aplika?n¨ª platforma pro spolupr¨¢ci v r¨¢mci organizace
? Aktu¨¢ln¨ª verze Microsoft Sharepoint 2010, r?zn¨¦ licence (verze Foundation je zdarma)

? Sd¨ªlen¨ª dokument?, informac¨ª a znalost¨ª, integrace s Office, emailem a dal?¨ªmi n¨¢stroji
? Podpora pl¨¢nov¨¢n¨ª (kalend¨¢?e, ¨²koly), rozhodovac¨ªch proces? (workflow), vyhled¨¢v¨¢n¨ª
? Lze vybudovat v podstat¨§ libovoln? typ aplikace (port¨¢l, blog, wiki) v prost?ed¨ª
  Internetu/Intranetu pomoc¨ª vestav¨§n?ch n¨¢stroj?

? Co nejde ?naklikat¡° p?¨ªmo, lze naprogramovat pomoc¨ª tzv. web parts (.NET komponenty)
? V Sharepointu je ?v?echno¡° seznam nebo knihovna ?

? Spolupracuj¨ªc¨ª aplikace: Office, SP Designer, InfoPath, Visual Studio, TFS¡­

? http://sharepoint.microsoft.com/cs-cz/Pages/default.aspx
34




Agenda
         ? Co je ASP? Vztah ASP a ASP.NET
         ? Co je ASP.NET, .NET Framework, Mono?
         ? V?hody a nev?hody ASP.NET
         ? Jak funguje ASP.NET?
         ? PostBack, ViewState, MVC, Razor
         ? Vyrovn¨¢vac¨ª pam¨§?, ke?ov¨¢n¨ª (cache), valid¨¢tory
         ? Konfigurace, nasazen¨ª v provozu
         ? HTTP moduly, HTTP handlery
         ? V?vojov¨¦ n¨¢stroje
         ? Internet, doporu?en¨¢ literatura
35

Odkazy na Internetu
?   http://www.asp.net/Default.aspx (Ofici¨¢ln¨ª web pro ASP.NET)
?   http://msdn.microsoft.com/en-us/library/dd566231.aspx (ASP.NET web development)
?   http://www.codeproject.com/ (p?¨ªklady, zdrojov¨¦ k¨®dy)
?   http://msdn2.microsoft.com/en-us/default.aspx (MSDN)
?   http://en.wikipedia.org/wiki/ASP.NET
?   http://quickstarts.asp.net/previews/ (MVC a spol.)
?   http://blogs.msdn.com/vyvojari/archive/2009/10/04/zrychlete-v-voj-web-aplikac-s-toolkity.aspx
36

Doporu?en¨¢ literatura
?   P¨ªsek, Slavoj ¨C ASP.NET za?¨ªn¨¢me programovat, Grada 2003
?   MacDonald, Matthew; Szpuszta, Mario ¨C ASP.NET 3.5 a C# 2008, Zoner Press 2008
?   Watson, Ben ¨C C# 4.0 ¨C ?e?en¨ª praktick?ch program¨¢torsk?ch ¨²loh, Zoner Press 2010
?   Esposito, Dino ¨C Programming Microsoft ASP.NET MVC, Microsoft Press 2010
?   Pasch, Ond?ej ¨C Microsoft Sharepoint 2010, Praktick? pr?vodce u?ivatele, CPress 2011
?   Curry, Ben ¨C Microsoft Sharepoint 2010, Kapesn¨ª r¨¢dce administr¨¢tora, CPress 2011
37




Souhrn
         ? Co je ASP? Vztah ASP a ASP.NET
         ? Co je ASP.NET, .NET Framework, Mono?
         ? V?hody a nev?hody ASP.NET
         ? Jak funguje ASP.NET?
         ? PostBack, ViewState, MVC, Razor
         ? Vyrovn¨¢vac¨ª pam¨§?, ke?ov¨¢n¨ª (cache), valid¨¢tory
         ? Konfigurace, nasazen¨ª v provozu
         ? HTTP moduly, HTTP handlery
         ? V?vojov¨¦ n¨¢stroje
         ? Internet, doporu?en¨¢ literatura
Ad

Recommended

TNPW2-2014-03
TNPW2-2014-03
Luk¨¢? Vacek
?
TNPW2-2016-03
TNPW2-2016-03
Luk¨¢? Vacek
?
TNPW2-2014-06
TNPW2-2014-06
Luk¨¢? Vacek
?
TNPW2-2016-02
TNPW2-2016-02
Luk¨¢? Vacek
?
TNPW2-2016-05
TNPW2-2016-05
Luk¨¢? Vacek
?
TNPW2-2016-06
TNPW2-2016-06
Luk¨¢? Vacek
?
TNPW2-2016-07
TNPW2-2016-07
Luk¨¢? Vacek
?
TNPW2-2016-04
TNPW2-2016-04
Luk¨¢? Vacek
?
TNPW2-2014-05
TNPW2-2014-05
Luk¨¢? Vacek
?
TNPW2-2016-01
TNPW2-2016-01
Luk¨¢? Vacek
?
TNPW2-2014-04
TNPW2-2014-04
Luk¨¢? Vacek
?
Rich Internet Applications 2009 (Czech)
Rich Internet Applications 2009 (Czech)
Pavel R??i?ka
?
Implementace cloudov?ch ?e?en¨ª hris
Implementace cloudov?ch ?e?en¨ª hris
Jaroslav Smarda
?
Webin¨¢?: Ochrana firemn¨ªho perimetru za pomoci firewall? nov¨¦ generace / 30.9/slideshow/tnpw2201305/14929615/...
Webin¨¢?: Ochrana firemn¨ªho perimetru za pomoci firewall? nov¨¦ generace / 30.9/slideshow/tnpw2201305/14929615/...
Jaroslav Prodelal
?
Smact a pr?mysl 4.0
Smact a pr?mysl 4.0
Jaroslav Smarda
?
Semin¨¢?e M-Files: Konec hled¨¢n¨ª ?e?en¨ª pro spr¨¢vu firemn¨ªch dat
Semin¨¢?e M-Files: Konec hled¨¢n¨ª ?e?en¨ª pro spr¨¢vu firemn¨ªch dat
Jaroslav Prodelal
?
Poskytov¨¢n¨ª aplikac¨ª z cloudu
Poskytov¨¢n¨ª aplikac¨ª z cloudu
Jaroslav Smarda
?
TNPW2-2011-01
TNPW2-2011-01
Luk¨¢? Vacek
?

More Related Content

What's hot (20)

TNPW2-2016-07
TNPW2-2016-07
Luk¨¢? Vacek
?
TNPW2-2016-04
TNPW2-2016-04
Luk¨¢? Vacek
?
TNPW2-2014-05
TNPW2-2014-05
Luk¨¢? Vacek
?
TNPW2-2016-01
TNPW2-2016-01
Luk¨¢? Vacek
?
TNPW2-2014-04
TNPW2-2014-04
Luk¨¢? Vacek
?
Rich Internet Applications 2009 (Czech)
Rich Internet Applications 2009 (Czech)
Pavel R??i?ka
?
Implementace cloudov?ch ?e?en¨ª hris
Implementace cloudov?ch ?e?en¨ª hris
Jaroslav Smarda
?
Webin¨¢?: Ochrana firemn¨ªho perimetru za pomoci firewall? nov¨¦ generace / 30.9/slideshow/tnpw2201305/14929615/...
Webin¨¢?: Ochrana firemn¨ªho perimetru za pomoci firewall? nov¨¦ generace / 30.9/slideshow/tnpw2201305/14929615/...
Jaroslav Prodelal
?
Smact a pr?mysl 4.0
Smact a pr?mysl 4.0
Jaroslav Smarda
?
Semin¨¢?e M-Files: Konec hled¨¢n¨ª ?e?en¨ª pro spr¨¢vu firemn¨ªch dat
Semin¨¢?e M-Files: Konec hled¨¢n¨ª ?e?en¨ª pro spr¨¢vu firemn¨ªch dat
Jaroslav Prodelal
?
Poskytov¨¢n¨ª aplikac¨ª z cloudu
Poskytov¨¢n¨ª aplikac¨ª z cloudu
Jaroslav Smarda
?
Rich Internet Applications 2009 (Czech)
Rich Internet Applications 2009 (Czech)
Pavel R??i?ka
?
Implementace cloudov?ch ?e?en¨ª hris
Implementace cloudov?ch ?e?en¨ª hris
Jaroslav Smarda
?
Webin¨¢?: Ochrana firemn¨ªho perimetru za pomoci firewall? nov¨¦ generace / 30.9/slideshow/tnpw2201305/14929615/...
Webin¨¢?: Ochrana firemn¨ªho perimetru za pomoci firewall? nov¨¦ generace / 30.9/slideshow/tnpw2201305/14929615/...
Jaroslav Prodelal
?
Semin¨¢?e M-Files: Konec hled¨¢n¨ª ?e?en¨ª pro spr¨¢vu firemn¨ªch dat
Semin¨¢?e M-Files: Konec hled¨¢n¨ª ?e?en¨ª pro spr¨¢vu firemn¨ªch dat
Jaroslav Prodelal
?
Poskytov¨¢n¨ª aplikac¨ª z cloudu
Poskytov¨¢n¨ª aplikac¨ª z cloudu
Jaroslav Smarda
?

Viewers also liked (20)

TNPW2-2011-01
TNPW2-2011-01
Luk¨¢? Vacek
?
Contratapa Presentacion
Mart¨ªn Rodriguez Kedikian
?
Á˽⼯Ⱥ
Á˽⼯Ⱥ
Feng Yu
?
Pl 046 2015 regulamenta dep¨®sitos de origem tribut¨¢ria ou n?o tribut¨¢ria
Claudio Figueiredo
?
Band2
Band2
smjk yuk choy,ipoh
?
MIE-CHIMAL-ALICIA
770602
?
Pacto Nacional do Ensino Medio Caderno4
jjamesmarques
?
Chistes graficos
emasanmu
?
Terrenos de 900 m2 en tenextepec atlixco puebla
Edilberto Mucino
?
Efecto invernadero
silvialajocornejo
?
Tema 9
marirubiales
?
Generacioooooooooooooooooooooooooooooooon
helene3
?
Hotel Tamiz
damian
?
Web 3.0pptx
web
?
Mitos mar
Mariana D¨ªaz de Le¨®n Avila
?
Simetrias axiales y composicion de movmientos1436
jfasasaf sdaffssf
?
Prot. 2448 15 pl 045-2015 - cria gratifica??es para os servidores no ?mbito/slideshow/tnpw2201305/14929615/...
Claudio Figueiredo
?
Res4
Nelson Chiriboga
?
La bibliotecologia en colombia
roavis
?
Contratapa Presentacion
Mart¨ªn Rodriguez Kedikian
?
Á˽⼯Ⱥ
Á˽⼯Ⱥ
Feng Yu
?
Pl 046 2015 regulamenta dep¨®sitos de origem tribut¨¢ria ou n?o tribut¨¢ria
Claudio Figueiredo
?
MIE-CHIMAL-ALICIA
770602
?
Pacto Nacional do Ensino Medio Caderno4
jjamesmarques
?
Chistes graficos
emasanmu
?
Terrenos de 900 m2 en tenextepec atlixco puebla
Edilberto Mucino
?
Efecto invernadero
silvialajocornejo
?
Generacioooooooooooooooooooooooooooooooon
helene3
?
Hotel Tamiz
damian
?
Web 3.0pptx
web
?
Simetrias axiales y composicion de movmientos1436
jfasasaf sdaffssf
?
Prot. 2448 15 pl 045-2015 - cria gratifica??es para os servidores no ?mbito/slideshow/tnpw2201305/14929615/...
Claudio Figueiredo
?
La bibliotecologia en colombia
roavis
?
Ad

Similar to TNPW2-2013-05 (20)

Moderni trendy ve_vyvoji_aplikaci
Moderni trendy ve_vyvoji_aplikaci
RENESTEIN
?
ASP.NET - Make Web not War
ASP.NET - Make Web not War
Ale? Roub¨ª?ek
?
ASP.NET MVC 3 and SQL Server interoperability overview [CZ]
ASP.NET MVC 3 and SQL Server interoperability overview [CZ]
V¨ªt¨§zslav ?imon
?
ASP.NET MVC
ASP.NET MVC
danielkolman
?
Webov¨¦ technologie
Webov¨¦ technologie
Michal ?ern?
?
V?voj¨¢?sk¨¦ N¨¢stroje a Techniky
V?voj¨¢?sk¨¦ N¨¢stroje a Techniky
Martin Maly
?
Vyvoj Windows Store aplikaci pomoci HTML, CSS a Javascriptu
Vyvoj Windows Store aplikaci pomoci HTML, CSS a Javascriptu
Jindra Parus
?
V?voj Windows Store aplikac¨ª pomoc¨ª HTML, CSS a Javascriptu
V?voj Windows Store aplikac¨ª pomoc¨ª HTML, CSS a Javascriptu
Jindra Parus
?
ASP.NET MVC a TDD
ASP.NET MVC a TDD
danielkolman
?
?tvrtkon #71 - Marian Ben?at - Angular a NativeScript
?tvrtkon #71 - Marian Ben?at - Angular a NativeScript
Ctvrtkoncz
?
New Focus - co d¨§l¨¢me
New Focus - co d¨§l¨¢me
Martin Humpolec
?
INPTP Rekapitulace
INPTP Rekapitulace
Jan H?¨ªdel
?
Library 2.0 / Knihovna 2.0
Library 2.0 / Knihovna 2.0
JanKanka
?
Softecon 2010
Softecon 2010
Liberix, o.p.s.
?
Moderni trendy ve_vyvoji_aplikaci
Moderni trendy ve_vyvoji_aplikaci
RENESTEIN
?
ASP.NET MVC 3 and SQL Server interoperability overview [CZ]
ASP.NET MVC 3 and SQL Server interoperability overview [CZ]
V¨ªt¨§zslav ?imon
?
Webov¨¦ technologie
Webov¨¦ technologie
Michal ?ern?
?
V?voj¨¢?sk¨¦ N¨¢stroje a Techniky
V?voj¨¢?sk¨¦ N¨¢stroje a Techniky
Martin Maly
?
Vyvoj Windows Store aplikaci pomoci HTML, CSS a Javascriptu
Vyvoj Windows Store aplikaci pomoci HTML, CSS a Javascriptu
Jindra Parus
?
V?voj Windows Store aplikac¨ª pomoc¨ª HTML, CSS a Javascriptu
V?voj Windows Store aplikac¨ª pomoc¨ª HTML, CSS a Javascriptu
Jindra Parus
?
?tvrtkon #71 - Marian Ben?at - Angular a NativeScript
?tvrtkon #71 - Marian Ben?at - Angular a NativeScript
Ctvrtkoncz
?
New Focus - co d¨§l¨¢me
New Focus - co d¨§l¨¢me
Martin Humpolec
?
Library 2.0 / Knihovna 2.0
Library 2.0 / Knihovna 2.0
JanKanka
?
Ad

More from Luk¨¢? Vacek (7)

TNPW2-2013-05

  • 1. TNPW2 2012/2013 05 ¨C Webov¨¦ aplikace v ASP.NET Mgr. Luk¨¢? Vacek lukas.vacek@uhk.cz
  • 2. 2 Agenda ? Co je ASP? ? Co je ASP.NET, .NET Framework, Mono? ? V?hody a nev?hody ASP.NET ? Jak funguje ASP.NET? ? PostBack, ViewState, MVC, Razor ? Vyrovn¨¢vac¨ª pam¨§?, ke?ov¨¢n¨ª (cache), valid¨¢tory ? Konfigurace, nasazen¨ª v provozu ? HTTP moduly, HTTP handlery ? V?vojov¨¦ n¨¢stroje ? Internet, doporu?en¨¢ literatura
  • 3. 3 Co je ASP? Vztah ASP a ASP.NET ? Technologie ASP (Active Server Pages) je ?p?edch?dcem¡° ASP.NET! ? ASP vytvo?ila fy Microsoft, roz?¨ª?ila se ve druh¨¦ polovin¨§ 90. let ? V t¨¦to dob¨§ byla ASP spolu s PHP pravd¨§podobn¨§ nejpou?¨ªvan¨§j?¨ª v?vojovou platformou pro webov¨¦ aplikace ? Programovac¨ª jazyky pro ASP: VB Script, JScript/slideshow/tnpw2201305/14929615/... ? ASP se nep?ekl¨¢d¨¢ (jedn¨¢ se o interpretovan¨¦ prost?ed¨ª)! ? Na ASP str¨¢nk¨¢ch je mo?n¨¦ vyu?¨ªvat COM komponenty >> m¨¢lo roz?¨ª?en¨¦ ? Nejv¨§t?¨ª probl¨¦my ASP: ? ?patn¨¢ udr?ovatelnost k¨®du, m¨ªch¨¢n¨ª jednotliv?ch aplika?n¨ªch vrstev, ? neexistence kvalitn¨ªho v?vojov¨¦ho prost?ed¨ª. ? Pozor: ASP nen¨ª ASP.NET!
  • 4. 4 Agenda ? Co je ASP? Vztah ASP a ASP.NET ? Co je ASP.NET, .NET Framework, Mono? ? V?hody a nev?hody ASP.NET ? Jak funguje ASP.NET? ? PostBack, ViewState, MVC, Razor ? Vyrovn¨¢vac¨ª pam¨§?, ke?ov¨¢n¨ª (cache), valid¨¢tory ? Konfigurace, nasazen¨ª v provozu ? HTTP moduly, HTTP handlery ? V?vojov¨¦ n¨¢stroje ? Internet, doporu?en¨¢ literatura
  • 5. 5 Historie ASP.NET ? 1997 ¨C po vyd¨¢n¨ª IIS 4.0 Mark Anders a Scott Guthrie navrhli nov? model pro webov¨¦ aplikace, kter? odd¨§luje strukturu od obsahu ? Scott Guthrie v Jav¨§ ? naprogramoval prototyp XSP ? N¨¢sleduj¨ªc¨ª beta verze byla p?ejmenovan¨¢ na ASP+, vyu?¨ªvala CLR a nov? jazyk C# ? 2000 ¨C p?edstaven¨ª ve?ejnosti jako ASP+, pozd¨§ji ASP.NET (.NET jako spole?n? brand) ? 2002 ¨C ASP.NET 1.0 jako sou?¨¢st nov¨¦ho .NET Frameworku 1.0 ? 2003 ¨C ASP.NET 1.1, MS Visual Studio 2003 ? Dolad¨§n¨ª z¨¢kladn¨ªch vlastnost¨ª ? 2005 ¨C ASP.NET 2.0, MS Visual Studio 2005 ? Master pages, webparts, themes, skins, navigace, membership, XHTML ? 2007 ¨C ASP.NET 3.5 se service packy se pou?¨ªv¨¢ dodnes, MS Visual Studio 2008 ? C# 3.0, VB9, pozd¨§ji AJAX, MVC, LINQ, Entity Framework apod. ? 2010 ¨C ASP.NET 4.0, MS Visual Studio 2010 ? 2012 ¨C ASP.NET 4.5, MS Visual Studio 2012¡­ Novinky v ASP.NET 4.5 (video) ? Podpora Windows 8, WinRT, Windows Store, asynchronn¨ª programov¨¢n¨ª apod. ? http://en.wikipedia.org/wiki/ASP.NET
  • 6. 6 ASP.NET a .NET Framework, z¨¢kladn¨ª pojmy ? .NET Framework fy Microsoft je nadstavba nad opera?n¨ªm syst¨¦mem ? ASP.NET je sou?¨¢st tohoto frameworku, v r¨¢mci kter¨¦ jsou vytv¨¢?eny, nasazov¨¢ny a provozov¨¢ny webov¨¦ aplikace a webov¨¦ slu?by (obvykle na IIS ¨C web server na Win OS) ? Aktu¨¢ln¨ª verze je ASP.NET 4.5 ? Z¨¢kladn¨ª funkcionalitu cel¨¦ho .NET Frameworku a spou?t¨§n¨ª ?¨ªzen¨¦ho (managed) k¨®du zaji??uje b¨§hov¨¦ prost?ed¨ª CLR (Common Language Runtime ¨C obdoba Java/JVM) ? .NET Framework umo?¨¾uje pou?¨ªvat r?zn¨¦ jazyky, nap?. C#, C++, VB.NET, Python a dal?¨ª, kter¨¦ spl¨¾uj¨ª p?edpoklady definovan¨¦ v CLS (Common Language Specification) ? V?stupem kompil¨¢toru je ?¨ªzen? k¨®d ¨C tzv. MSIL (Microsoft Intermediate Language) ? MSIL je p?ed sv?m spu?t¨§n¨ªm p?elo?en do strojov¨¦ho k¨®du za pomoc¨ª kompil¨¢toru ozna?ovan¨¦ho jako JITter (Just-in-time) ? .NET Framework obsahuje i jin¨¦ ?¨¢sti ne? jen ASP.NET, nap?. Windows Communication Foundation (WCF) nebo ADO.NET.
  • 7. 7 Architektura .NET, z¨¢kladn¨ª sch¨¦ma C# VB.NET ¡­ Common Language Specification (CLS) .NET aplikace (ASP.NET + WinForm) ADO.NET a XML Base Class Library (BCL) Common Language Runtime (CLR) Windows Windows Windows RT Linux* AZURE (cloud) Mobile Qualcomm, ARM (nov¨¦) ¨C Intel/AMD ¡­ ¡­ Samsung¡­ Nvidia, TI, Ql
  • 8. 8 Projekt Mono ? Projekt MONO je multiplatformn¨ª implementace .NET Frameworku, zalo?en¨¢ na standardech ECMA ? Aktu¨¢ln¨§ projekt za?ti?uje fy Novell ? Mono implementuje b¨§hov¨¦ prost?ed¨ª CLR a knihovnu z¨¢kladn¨ªch t?¨ªd BCL ? Umo?¨¾uje spou?t¨§n¨ª aplikac¨ª vytvo?en?ch pod .NET Frameworkem, kompatibilita nen¨ª ¨²pln¨§ 100% ? Mono podporuje nap?. Linux, Mac OSX, Solaris, Windows atd. ? POZOR! (Zat¨ªm) nem¨¢ plnou podporu ARM architektury (Windows RT)! http://www.mono-project.com/Main_Page P?edn¨¢?ka ? Tom¨¢? Pet?¨ª?ek, .NET a projekt MONO ¨C B¨§?¨ª .NET i na jin?ch opera?n¨ªch syst¨¦mech? ? http://www.avc-cvut.cz/avc.php?id=2788&language=cs_CZ
  • 9. 9 Agenda ? Co je ASP? Vztah ASP a ASP.NET ? Co je ASP.NET, .NET Framework, Mono? ? V?hody a nev?hody ASP.NET ? Jak funguje ASP.NET? ? PostBack, ViewState, MVC, Razor ? Vyrovn¨¢vac¨ª pam¨§?, ke?ov¨¢n¨ª (cache), valid¨¢tory ? Konfigurace, nasazen¨ª v provozu ? HTTP moduly, HTTP handlery ? V?vojov¨¦ n¨¢stroje ? Internet, doporu?en¨¢ literatura
  • 10. 10 V?hody ASP.NET ? Striktn¨§ objektov? p?¨ªstup ? ?¨ªzen? (managed) k¨®d, v?jimka je mo?n¨¢ v C++ ? Odd¨§len¨ª k¨®du od designu, v¨§t?¨ª p?ehlednost ? Kvalitn¨ª v?vojov¨¦ prost?ed¨ª (z¨¢kladn¨ª verze zdarma), podpora mnoha jazyk?. ? Snadn¨¢ implementace (nap?. webov¨¦ slu?by), konfigurace, testov¨¢n¨ª, deployment ? ?e?en¨ª ?ady obvykl?ch probl¨¦m? je p?¨ªmo sou?¨¢st¨ª ASP.NET (autentizace, valid¨¢tory, navigace, ?ablony), k dispozici je ?ada hotov?ch komponent ? Jasn¨¦ odd¨§len¨ª jednotliv?ch vrstev aplikace a jejich opakovan¨¢ pou?itelnost (web, desktop, kapesn¨ª po?¨ªta?e) ? Snadn¨¢ p?¨ªstupnost k dat?m (db, XML, web services, REST, JSON) ? Um¨ª ?e?it (obch¨¢zet) bez-stavovost HTTP/(X)HTML ? Prov¨¢d¨§n¨ª nativn¨ªho k¨®du (vy??¨ª v?kon!) ? Kvalitn¨ª dokumentace ? http://en.wikipedia.org/wiki/ASP.NET
  • 11. 11 Nev?hody ASP.NET ? Poch¨¢z¨ª od Microsoftu >> p?edsudky a odm¨ªt¨¢n¨ª ? ASP.NET se st¨¢le dynamicky rozv¨ªj¨ª (nov¨§ WinRT, asynchronn¨ª programov¨¢n¨ª¡­) ? V pou?iteln¨¦ podob¨§ je ASP.NET zat¨ªm dostupn¨¢ pouze pro OS Windows (obchodn¨ª politika, nedod¨§lan¨¦ Mono atd.) ? M¨¢ silnou vazbu na IIS ? V ?R je aktu¨¢ln¨§ m¨¢lo freehosting? s podporou ASP.NET (je to dra??¨ª a technologicky n¨¢ro?n¨§j?¨ª ne? LAMP = linux + apache + mysql + php) ? P?i nevhodn¨¦m pou?it¨ª Viewstate roste mno?stv¨ª p?en¨¢?en?ch dat ? U Web Forms nem¨¢ program¨¢tor nad ni??¨ªmi ¨²rovn¨§mi aplikace dobrou kontrolu, u MVC je to lep?¨ª ? ASP.NET je mocn? n¨¢stroj, ale jeho zvl¨¢dnut¨ª si vy?¨¢d¨¢ ?as (del?¨ª k?ivka u?en¨ª)
  • 12. 12 Agenda ? Co je ASP? Vztah ASP a ASP.NET ? Co je ASP.NET, .NET Framework, Mono? ? V?hody a nev?hody ASP.NET ? Jak funguje ASP.NET? ? PostBack, ViewState, MVC, Razor ? Vyrovn¨¢vac¨ª pam¨§?, ke?ov¨¢n¨ª (cache), valid¨¢tory ? Konfigurace, nasazen¨ª v provozu ? HTTP moduly, HTTP handlery ? V?vojov¨¦ n¨¢stroje ? Internet, doporu?en¨¢ literatura
  • 13. 13 Jak funguje ASP.NET? ? ASP.NET str¨¢nky pou?¨ªvaj¨ª p?¨ªponu *.aspx. (existuje cel¨¢ ?ada dal?¨ªch p?¨ªpon pro dal?¨ª vyu?it¨ª ¨C *.ascx, *.asmx, *.ashx, *.config, *.sitemap apod.) ? Prov¨¢d¨§n¨ª ASP.NET str¨¢nky v modelu Web Forms (vzor MVP) nen¨ª line¨¢rn¨ª (to je rozd¨ªl proti interpretovan?m technologi¨ªm)! ? V ka?d¨¦ f¨¢zi zpracov¨¢n¨ª je vyvol¨¢na a n¨¢sledn¨§ zpracov¨¢na n¨§jak¨¢ ud¨¢lost (Init, Load, UnLoad, Render apod.) ? K¨®d ?pov¨§?en?¡° na tyto ud¨¢losti m??e b?t ? Vyvol¨¢n p?i zpracov¨¢n¨ª nebo u?ivatelem, ? sou?¨¢st¨ª *.aspx, v separ¨¢tn¨ªm souboru, v DLL knihovn¨§ ? Krom¨§ b¨§?n¨¦ho (X)HTML k¨®du obsahuj¨ª str¨¢nky tzv. serverov¨¦ ovl¨¢dac¨ª prvky (Server Control, Web Forms), kter¨¦ ? Zapouzd?uj¨ª vizu¨¢ln¨ª elementy a zaji??uj¨ª tak interakci s u?ivatelem, ? generuj¨ª ud¨¢losti (zm¨§na hodnoty, stisknut¨ª tla?¨ªtka, ¡­ ), d¨¢le zpracov¨¢van¨¦ programov?m k¨®dem ? http://zdrojak.root.cz/clanky/prezentacni-vzory-zrodiny-mvc/
  • 14. 14 Odd¨§len¨ª vzhledu a k¨®du str¨¢nky (Web Forms) 1 soubor 2 soubory k¨®d <tagy> <tagy> k¨®d Form1.aspx Form1.aspx Form1.aspx.cs Form1.aspx.vb ? Vazba mezi ?ablonou a programov?m k¨®dem¡­ ? <%@Page CodeBehind=/slideshow/tnpw2201305/14929615/... pro VS.NET ? <%@Page Src=/slideshow/tnpw2201305/14929615/... pro samotn? framework
  • 15. 15 Agenda ? Co je ASP? Vztah ASP a ASP.NET ? Co je ASP.NET, .NET Framework, Mono? ? V?hody a nev?hody ASP.NET ? Jak funguje ASP.NET? ? PostBack, ViewState, MVC, Razor ? Vyrovn¨¢vac¨ª pam¨§?, ke?ov¨¢n¨ª (cache), valid¨¢tory ? Konfigurace, nasazen¨ª v provozu ? HTTP moduly, HTTP handlery ? V?vojov¨¦ n¨¢stroje ? Internet, doporu?en¨¢ literatura
  • 16. 16 Zpracov¨¢n¨ª ud¨¢lost¨ª (Postback) v ASP.NET web forms Prohl¨ª?e? Zpr¨¢va o Server ud¨¢losti Zpracov¨¢n¨ª zpr¨¢vy Ud¨¢lost Zavol¨¢n¨ª procedury pro obsluhu ud¨¢losti Obsluha ud¨¢losti Aktualizovan¨¢ str¨¢nka ? S ud¨¢lostmi je t?eba ?et?it, hlavn¨§ pokud se nejedn¨¢ o intranetovou aplikaci¡­ ? Zvy?uj¨ª z¨¢t¨§? serveru, ? Zpomaluj¨ª klienta.
  • 17. 17 Viewstate ? ViewState je kolekce reprezentuj¨ªc¨ª stav str¨¢nky a v?ech obsa?en?ch ovl¨¢dac¨ªch prvk? ? Spolu s technologii PostBack ?e?¨ª ViewState bez-stavovost HTTP/(X)HTML ? D¨ªky Viewstate si prvky mohou zachov¨¢vat sv?j stav nap?¨ª? jednotliv?mi requesty ? Do kolekce lze programov¨§ p?id¨¢vat prom¨§nn¨¦ (tady opatrn¨§!) ? Stav prvk? se neukl¨¢d¨¢ na serveru, ale je p?esouv¨¢n na klienta a zp¨§t coby skryt¨¦ pole formul¨¢?e ? Mo?nost volby pro ViewState: ? ON ¨C ¨²spora v?po?etn¨ªho ?asu, ale v¨ªce kB putuj¨ªc¨ªch mezi klientem a serverem. ? OFF ¨C nastaven¨ª hodnot, v?po?ty, na?¨ªt¨¢n¨ª dat z datab¨¢ze apod. prob¨ªh¨¢ p?i ka?d¨¦m PostBacku ? Pokud nen¨ª t?eba, zaka?te pou?it¨ª ViewState (pro jednotliv¨¦ ovl¨¢dac¨ª prvky, celou str¨¢nku nebo aplikaci), sn¨ª?¨ªte objem p?en¨¢?en?ch dat mezi klientem a serverem ? http://www.aspnet.cz/Articles/235-viewstate-k-cemu-je-a-jak-ho-spravne-pouzivat.aspx
  • 18. 18 ASP.NET MVC ? Z jin?ch technologi¨ª (nap?. Java Spring MVC) osv¨§d?en? Model ¨C View ¨C Controller m¨§n¨ª obvykl? zp?sob zpracov¨¢n¨ª str¨¢nky ve Web Forms ?¨ªzen? ud¨¢lostmi ? Pomoc¨ª routov¨¢n¨ª URL se rozhoduje, kter? controller bude konkr¨¦tn¨ª akci zpracov¨¢vat ? Striktn¨§ji odd¨§luje UI, aplika?n¨ª logiku a data, zlep?uje kontrolu nad odes¨ªlan?m (X)HTML k¨®dem, m¨¢ mo?nost p?izp?soben¨ª v?stupu r?zn?m klientsk?m platform¨¢m ? Lep?¨ª testovatelnost, mo?nost vyu?¨ªv¨¢n¨ª mock objekt? ? Nadstavba ASP.NET 3.5, mus¨ª se doinstalovat! Od verze 4.0 je MVC podporov¨¢n p?¨ªmo ? N¨§kdy trochu pracn¨¦, program¨¢tor si mus¨ª zvyknout, ur?it¨¦ riziko m¨ªch¨¢n¨ª k¨®du ? Vznikl na z¨¢klad¨§ popt¨¢vky v?voj¨¢??! ? Je podporov¨¢n fy Microsoft, bude koexistovat vedle obvykl¨¦ho Web Forms (MVP) ? http://www.asp.net/mvc/ ? http://en.wikipedia.org/wiki/ASP.NET_MVC_Framework ? http://www.augi.cz/programovani/aspnet-mvc-a-routing/
  • 19. 19 ASP.NET Razor ? Razor je tzv. view engine, schopn? pracovat v kombinaci s MVC nebo Web Forms ? Hod¨ª se pro jednodu??¨ª aplikace (quick&win v?voj, prototypy), lze jej pou?¨ªt samostatn¨§ ? Rychl¨¢ k?ivka u?en¨ª ? Razor + WebMatrix (v?vojov¨¦ prost?ed¨ª) + SQL Server Compact Edition 4.0 (datab¨¢ze) >> start pro ¨²pln¨¦ za?¨¢te?n¨ªky (aspo¨¾ podle p?edstav Microsoftu ?) ? V?hodou je mo?nost v?voje aplikac¨ª pro r?zn¨¦ platformy (web, desktop, mobily, xbox¡­) ? Je to trochu divo?ina, jako z¨¢kladn¨ª PHP ? ? Bere u? v ¨²vahu validaci u?ivatelsk?ch vstup? a parametrizovan¨¦ dotazy do datab¨¢ze ? http://zdrojak.root.cz/clanky/microsofti-lizatka-pro-zacatecniky-sance-pro-boj-s-php- nebo-krok-zpet/ ? http://zdrojak.root.cz/clanky/podrizne-razor-php/
  • 20. 20 Database first vs Model first vs Code first ? R?zn¨¦ p?¨ªstupy k rychl¨¦mu vytv¨¢?en¨ª (generov¨¢n¨ª) ?¨¢st¨ª aplikace ? Z¨¢le?¨ª na tom, odkud za?¨ªn¨¢te, mo?nosti¡­ ? Datab¨¢ze ? Datov? model ? Zdrojov? k¨®d ? Funkce ? Z¨¢kladn¨ª CRUD operace s daty, ? Z¨¢kladn¨ª validace/testy vstupn¨ªch dat (ASP.NET Model Validation) ? N¨§kter¨¦ DB frameworky um¨ª i verzov¨¢n¨ª zm¨§n (nap?. EF Code First Migrations) ? LINQ, Entity Framework, Dynamic Data
  • 21. 21 Agenda ? Co je ASP? Vztah ASP a ASP.NET ? Co je ASP.NET, .NET Framework, Mono? ? V?hody a nev?hody ASP.NET ? Jak funguje ASP.NET? ? PostBack, ViewState, MVC, Razor ? Vyrovn¨¢vac¨ª pam¨§?, ke?ov¨¢n¨ª (cache), valid¨¢tory ? Konfigurace, nasazen¨ª v provozu ? HTTP moduly, HTTP handlery ? V?vojov¨¦ n¨¢stroje ? Internet, doporu?en¨¢ literatura
  • 22. 22 Vyrovn¨¢vac¨ª pam¨§? (buffer), Cache Vyrovn¨¢vac¨ª pam¨§? (buffer) ? ASP.NET str¨¢nky maj¨ª implicitn¨§ zapnut¨¦ vyu?it¨ª vyrovn¨¢vac¨ª pam¨§ti (bufferu) p?i sestavov¨¢n¨ª v?stupu. ? Buffer lze vypnout pomoc¨ª p?¨ªkazu response.buffer = false Cache ? Pou?it¨ª ke?ov¨¢n¨ª (cache) je vhodn¨¦ p?i opakovan?ch po?adavc¨ªch na konkr¨¦tn¨ª str¨¢nku ? Cache je mo?n¨¦ nastavit pro ? celou str¨¢nku (podle parametr?, jazyka, prohl¨ª?e?e apod.), ? ?¨¢st str¨¢nky/komponenty (?et?¨ª ?as nutn? pro z¨ªsk¨¢n¨ª dat), ? roz?i?iteln? objekt Cache (Cache API) ¨C mo?nost ulo?en¨ª libovoln¨¦ho objektu. ? Flexibiln¨ª politiky pro expiraci, mo?nost invalidace cache p?i zm¨§n¨§ souboru apod.
  • 23. 23 Valid¨¢tory, implicitn¨ª validace ? Ov¨§?en¨ª syntaxe zadan?ch dat ? na stran¨§ klienta (rychlost, pohodl¨ª), ? na stran¨§ serveru (bezpe?nost). ? R?zn¨¦ mo?nosti zobrazen¨ª chyby ? Valid¨¢tory je mo?n¨¦ dle pot?eby sdru?ovat do skupin ? R?zn¨¦ typy validace ? RequiredFieldValidator, ? CompareValidator, ? RangeValidator, ? RegularExpressionValidator, ? CustomValidator. ? V ASP.NET je mo?n¨¦ automaticky zkontrolovat vstupn¨ª data od u?ivatele (od verze 1.1 implicitn¨§ povoleno) p?ed jejich zpracov¨¢n¨ªm <%@ Page validateRequest="true" language="c#" /slideshow/tnpw2201305/14929615/...
  • 24. 24 Agenda ? Co je ASP? Vztah ASP a ASP.NET ? Co je ASP.NET, .NET Framework, Mono? ? V?hody a nev?hody ASP.NET ? Jak funguje ASP.NET? ? PostBack, ViewState, MVC, Razor ? Vyrovn¨¢vac¨ª pam¨§?, ke?ov¨¢n¨ª (cache), valid¨¢tory ? Konfigurace, nasazen¨ª v provozu ? HTTP moduly, HTTP handlery ? V?vojov¨¦ n¨¢stroje ? Internet, doporu?en¨¢ literatura
  • 25. 25 Konfigurace ASP.NET aplikac¨ª ? Je ulo?ena ve form¨¢tu XML do souboru web.config v adres¨¢?i v *.aspx str¨¢nkami ? Obsahuje v?echna nastaven¨ª ASP.NET (autentizace, kompilace, trasov¨¢n¨ª, lad¨§n¨ª, chybov¨¦ str¨¢nky, moduly, handlery, ¡­) ? Jak¨¦koliv u?ivatelsk¨¦ nastaven¨ª je mo?n¨¦ definovat v sekci <appSettings>, kter¨¢ je roz?i?iteln¨¢ >> je mo?n¨¦ p?id¨¢vat vlastn¨ª sekce dat ? M??ete vyu?¨ªt v¨ªce web.config soubor? v jedn¨¦ aplikaci, podle adres¨¢?ov¨¦ struktury (1 adres¨¢? = 1 web.config) ? V souboru machine.config (v adres¨¢?i s instalovan?m frameworkem) jsou nastaveny parametry pro cel? web server (rad¨§ji tam nelezte!)
  • 26. 26 Nasazen¨ª ASP.NET aplikace do provozu ? Sta?¨ª zkop¨ªrovat na ur?en¨¦ m¨ªsto ? Odpad¨¢ nutnost registrace komponent, ? Odpad¨¢ nutnost restartu slu?eb/serveru. ? Podpora pro v?echny sou?¨¢sti ? Web str¨¢nky, web slu?by, ? Zkompilovan¨¦ komponenty (DLL), ? Konfigura?n¨ª soubory. ? Aktualizace aplikac¨ª je mo?n¨¢ za provozu ? Nakop¨ªrujte nov¨¦ DLL na m¨ªsto p?vodn¨ªho, ? Aplikace pou?ij¨ª nov¨¦ DLL po?¨ªnaje p?¨ª?t¨ªm klientsk?m po?adavkem. ? Pozor na nastaven¨ª parametr?, nap?. debug, trace ¨C na produkci nepovolovat! ? V?dy logujte provoz aplikace! Nap?. pomoc¨ª Log4Net.
  • 27. 27 Agenda ? Co je ASP? Vztah ASP a ASP.NET ? Co je ASP.NET, .NET Framework, Mono? ? V?hody a nev?hody ASP.NET ? Jak funguje ASP.NET? ? PostBack, ViewState, MVC, Razor ? Vyrovn¨¢vac¨ª pam¨§?, ke?ov¨¢n¨ª (cache), valid¨¢tory ? Konfigurace, nasazen¨ª v provozu ? HTTP moduly, HTTP handlery ? V?vojov¨¦ n¨¢stroje ? Internet, doporu?en¨¢ literatura
  • 28. 28 HTTP moduly, HTTP handlery ? Krom¨§ klasick?ch *.aspx str¨¢nek je mo?n¨¦ ps¨¢t webov¨¦ aplikace na ni??¨ª ¨²rovni (moduly a handlery) a s jejich pomoc¨ª vy?izovat n¨§kter¨¦ po?adavky na serveru ? N¨§kter¨¦ HTTP moduly, nap?. ? Output Cache, ? Na?¨ªt¨¢n¨ª a ukl¨¢d¨¢n¨ª Session stavu, ? Autentizace, ? Autorizace. ? HTTP moduly je mo?n¨¦ skl¨¢dat na sebe, mohou roz?¨ª?it nebo p?epsat prakticky v?echny ?innosti, kter¨¦ p?i b¨§hu .NET aplikace nast¨¢vaj¨ª ? HTTP handler je v?dy na konci, prov¨¢d¨ª vlastn¨ª zpracov¨¢n¨ª (nap?. *.aspx soubor?, na?¨ªt¨¢n¨ª obr¨¢zk? z datab¨¢ze apod.) po?adavku
  • 29. 29 Zpracov¨¢n¨ª po?adavku v ASP.NET Web server (IIS, ¡­) ASP.NET runtime Global.asax Aplikace HTTP modul HTTP modul HTTP handler HTTP handler HTTP handler (Web services) (Web form)
  • 30. 30 Agenda ? Co je ASP? Vztah ASP a ASP.NET ? Co je ASP.NET, .NET Framework, Mono? ? V?hody a nev?hody ASP.NET ? Jak funguje ASP.NET? ? PostBack, ViewState, MVC, Razor ? Vyrovn¨¢vac¨ª pam¨§?, ke?ov¨¢n¨ª (cache), valid¨¢tory ? Konfigurace, nasazen¨ª v provozu ? HTTP moduly, HTTP handlery ? V?vojov¨¦ n¨¢stroje ? Internet, doporu?en¨¢ literatura
  • 31. 31 V?vojov¨¦ n¨¢stroje pro ASP.NET ? Visual Studio .NET 2012 ? Nov¨¦ ASP.NET 4.5 (nap?. Windows 8, Windows Mobile, Windows RT, asynchronn¨ª prog.) ? Komplexn¨ª n¨¢stroj v r?zn?ch verz¨ªch, ur?en? pro v?voj, testov¨¢n¨ª a ?¨ªzen¨ª cel?ch projekt? ? Z¨¢kladn¨ª Express n¨¢stroje jsou zdarma na adrese¡­ ? http://www.microsoft.com/visualstudio/cze/products/visual-studio-express-products ? Existuje i ?express verze¡° MS SQL datab¨¢ze ¨C vhodn¨¦ pro men?¨ª projekty ? Microsoft WebMatrix¡­ http://www.asp.net/web-pages ? Jednoduch? n¨¢stroj pro tvorbu web? ? Optimalizovan? pro Razor ? Ostatn¨ª http://monodevelop.com/ (MonoDevelop) http://www.icsharpcode.net/OpenSource/SD/ (SharpDevelop)
  • 32. 32 Team Foundation Server ? Microsoft Visual Studio Team Foundation Server 2010 (verze 2012 zat¨ªm nen¨ª) ? N¨¢stroj pro t?movou spolupr¨¢ci a komplexn¨ª spr¨¢vu cel¨¦ho ?ivotn¨ªho cyklu aplikace ? Pl¨¢nov¨¢n¨ª, ¨²koly, n¨¢vrh, implementace, verzov¨¢n¨ª zdrojov?ch k¨®d?, r?zn¨¦ druhy test? (unit, funk?n¨ª, z¨¢t¨§?ov¨¦¡­), podpora metodik, reportingy¡­ ? Integrace s Visual Studiem, MS Project, MS Sharepoint¡­ ? Pro v¨§t?¨ª projekty nebo t?my v?voj¨¢?? nezbytnost! ? http://www.microsoft.com/business/smb/cs-cz/servery-a-nastroje/visual-studio.mspx ? http://www.youtube.com/watch?v=o75ZeH46SRU ? http://www.mstv.cz/ n¨§kolik ?esk?ch video podcast? na t¨¦ma MS TFS a testov¨¢n¨ª
  • 33. 33 Microsoft Sharepoint ? Webov¨¢ aplika?n¨ª platforma pro spolupr¨¢ci v r¨¢mci organizace ? Aktu¨¢ln¨ª verze Microsoft Sharepoint 2010, r?zn¨¦ licence (verze Foundation je zdarma) ? Sd¨ªlen¨ª dokument?, informac¨ª a znalost¨ª, integrace s Office, emailem a dal?¨ªmi n¨¢stroji ? Podpora pl¨¢nov¨¢n¨ª (kalend¨¢?e, ¨²koly), rozhodovac¨ªch proces? (workflow), vyhled¨¢v¨¢n¨ª ? Lze vybudovat v podstat¨§ libovoln? typ aplikace (port¨¢l, blog, wiki) v prost?ed¨ª Internetu/Intranetu pomoc¨ª vestav¨§n?ch n¨¢stroj? ? Co nejde ?naklikat¡° p?¨ªmo, lze naprogramovat pomoc¨ª tzv. web parts (.NET komponenty) ? V Sharepointu je ?v?echno¡° seznam nebo knihovna ? ? Spolupracuj¨ªc¨ª aplikace: Office, SP Designer, InfoPath, Visual Studio, TFS¡­ ? http://sharepoint.microsoft.com/cs-cz/Pages/default.aspx
  • 34. 34 Agenda ? Co je ASP? Vztah ASP a ASP.NET ? Co je ASP.NET, .NET Framework, Mono? ? V?hody a nev?hody ASP.NET ? Jak funguje ASP.NET? ? PostBack, ViewState, MVC, Razor ? Vyrovn¨¢vac¨ª pam¨§?, ke?ov¨¢n¨ª (cache), valid¨¢tory ? Konfigurace, nasazen¨ª v provozu ? HTTP moduly, HTTP handlery ? V?vojov¨¦ n¨¢stroje ? Internet, doporu?en¨¢ literatura
  • 35. 35 Odkazy na Internetu ? http://www.asp.net/Default.aspx (Ofici¨¢ln¨ª web pro ASP.NET) ? http://msdn.microsoft.com/en-us/library/dd566231.aspx (ASP.NET web development) ? http://www.codeproject.com/ (p?¨ªklady, zdrojov¨¦ k¨®dy) ? http://msdn2.microsoft.com/en-us/default.aspx (MSDN) ? http://en.wikipedia.org/wiki/ASP.NET ? http://quickstarts.asp.net/previews/ (MVC a spol.) ? http://blogs.msdn.com/vyvojari/archive/2009/10/04/zrychlete-v-voj-web-aplikac-s-toolkity.aspx
  • 36. 36 Doporu?en¨¢ literatura ? P¨ªsek, Slavoj ¨C ASP.NET za?¨ªn¨¢me programovat, Grada 2003 ? MacDonald, Matthew; Szpuszta, Mario ¨C ASP.NET 3.5 a C# 2008, Zoner Press 2008 ? Watson, Ben ¨C C# 4.0 ¨C ?e?en¨ª praktick?ch program¨¢torsk?ch ¨²loh, Zoner Press 2010 ? Esposito, Dino ¨C Programming Microsoft ASP.NET MVC, Microsoft Press 2010 ? Pasch, Ond?ej ¨C Microsoft Sharepoint 2010, Praktick? pr?vodce u?ivatele, CPress 2011 ? Curry, Ben ¨C Microsoft Sharepoint 2010, Kapesn¨ª r¨¢dce administr¨¢tora, CPress 2011
  • 37. 37 Souhrn ? Co je ASP? Vztah ASP a ASP.NET ? Co je ASP.NET, .NET Framework, Mono? ? V?hody a nev?hody ASP.NET ? Jak funguje ASP.NET? ? PostBack, ViewState, MVC, Razor ? Vyrovn¨¢vac¨ª pam¨§?, ke?ov¨¢n¨ª (cache), valid¨¢tory ? Konfigurace, nasazen¨ª v provozu ? HTTP moduly, HTTP handlery ? V?vojov¨¦ n¨¢stroje ? Internet, doporu?en¨¢ literatura