TNPW2-2011-08
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

TNPW2-2011-08

  • 1,719 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,719
On Slideshare
1,651
From Embeds
68
Number of Embeds
5

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 68

http://tnpw2.blogspot.com 46
http://tnpw2.webnode.cz 17
http://tnpw2.blogspot.cz 3
http://www.slideshare.net 1
http://cms.tnpw2.webnode.cz 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. TNPW2
    2009/2010
    08 – Aktuální trendy ve vývoji webových aplikací
    Mgr. Lukáš Vacek
    lukas.vacek@uhk.cz
  • 2. Agenda8
    • Současný stav, aktuální problémy, RIA
    • 3. AJAX
    • 4. Webové formuláře, jak dál?
    • 5. Flash, Flex, AIR, XUL, Silverlight a další
    • 6. Pracovní nástroje
    • 7. Co je Web 2.0? Cloud computing?
    • 8. Internet, doporučená literatura
    2
  • 9. Neustálé zdokonalování stávajících technologií pro web, které se ukázaly jako použitelné (životaschopné):
    rozšiřování funkcionality, kterou poskytují vývojářům,
    zjednodušení (a zrychlení) jednotlivých procesů vývoje (analýza, návrh, implementace, testování, deployment),
    implementace moderních trendů (MVC, ORM, SOA, bezpečnost, přístupnost pro různá zařízení a platformy apod.),
    zvyšování výkonu vyvíjených aplikací.
    Osvědčené technologie: Java (JSF/MVC Frameworky), ASP.NET, Flash, Python, PHP...
    „Novější“ technologie: Ruby (on Rails), Adobe AIR,Flex, Silverlight apod.
    Pořád je co zlepšovat!
    3
    Současný stav webových technologií
  • 10. Z hlediska možností vývoje webových aplikací je dnes k dispozici celá řada technologických platforem –> možná až příliš velký výběr 
    Problémem většiny dnešních webových aplikací jsou hlavně…
    omezené možnosti jejich uživatelského rozhraní (User Interface),
    problémy s validací formulářových dat na straně klienta (a v reálném čase),
    bez-stavová komunikace při použití protokolu HTTP(S).
    Většina webových aplikací je stále založena na značkovacím jazyku HTML (XHTML).
    Jazyk HTML nebyl navržen pro vývoj aplikací –> má celou řadu omezení (množství přenášených dat, ergonomie ovládání apod.).
    Některá tato omezení lze obejít (např. JavaScript/AJAX, Flash, Adobe AIR, ViewState a PostBackv ASP.NET apod.), ale není to ono (problematická účinnost, někdy složitost řešení, kompatibilita v prohlížečích).
    Takže, co s tím?
    4
    Aktuální problémy
  • 11. Vytvořit nové nebo rozšířit stávající technologie tak, aby poskytovaly vývojářům a uživatelům:
    komplexní grafické rozhraní (MDI koncept –> 1 hlavní okno),
    ovládání a funkce odpovídající klasickému desktopovému řešení (drag&drop, klávesové zkratky, kontextová nápověda, auto complete prvky apod.),
    možnost kontroly formulářových dat u klienta v reálném čase,
    odstínění klienta (uživatele) od modelu žádost/odpověď,
    přenos jen nezbytně nutných dat (např. bez duplicit v UI),
    a to vše pro různé druhy platforem (např. mobilní).
    5
    Řešení?
  • 12. Označení pro novou generaci aplikací, které by uvedené požadavky měly plně (nebo částečně) splňovat.
    RIA řeší především záležitosti na straně klienta!
    Existuje silná spojitost s Internetem – web/(X)HTML, plug-iny prohlížečů, desktop, mobilní zařízení.
    Snadnost spuštění aplikace se blíží snadnosti navštívení webové stránky.
    Výhledově by RIA technologie mohly výrazně podpořit myšlenku na převedení většiny dnešních aplikací do online podoby (celá řada výhod –> aktuálnost, dostupnost, zpoplatnění jen používaných funkcí apod.).
    http://interval.cz/clanky/rich-internet-applications-v-roce-2008/
    http://zdrojak.root.cz/clanky/pristupnost-ria-dynamicke-zmeny-obsahu/
    6
    Co je RIA (Rich Internet Application)
  • 13. Agenda8
    • Současný stav, aktuální problémy, RIA
    • 14. AJAX
    • 15. Webové formuláře, jak dál?
    • 16. Flash, Flex, AIR, XUL, Silverlight a další
    • 17. Pracovní nástroje
    • 18. Co je Web 2.0? Cloud computing?
    • 19. Internet, doporučená literatura
    7
  • 20. Aktuálně nejrozšířenější RIA technologie.
    „AJAX je programový přístup, který mezi prohlížeč a webový server přidává vrstvu abstrakce.“ http://blogs.msdn.com/mohammadakif/archive/2006/01/14/512991.aspx
    Základním principem fungování AJAXu je klientské skriptování (DOM, (X)HTML a JavaScript), obvykle kombinované s voláním webových služeb a zpracováváním XML dat (XMLHttpRequest) –> používá známé a osvědčené technologie.
    Jeho nasazení (pozor, neplatí to vždy a všude!) může zlepšit použitelnost webových aplikací s ohledem na jejich ovládání uživatelem.
    Někdy je náročnější na implementaci, a při nevhodném použití může generovat poměrně velkou zátěž pro webový server.
    Webové AJAX aplikace je možné vytvářet na většině hlavních vývojových platforem (ASP.NET, Java/JSF/ADF, PHP apod.)
    http://cs.wikipedia.org/wiki/Asynchronous_JavaScript_and_XML
    http://ajaxpatterns.org/Java_Ajax_Frameworks
    http://www.noupe.com/javascript/most-wanted-ajax-techniques-50-ajax-examples-and-tutorials.html
    8
    AJAX (Asynchronous JavaScript and XML)
  • 21. AJAX – schéma komunikace
    Klasická webová aplikace
    Klient (webový prohlížeč)
    Server (webový server)
    Server (webový server)
    User Interface
    Aplikační logika
    Aplikační logika
    HTTP request
    HTML + CSS
    AJAX
    Klient (webový prohlížeč)
    User Interface
    AJAX
    Engine
    HTTP request
    JavaScript
    HTML + CSS
    XML data
    9
  • 22. Microsoft ASP.NET AJAX Extensions (dříve Atlas, AJAX.NET) je sada klientských knihoven, serverových ovládacích prvků a webových služeb.
    Jde o client side framework, který je nadstavbou pro ASP.NET.
    Koncepčně se dělí na dvě části – klientskou a serverovou.
    Klientská část může fungovat bez serverové, opačně to neplatí.
    Základem je JavaScriptovýframework, který si klade za cíl ulehčit vývoj tzv. AJAXových aplikací.
    Komponenty používají na straně klienta JQuery.
    http://www.asp.net/ajax/
    http://borber.com/blog/?p=507
    http://www.rarous.net/clanek/129-zaciname-s-atlasem.aspx
    http://videoarchiv.altairis.cz/Entry/14-asp-net-ajax-extensions-jak-je-pouzit-a-proc-to-nedelat.aspx
    10
    Microsoft ASP.NET AJAX Extension
  • 23. Agenda8
    • Současný stav, aktuální problémy, RIA
    • 24. AJAX
    • 25. Webové formuláře, jak dál?
    • 26. Flash, Flex, AIR, XUL, Silverlight a další
    • 27. Pracovní nástroje
    • 28. Co je Web 2.0? Cloud computing?
    • 29. Internet, doporučená literatura
    11
  • 30. Už od počátku Internetu jsou formuláře hlavním prostředkem pro zadávání uživatelských vstupů do webové stránky.
    Základní množina formulářových prvků a jejich funkcí je v podstatě stále stejná jako na začátku, kdy se nepočítalo s Internetem jako s platformou pro aplikace.
    Původní formulářové prvky nepokrývají všechny potřeby dnešních webových aplikací, nejen v oblasti datových vstupů, ale i jejich případné validace (kontroly).
    Tento nedostatek bylo třeba odstranit.
    Jsou (byly) možné dva základní přístupy k řešení problému:
    Úplně to celé předělat (XForms)
    Rozšířit stávající množinu prvků a jejich funkcionalitu (Web Forms –> HTML5)
    http://interval.cz/clanky/pohled-na-webove-formulare-druhe-generace/
    12
    Webové formuláře
  • 31. Původně konsorcium WHATWG (The Web Hypertext Application Technology WorkingGroup) –> vývojáři Mozilla, Opera, Safari.
    Od roku 2007 existuje pracovní skupina W3C pro HTML5 specifikaci, v lednu 2008 byl vydán draft.
    Rozšiřuje HTML 4.01 a XHTML 1.0 –> jednoduché na naučení.
    Zpětná kompatibilita ve starších prohlížečích.
    Částečná podpora nových prvků v prohlížečích.
    http://en.wikipedia.org/wiki/Html5
    http://html456.blogspot.com/search/label/html5
    http://www.lupa.cz/clanky/whatwg-budoucnost-webu/
    http://www.w3.org/TR/2008/WD-html5-diff-20080122/
    V souvislosti s návrhem HTML5 se také mluví o podpoře offline webových aplikací…
    http://www.lupa.cz/clanky/sql-si-razi-cestu-do-html5/
    13
    HTML 5 (Web Forms 2.0)
  • 32. Za návrhem XForms stojí konsorcium W3C.
    Jeden z modulů připravovaného XHTML 2.0.
    Komplexně řeší formuláře na webu i na desktopu.
    Je poněkud složitější na naučení (i když W3C tvrdí opak ).
    Chybí zpětná kompatibilita.
    Aktuálně je kolem XHTML 2.0 a W3C poměrně nejasná situace.
    http://en.wikipedia.org/wiki/Xforms
    http://www.grafika.cz/art/webdesign/encxforms.html
    http://html456.blogspot.com/2009/07/predseda-xhtml2-wg-rika-xhtml2-neni.html
    14
    XForms
  • 33. Agenda8
    • Současný stav, aktuální problémy, RIA
    • 34. AJAX
    • 35. Webové formuláře, jak dál?
    • 36. Flash, Flex, AIR, XUL, Silverlight a další
    • 37. Pracovní nástroje
    • 38. Co je Web 2.0? Cloud computing?
    • 39. Internet, doporučená literatura
    15
  • 40. V současnosti dominuje v oblasti interaktivní grafiky na Internetu.
    Multiplatformní technologie zaměřená na práci s grafikou, vektorovými animacemi nebo video streamingem (např. YouTube).
    Historie – FutureWave Software (kolem roku 1996), Macromedia (do 2005).
    Pro klienta je k dispozici FlashPlayer(aktuální verze 9), jako plug-in je nainstalován na většině počítačů s webovým prohlížečem (uvádí se až 99 % podle Adobe).
    Používá programovací jazyk ActionScript, pracuje s textem, grafikou i s databázemi.
    Jsou určité problémy s indexování obsahu ve vyhledávačích.
    Ověřená technologie, s velkou vývojářskou komunitou!
    Řada vývojových nástrojů (pravda, s různou kvalitou )
    http://www.adobe.com/products/flash/
    http://www.flash.cz/portal/
    16
    AdobeFlash
  • 41. Adobe Flex 2 je komponentový framework určený pro vývoj a provoz interaktivních aplikací postavených na technologii Flash (Flash Player v prohlížeči) a Adobe AIR (desktop).
    Aplikace mohou integrovat např. multimédia, XML, webové služby nebo tzv. Flex Data Services (WS postavené na J2EE).
    Programovací jazyk ActionScript 3, MXML pro UI.
    Základní vývojové nástroje (SDK + kompilátor) jsou zdarma, Flex Builderza peníze; je možná pokročilá integrace (Ant, Maven).
    Deployment= zkopírovat soubory SWF (+ HTML wrappery).
    Technologie Flash/Flexumožňují odklon UI od klasické podoby webových stránek, není to náhrada HTML a spol.
    Relativně nová technologie, fy Adobe se ji pokusí prosadit.
    http://www.amsoft.cz/produkty/Adobe/flex/produkty.html
    http://www.grafika.cz/art/webdesign/flashflex.html
    http://www.adobe.com/products/flex/
    http://interval.cz/clanky/adobe-flex-co-je-a-co-neni/
    17
    Adobe Flex
  • 42. Adobe AIR (Adobe Integrated Runtime, dříve Apollo) – první finální verze (březen 2008).
    Multiplatformní runtime propojující desktopové a webové aplikace.
    Umožňuje kombinovat HTML/JavaScript/AJAX, Flash, Flex.
    Rozšiřuje funkcionalitu a možnosti webových aplikací (např. drag&drop, práce s diskem, nativní okna, offline práce s daty, synchronizace apod.).
    Má plný přístup k lokálním zdrojům! Pod účtem, pod kterým uživatel pracuje.
    Aplikace lze spouštět nezávisle na prohlížeči.
    http://labs.adobe.com/technologies/air/
    http://jilm.blog.lupa.cz/0704/adobe-je-cerny-kun-internetovych-aplikaci
    http://www.flash.cz/portal/clanek.aspx?id=594
    http://www.dsl.sk/article.php?article=5359
    http://www.zive.cz/default.aspx?server=1&article=139665
    18
    Adobe AIR
  • 43. Technologii Silverlight představila fy Microsoft v září 2007, v současnosti se připravuje Silverlight verze 4 (bude v roce 2010).
    Jde o runtime pro spouštění interaktivních aplikací v prostředí webového prohlížeče nebo desktopu –> u klienta je třeba instalovat odpovídající plug-in.
    Základem je WPF –> grafický subsystém .NET Frameworku 3.0 –> umožňuje popisovat textový, vektorový, interaktivní a multimediální obsah pomocí XAML.
    Podporuje přehrávání audia a videa ve formátech WMV, WMA a MP3.
    Programovat lze v JavaScriptu, od verze 2.0 také v C#, VB.NET apod.
    Multiplatformní podpora u klienta pro Windows, Mac, Linux (Moonlight).
    Na klientovi běží v tzv. sandboxu, nemá plný přístup k disku.
    Jako vývojové prostředí se používá Visual Studio.
    Někdy je označována jako tzv. „Flashkiller“ technologie 
    http://www.microsoft.com/silverlight/
    http://www.vyvojar.cz/Articles/473-neco-malo-k-technologiim-wpf-a-silverlight.aspx
    http://www.grafika.cz/art/webdesign/silverlight10.html
    http://en.wikipedia.org/wiki/Moonlight_(runtime)
    http://www.symbio.cz/clanky/silverlight-nebo-flash.html
    http://zdrojak.root.cz/clanky/je-silverlight-3-konkurenci-pro-adobe-air/
    19
    Silverlight
  • 44. XUL je technologie založená na XML.
    Umožňuje tvorbu RIA aplikací, které mohou být spouštěny z Internetu (ale nemusí, např. Firefox).
    XML v kombinaci s JavaScriptem (obsluha událostí) a CSS umožňuje vytvářet UI aplikací.
    XUL odděluje jednotlivé prvky UI a jejich vzhled –> snadná skinovatelnost.
    Technologii XUL zastřešuje MozillaFoundation.
    Je platformě nezávislá, používá komponenty v nativních jazycích (C/C++).
    Na straně klienta je to trochu pomalé…
    http://www.mozilla.org/projects/xul/
    http://en.wikipedia.org/wiki/XUL
    http://www.czilla.cz/devel/xul-on-web.html
    http://www.kosek.cz/clanky/xul/index.html
    20
    XUL (XML User Interface Language, čtiZůl)
  • 45. JavaFX
    Nadstavba na Javou, která umožní tvorbu interaktivních RIA aplikací určených pro desktop, mobilní zařízení apod.
    Skriptovací jazyk JavaFXScript pro práci s UI.
    http://www.sun.com/software/javafx/index.jsp
    http://www.sweb.cz/pichlik/archive/2007_05_06_archive.html
    Mozilla Prizm (WebRunner)
    Umožňuje integraci webových aplikací v desktopovém prostředí bez nutnosti spuštění webového prohlížeče.
    http://wiki.mozilla.org/Prism
    Google Gears
    Umožňuje přístup a využití online služeb v offline režimu, využívá speciální rozšíření pro prohlížeč postavené nad SQLite databází.
    http://en.wikipedia.org/wiki/Google_gears
    21
    Další technologie – JavaFX, Mozilla Prizm, Google Gears
  • 46. Agenda8
    • Současný stav, aktuální problémy, RIA
    • 47. AJAX
    • 48. Webové formuláře, jak dál?
    • 49. Flash, Flex, AIR, XUL, Silverlight a další
    • 50. Pracovní nástroje
    • 51. Co je Web 2.0? Cloud computing?
    • 52. Internet, doporučená literatura
    22
  • 53. Trendem jsou rostoucí požadavky na komplexnost vývojových nástrojů.
    Každý vývojář potřebuje něco jiného, záleží na okolnostech.
    Jednotlivé etapy vývoje software nejsou jednoznačně odděleny, často běží vedle sebe (paralelní běh analýzy a implementace při tzv. extrémním programování ).
    Jsou vyžadovány funkce a nástroje, které zefektivní jednotlivé etapy vývoje.
    Pro fázi implementace se za samozřejmé považuje např.
    sofistikovaný editor zdrojových kódu s inteligentním doplňováním,
    vizuální návrh UI s možností přímé editace generovaného zdrojového kódu,
    spolupráce s CASE nástroji, synchronizace,
    podpora verzování, týmový vývoj, tasky,
    podpora pro ladění aplikace, trasování, refaktorizaci,
    podpora nejrůznějších šablon, práce s databází, ORM, design patterns,
    podpora automatického testování, TDD,
    tvorba instalačních balíčků, konfiguračních skriptů, deployment aplikace a další.
    23
    Pracovní nástroje
  • 54. Agenda8
    • Současný stav, aktuální problémy, RIA
    • 55. AJAX
    • 56. Webové formuláře, jak dál?
    • 57. Flash, Flex, AIR, XUL, Silverlight a další
    • 58. Pracovní nástroje
    • 59. Co je Web 2.0? Cloud computing
    • 60. Internet, doporučená literatura
    24
  • 61. Web 2.0 lze chápat „Jako posun od centralizovaného zpracování služeb k  decentralizaci.“ – TimO’Reilly (zdroj)
    „Web 2.0 jsou takové webové projekty, které používají technologie a principy namířené co nejvíce k uživatelům služeb, a to často tak blízko, že nechávají samotné uživatele, aby se sami podíleli na obsahu či tvorbě projektu.“ – Symbio
    Jiný úhel pohledu na to, jak rozlišit jednotlivé vývojové fáze webu… „Na Web 1.0 stačilo připojení kolem 50 Kbit/s, na Web 2.0 linka o rychlosti 1 Mbit/s a na Web 3.0 to bude přibližně 10 Mbit/s.“ – ReedHastings (zdroj Symbio)
    http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html
    http://www.symbio.cz/clanky/web-2-0-3-0-4-0.html
    http://en.wikipedia.org/wiki/Web_2.0
    25
    Co je Web 2.0?
  • 62. Web jako platforma – klasický design ustupuje do pozadí, a do popředí se dostávají programové nadstavby (API), webové služby, XML, RSS apod. = změny v programování a v přístupu k datům.
    Mnohem intenzivnější spolupráce mezi servery při výměně dat.
    Změny v navigaci, organizaci informací a v přístupu k nim –> uživatelé rozhodují sami (agregátory obsahu).
    Mixování obsahu –> obsah je důležitější než jeho poskytovatel!
    Komunity přidávají a sdílejí vlastní data –> štítky, recenze apod.
    Často hovoříme v této souvislosti o pojmech sociální sítě, Cloudcomputingapod.
    http://www.symbio.cz/clanky/komunity-v-podani-strycka-googla.html
    http://www.lupa.cz/clanky/zmeni-google-sidewiki-internet/
    http://zdrojak.root.cz/clanky/rest-architektura-pro-webove-api/
    26
    Co znamená Web 2.0 pro design (návrh) aplikace?
  • 63. Webové aplikace označované jako Web 2.0 se prosazují stále více.
    Nesmírně důležitá je komunita uživatelů, která se na takovouto aplikaci „nabalí“.
    Potom hovoříme o tzv. sociální síti.
    Facebook, MySpace, LinkedIn– komunitní weby
    Wikipedia – internetová encyklopedie
    Del.icio.us– ukládání a sdílení záložek (bookmarks)
    iGoogle– personalizovaná domácí stránka s informace z různých zdrojů
    Flickr – sdílení fotografií na webu
    Twitter – krátké osobní zprávy do 140 znaků
    http://suewebik.net/webove/web20-def.html
    http://www.lupa.cz/clanky/web-2-0-bublina-nebo-novy-smer-webu/
    http://www.audiv8.cz/clanky_read.php?id=65&rubrika=2
    http://www.slideshare.net/MedvidekPU/sociln-st-mn-internet-k-nepoznn
    27
    Komunitní weby jako Web 2.0 aplikace
  • 64. „Termín označuje souhrnně technologie a postupy používané v datových centrech a firmách pro zajištění snadné škálovatelnosti aplikací dodávaných přes Internet.“ – Jan Kodera (http://cloud.abakowiki.cz/xwiki/bin/view/Main/)
    Cloud hostingnabízí serverový cluster s vysokým výpočetním výkonem, datovým úložištěm a konektivitou, který je možné si pronajímat dle potřeby.
    IaaS – Infrastruktura jako služba
    PaaS – Platforma jako služba
    SaaS – Software jako služba
    Výhodou je dynamický sizinga platba jen za skutečněspotřebované prostředky.
    http://cloud.abakowiki.cz/xwiki/bin/view/Main/cloudvsgrid
    http://zdrojak.root.cz/clanky/cloud-hosting-aneb-hosting-v-oblacich/
    28
    Cloud computing
  • 65. Agenda8
    • Současný stav, aktuální problémy, RIA
    • 66. AJAX
    • 67. Webové formuláře, jak dál?
    • 68. Flash, Flex, AIR, XUL, Silverlight a další
    • 69. Pracovní nástroje
    • 70. Co je Web 2.0? Cloud computing?
    • 71. Internet, doporučená literatura
    29
  • 72. http://cs.wikipedia.org/wiki/Asynchronous_JavaScript_and_XML (AJAX)
    http://www.asp.net/ajax/ (Microsoft ASP.NET AJAX Extension)
    http://en.wikipedia.org/wiki/Xforms (XForms)
    http://en.wikipedia.org/wiki/Html5 (HTML5)
    http://www.adobe.com/products/flash/ (Adobe Flash)
    http://www.adobe.com/products/flex/ (Adobe Flex)
    http://www.openlaszlo.org/ (OpenLaszlo)
    http://www.mozilla.org/projects/xul/ (XUL)
    http://www.microsoft.com/silverlight/ (Silverlight)
    http://www.sun.com/software/javafx/index.jsp (JavaFX)
    http://labs.adobe.com/technologies/air/ (Adobe Air)
    http://en.wikipedia.org/wiki/Web_2.0 (Web 2.0)
    http://www.slideshare.net/MedvidekPU/sociln-st-mn-internet-k-nepoznn
    http://zdrojak.root.cz/clanky/cloud-computing-jiny-pohled-na-aplikace/
    30
    Internet
  • 73. Souhrn8
    • Současný stav, aktuální problémy, RIA
    • 74. AJAX
    • 75. Webové formuláře, jak dál?
    • 76. Flash, Flex, AIR, XUL, Silverlight a další
    • 77. Pracovní nástroje
    • 78. Co je Web 2.0? Cloud computing?
    • 79. Internet, doporučená literatura
    31