1. Tworzenie aplikacji Web przy użyciu Visual Studio 2005 i ASP.NET 2.0 Krzysztof Gawęda Tomasz Cieplak Developers Days 2005
2. Agenda ASP.NET 2.0 - Co chciano osiągnąć? ASP.NET 2.0 - Co mamy? Nowości w ASP.NET 2.0
3. Agenda ASP.NET 2.0 - Co chciano osiągnąć? ASP.NET 2.0 - Co mamy? Nowości w ASP.NET 2.0
4. ASP.NET 2.0 - Co chciano osiągnąć? Wzrost produktywności programisty Uproszczenie konserwacji i administracji rozwiązań Wzrost wydajności i skalowalności Uproszczenie sposobu tworzenia rozwiązań mobilnych
5. Agenda ASP.NET 2.0 - Co chciano osiągnąć? ASP.NET 2.0 - Co mamy? Nowości w ASP.NET 2.0
6. Agenda ASP.NET 2.0 - Co chciano osiągnąć? ASP.NET 2.0 - Co mamy? Nowości w ASP.NET 2.0
7. Członkostwo Zarządzanie rolami Personalizacja Nawigacja Buforowanie danych Konserwacja Developer Stack Serwisy aplikacji dostępne w ASP.NET 2.0
8. Developer Stack Członkostwo Windows SQL Server Custom Zarządzanie rolami Personalizacja Nawigacja Buforowanie danych Konserwacja Provider Model Design Pattern Access MDB Providers Serwisy aplikacji dostępne w ASP.NET 2.0 BETA 2
9. Developer Stack Serwisy aplikacji dostępne w ASP.NET 2.0 Członkostwo Zarządzanie rolami Personalizacja Nawigacja Buforowanie danych Konserwacja
10. Developer Stack Serwisy aplikacji dostępne w ASP.NET 2.0 Członkostwo Zarządzanie rolami Personalizacja Nawigacja Buforowanie danych Konserwacja Cechy ASP.NET 2.0 “Page Framework” Master Pages Tematy Interfejs użytkownika Lokalizacja
11. Developer Stack Cechy ASP.NET 2.0 “Page Framework” Master Pages Tematy Interfejs użytkownika Lokalizacja Serwisy aplikacji dostępne w ASP.NET 2.0 Członkostwo Zarządzanie rolami Personalizacja Nawigacja Buforowanie danych Konserwacja ASP.NET 2.0 “ Bukiecik Kontrolek ” (50+) Bezpieczeń- stwo Web Parts Dane Nawigacja
12. Co mamy? - Wzrost produktywności programisty Zmniejszenie ilości wprowadzanego kodu – w niektórych przypadkach o 2/3 Kod HTML wprowadzony przez programistę nie jest w żaden sposób modyfikowany przez środowisko Ułatwienie sposobu wyświetlania danych: np. kontrolki GridView, DetailsView Deklaratywne „przybijanie danych”
13. Co mamy? - Wzrost produktywności programisty Nie jest już konieczne FPSE do tworzenia rozwiązań. Projekt dostępny jako: System plików Lokalizacja FTP Nie jest już wymagany IIS na maszynie deweloperskiej
14. Co mamy? - Uproszczenie konserwacji i administracji Nowa wtyczka do MMC ułatwiająca zarządzanie aplikacją internetową – zapomnij o wprowadzaniu zmian do plików machine.config lub web.config Nowe narzędzie konfiguracyjne Web Administration Tool Możliwość szyfrowania elementów plików konfiguracyjnych
15. Co mamy? - Wzrost wydajności i skalowalności To co lubimy najbardziej – czyli cash (cache) – w połączeniu z MS SQL Server 2005 – SQL cache invalidation Wsparcie dla platformy 64-bit Kompatybilność z ASP.NET 1.0 i 1.1 <%@ outputcache duration = "3600” varybyparam = "ProdID” sqldependency = "MyDatabase:Products” %>* * atrybut sqldependency musi wskazywać na źródło danych skonfigurowane w pliku web.config
16. Co mamy? - Dynamiczne generowanie grafiki Przetwarzanie jednego formatu graficznego w inny, rozpoznawany przez urządzenie Kontrolka DynamicImage stosuje serwis Image Generation Service, dostępny przez .axd uchwyt HTTP Ładne?
17. Langusta To skorupiak wielkością dorównujący homarowi, ale pozbawiony szczypiec. Jadalne mięso znajduje się w odwłoku. Jest ono białe, delikatne i bardzo smaczne. Langustę przyrządza się podobnie jak homara. Homary i langusty podaje się przecięte na pół wzdłuż korpusu.
18. Co mamy? - Uproszczenie sposobu tworzenia rozwiązań mobilnych Plany są. Widzieliśmy je w ASP.NET 2.0 beta 1: Dynamiczne generowanie grafiki Brak odrębnych kontrolek mobilnych Nowe kontrolki PhoneCall i ContentPager W beta 2 znajdziemy… „zwrot w tył” RTM i sprawa mobilna? – kto to wie?
19. Agenda ASP.NET 2.0 - Co chciano osiągnąć? ASP.NET 2.0 - Co mamy? Nowości w ASP.NET 2.0
20. Agenda ASP.NET 2.0 - Co chciano osiągnąć? ASP.NET 2.0 - Co mamy? Nowości w ASP.NET 2.0
21. Nowości w ASP.NET 2.0 Atrybuty strony Zdarzenia Zarządzanie rolami i członkostwem Cross-page Posting Dostęp do danych Master Pages
22. Nowości w ASP.NET 2.0 c.d. Tematy, personalizacja Nawigacja Nowy system kompilacji Web Parts Kontrolki serwerowe Środowisko programistyczne
23. Nowości - atrybuty strony EnablePersonalization LinePragmas Master PersonalizationProvider Theme
24. Nowości – Architektura – cykl życia strony Constructor Construct TestDeviceFilter AddParsedSubObject DeterminePostBackMode OnPreInit LoadPersonalizationData InitializeThemes OnInit ApplyControlSkin ApplyPersonalization OnInitComplete LoadPageStateFromPersistenceMedium(PB) LoadControlState (PB) LoadViewState (PB) ProcessPostData1 OnPreLoad OnLoad ProcessPostData2 (PB) RaiseChangedEvents (PB) RaisePostBackEvent (PB) OnLoadComplete OnPreRender OnPreRenderComplete SavePersonalizationData SaveControlState SaveViewState SavePageStateToPersistenceMedium Render OnUnload AbortTransaction CommitTransaction PB = Post Back
25. Nowości – członkostwo, kontrola logowania Członkostwo pozwala na uproszczenie zadań związanych z bezpieczeństwem: CreateUser DeleteUser Kontrolki serwerowe pozwalają na obsługę następujących zdarzeń: login loginview passwordrecovery
26. Nowości - „Cross-page Posting” Reguła w ASP.NET 1.x – formularz może przesłać dane „z powrotem” tylko do strony, która stworzyła formularz ASP.NET 2.0 pozwala na to aby formularz z jednej strony przesyłał dane do innej strony
29. Nowości - „ Master Pages ” Umożliwia stworzenie projektu „strony bazowej” Plik .master zawiera szablon wykorzystywany przez wszystkie strony aplikacji Inne strony zawierają się jako kontrolki w stronie „Master Page” VS.NET 2005 umożliwia projektowanie „strony bazowej”
30. Nowości - Tematy Umożliwia na ustawienie domyślnych właściwości dla kontrolek serwerowych Pliki (.skin) tematów umieszczane są w katalogu Themes Strona posiada właściwość Theme Właściwość Theme może być zmieniana w kodzie
31. Kontrolki nawigacyjne Zastosowanie dostawcy Domyślnie dostawca ładuje plik o nazwie web.sitemap Dostawca może być stosowany do wypełnienia kontrolek Menu i Navigation <siteMap> <siteMapNode title="Home" url="default.aspx"> <siteMapNode title="Tab1" url="subdir/default.aspx"> <siteMapNode title="SubPage" url="subdir/foo.aspx" /> </siteMapNode> <siteMapNode title="Tab2" url="Tab/default.aspx"> <siteMapNode title="SubPage" url="Tab/foo.aspx“/> </siteMapNode> </siteMapNode> </siteMap>
32. Web Parts Pozwala na edycje układu elementów strony ( a la SharePoint ) Zastosowanie ContentWebPart, User Control lub Custom Controls WebPartManager decyduje w jaki sposób Web Parts mogą być przemieszczane na stronie
33. Nowości - Model kompilacji Nowa struktura katalogów aplikacji App_Browsers App_Code App_Data App_GlobalResource App_LocalResources App_Themes App_WebReferences Bin
34. Nowości - Model kompilacji strony Wykorzystywana koncepcja z CLR 2.0 „partial code” i „code-behind” kompilacji do jednego pliku Pliki .aspx oraz plik „code-behind” mogą być kompilowane do jednej prekompilowanej klasy (bazowa klasa strony) Stary model (ASP.NET 1.x) kompilacji wciąż wspierany
35. Nowości - Model kompilacji aplikacji Cała aplikacja może być prekompilowana aspnet_compiler –v /WebApp c:\web\WebApp lub w przeglądarce url + /precompile.axd
37. Podsumowanie Nowe cechy ułatwiające wykonywanie powtarzających się zadań programistycznych (SmartTasks) Nowy model pozwalający na skalowalność rozwiązań Nowy model kompilacji stron i aplikacji Nowe cechy środowiska programistycznego pozwalające na łatwiejsze tworzenie aplikacji internetowych (IntelliSense w plikach .aspx) BETA
38. Ciekawostki Lista serwerów hostujących ASP.NET 2.0 beta 2 http://msdn.microsoft.com/asp.net/beta2/hosters/ Lista zmian wprowadzonych w ASP.NET 2.0 beta 2 http://msdn.microsoft.com/asp.net/beta2/beta2changes.aspx http://msdn.microsoft.com/asp.net/beta2/beta2update.aspx Interfejs użytkownika http://msdn.microsoft.com/asp.net/beta2/ui/default.aspx Dostęp do danych http://msdn.microsoft.com/asp.net/beta2/data/default.aspx Infrastruktura http://msdn.microsoft.com/asp.net/beta2/infrastructure/default.aspx Migracja http://msdn.microsoft.com/asp.net/beta2/migrating/default.aspx Bezpieczeństwo http://msdn.microsoft.com/asp.net/beta2/security/default.aspx
39. Dziękujemy za uwagę! „ Dzisiaj nigdzie nie idziemy!” Tomasz Cieplak [email_address] Krzysztof Gawęda [email_address]