Moderni trendy ve_vyvoji_aplikaci

11,508 views
11,434 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
11,508
On SlideShare
0
From Embeds
0
Number of Embeds
8,643
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Moderni trendy ve_vyvoji_aplikaci

  1. 1. Moderní trendy ve Vývoji aplikací<br />René Stein<br />Senior Software Architect<br />
  2. 2. Agenda<br />Proměny aplikací psaných pro .Net Framework<br />Silverlight – (mini) .Net platforma v prohlížeči (versus webové aplikace)<br />WPF (versus Windows Forms)<br />ASP.NET MVC (versus ASP.NET WebForms)<br />Mobilní klienti (Compact .Net Framework X Windows Phone 7 (Series))<br />Řešení workflow – WorkflowFoundation nebo vlastní řešení? <br />
  3. 3. Proměny aplikací psaných pro .Net Framework - všehoChuť<br />„Tencí“ klienti versus „tlustí“ klienti – stírání rozdílů mezi oběma typy klientů (ClickOnce, Silverlight…)<br />Vždy online versus občas „offline“klienti aplikací (mobilní připojení).<br />Nové typy zařízení – mobilní telefony (smartphony), tablety.<br />Uživatelské rozhraní (animace, „zoomování“, …)<br />
  4. 4. Proměny aplikací psaných pro .Net Framework - všehoChuť II<br />Distribuované aplikace versus aplikace připojující se přímo do databáze.<br />Generické mappery místo přímého použití ADO.NET – Entity Framework, Nhibernate.<br />Napojení aplikací na sociální sítě (Twitter, FB, Posterous).<br />Lokalizace polohy<br />Integrace s webovými službami (Na MS platformě s “Live”službami – SKYDRIVE, MESH) => platforma AZURE (povyk kolem CLOUDComputingu)<br />
  5. 5. Proměny aplikací psaných pro .Net Framework – změny z pohledu .Net vývojáře<br />Snadná(?) paralelizace zpracování úloh (využití počítače s více jádry/procesory)<br />Určitě se budeme zabývat<br />C# 3.0 (LINQ, Lambda výrazy, extenzní metody, anonymní datové typy …)<br />C# 4.0 - dynamic (.NET 4 - Linq2Parallel, Linq2RX)<br />Testy (chováním) řízený vývoj (lahůdka – Mock/Stub objekty a lambda výrazy v C# 3.0)<br />Aspektově orientované programování (AOP) – ContextBoundObject, Castle – Dynamic Proxy<br />
  6. 6. SilverligHT (verze 4)<br />Plugin (nejen) v prohlížeči pro spouštění aplikací (IE 6, 7, 8, Firefox2, 3, Safari, Google Chrome). Projekt Moonlight pro Linux.<br />Mini .Net běhové prostředí (GC etc.)<br />Alternativa k webové aplikaci („aplikace se nesmí instalovat“). Snadná instalace pluginu.<br />Menší a binárně kompatibilní „bratranec“ WPF – stejné postupy pro vývoj (ale SL není podmnožinou WPF, má své unikátní vlastnosti…)<br />
  7. 7. Silverlight - XAML<br />Návrh uživatelského rozhraní v jazyce XAML (dialekt XML s mnoha rozšířeními pro snazší definici UI)<br />Názory na XAML se liší – někdo jej miluje, někdo křičí, že je vhodný jen na automatizované - strojové zpracování. <br />Vizuální designer ve Visual studiu 2010<br />Ukázka XAMLU:<br />
  8. 8. Silverlight – vlastnosti, které si zamilujete I<br />Konečně použitelný „binding“ dat na uživatelské rozhraní.<br /><ImageSource="{BindingCurrentImage, Mode=OneWay}"Stretch="Uniform"></Image><br />Podpora pro rychlý návrh složitého layoutu formuláře (viz Visual Studio 2010)<br />Jednoduchá změna výchozího vzhledu prvků (srovnejme s martýriem metody OnPaint ve Windows Forms)<br />
  9. 9. Silverlight – vlastnosti, které si zamilujete II<br />Aplikace může být aktivována i mimo prohlížeč (OutOfBrowser režim). Podpora“elevace“ práv. Možnost volat COM komponenty.<br />Styly (znáte CSS?) a podpora skinů. Implicitní (výchozí) témata prvků.<br />Bezbolestné (i pro vývojáře) animace.<br />Silverlight+ WCF RIA Services –vícevrstvé distribuované aplikace<br />Podpora pro dotykové displeje<br />Podpora tisku<br />
  10. 10. Silverlight – vlastnosti, které si zamilujete III<br />Oboustranná komunikace s HTML (ASP.NET stránkou)<br />(Asynchronní) volání webových služeb<br />Bohatá knihovna ovládacích prvků<br />Controltoolkit od Microsoftu<br />Komerční knihovny dalších dodavatelů (DevXpress)<br />PRISM a Silverlight - silná dvojka<br />Silverlight a MEF - další nerozlučná dvojice<br />
  11. 11. SilverlIght - nevýhody<br />Mladá platforma a Microsoft rád uvádí nové technologie a ještě raději je po (krátkém) čase „zařízne“.<br />Občas podivné chyby, o kterých se na rozjásaných prezentacích nemluví. Rychlý vývoj Silverlightu.<br />Složitější návrh UI raději v BLENDu – ne ve Visual Studiu (dle Microsoftu)<br />Designer občas vyhodí chybu „E_FAIL“ a vývojáři říká „hledej příčinu sám“<br />
  12. 12. SilverlIght – nevýhody II<br />Jedná se o .Net mini runtime. Nelze očekávat, že budete mít k dispozici všechny třídy z „velkého“ .Net Frameworku.<br />Instalace Silverlight runtimu – nestačí jen prohlížeč jako u webové aplikace.<br />Na aplikací s přímým připojením do databáze zapomeňte.<br />Chvíli trvá, než si na XAML a na návrh aplikací v Silverlightu zvyknete.<br />
  13. 13. WPF<br />Většina věcí o Silverlightu platí i pro WPF<br />Náhrada Windows Forms (dnes má WPF i datagrid) <br />Ve WPF máte k dispozici celý .Net Framework (!!Client profile – 28 MB!!)<br />WPF je v některých rysech vyspělejší (DynamicResource)<br />Hlavní výhrada vůči WPF –nečitelné fonty - dnes neplatí (viz Visual Studio 2010 ). Nový textstack.<br />
  14. 14. WPF – co vás nadchne<br />Oboustranná integrace Windows Forms-WPF<br />Možnost napsat aplikaci přímo přistupující do databáze.<br />Podpora pro ribbon<br />Integrace s taskbarem ve Windows 7 ve WPF 4.0<br />Lepší designer ve VS 2010 (alespoň částečná náhrada za Windows Formsdesigner)<br />XBAP (XAML Browser Application) v prohlížeči<br />
  15. 15. WPF nevýhody<br />Stejně jako u SL – zpočátku strmá učební křivka a postupné zvykání na nové „móresy“ ve WPF.<br />Komerční ovládací prvky pro WPF jsou, ale řekl bych, že Windows Forms jsou prozatím podporovány více.<br />WPF nepoběží na WIN 2000<br />
  16. 16. ASP.NET MVC<br />Alternativa (ne náhrada!) ASP.NET Web Forms<br />Návrhový vzor Model-View-Controller<br />Pro lidi, co nesnáší ASP.NET postback, životní cyklus stránky, ViewState<br />„Ruční“ řazení (MVC) versus „automat“ (Web Forms)<br />Některé vlastnosti ASP.NET MVC zpětně portovány do Web Forms.<br />
  17. 17. MVC -zpracování požadavku I<br />Controller<br />Model<br />
  18. 18. MVC -zpracování požadavku II<br />Controller<br />View<br />
  19. 19. MVC Flow<br />Controller<br />View<br />
  20. 20. MVC Flow<br />Controller<br />View<br />Response<br />
  21. 21. Srovnání ASP.Net MVC a ASP.NetWeBForms<br />
  22. 22. KDY Použít <dosaĎte technologii><br />Kdypoužít Silverlight?<br />Kdy je nejvhodnější ASP.NET Web Forms?<br />Má smysl zabývat se ASP.NET MVC?<br />Role a postavení WPF v .Net světě<br />
  23. 23. .NET Compact Framework<br />„Ořezaný“ .NET Framework<br />Speciální jmenné prostory pouze pro compact edici (IrDa)<br />Vývoj ve Visual studiu (2008) – ve VS 2010 ne <br />Pro mobilní zařízení neexistuje „Express“ edice<br />Rychlý vývoj „business“ aplikací<br />Přechod na Compact .Net Framework z velkého .Net Frameworku se zdá být snadný. Staré známé Windows Forms.<br />VětšinouCompact .Net Framework pouze „obaluje“ nativní kód.<br />Zlé jazyky říkají, že i pro verzi 3.5 platí: „Tenký obal nad výjimkou NotSupportedException“. <br />
  24. 24. Ovládací prvky<br />Windows Mobile<br />Standard<br />
  25. 25. nevýhoda - Podpora různých rozlišení a orientacÍ displeje<br />Změna prvků za běhu aplikace <br />Využití vlastnosti Anchor<br />„Znásilnění“ lokalizace (localizable) ke změně vzhledu formuláře<br />
  26. 26. Hlavní nevýhoda<br />Microsoft investuje (prozatím) pouze do Windows Phone 7 (WP 7)<br />CNF aplikace nebudou oficiálně ve WP 7 podporovány<br />Pro Windows CE (business aplikace na specializovaných zařízeních) by ale měl být CNF stále podporován.<br />Ukázka toho, jak Microsoft umí zařezávat projekty<br />
  27. 27. Windows Phone 7 (nedávno jeŠtěSeries)<br />Náhrada za (údajně zastaralé) WindowsMobile 6.5<br />Založeny stále na OS Windows CE (multitasking chybí…)<br />Cíleny hlavně na zákazníky, kteří mají rádi fotky, jsou neustále online a v sociálních sítích…<br />Vývoj v Silverlightu (!!) a XNA Frameworku – Express edice VS/plugin do VS<br />
  28. 28. Změny v SILVERLIGHTU pro WP 7<br />První verze bude pravděpodobně založena na SL 3 (dohady o clipboardu)<br />Podpora „multitouch“<br />API pro určení polohy (lokace) - GSM, WIFI?<br />PUSH notifikace<br />HW akcelerace pro video a grafiku v mobilu<br />
  29. 29. Nevýhody (Nejistota)<br />Telefony nejsou, měly by být dostupné na přelomu roku 2010/2011<br />Podaří se Microsoftu WP7 prosadit? MS nepotřebuje multitasking, konkurence (iPhone OS 4.0) multitasking uvádí.<br />Jak se budou vyvíjet „business“ aplikace?<br />Kde je např. náhrada za SNAPI v CNF?<br />
  30. 30. Workflow<br />Vlastní řešení<br />Výhrady k WorkflowFoundation od Microsoftu<br />
  31. 31. Dotazy? A možná odpovědi<br />

×