Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Vývojářské Nástroje a Techniky

1,311 views

Published on

Prezentace pro INVEX 2009 na téma "Vývojářské nástroje a techniky" - Zadání: "Pro lidi, co nejsou programátoři ani vývojáři, přinést odlehčenou formou během 10 minut stručné představení současného stavu webového vývoje"

Published in: Technology
  • Login to see the comments

  • Be the first to like this

Vývojářské Nástroje a Techniky

  1. 1. Vývojářské nástroje a techniky…aneb Cesta tam a zase zpátky<br />Martin Malý<br />
  2. 2. Jak šel čas v IT<br />Dávkové zpracování úloh<br />Pronájem strojového času<br />Terminály, víceuživatelské systémy<br />Osobní počítače (jeden uživatel, jeden stroj)<br />Změna z dávkového na interaktivní zpracování<br />Přesun dat k uživateli<br />
  3. 3. Programovací jazyky<br />Na počátku žádné jazyky nebyly…<br />
  4. 4. Programovací jazyky<br />…pak přišly ty jednoduché, bez datových struktur…<br />
  5. 5. Programovací jazyky<br />…po nich složitější, strukturované, objektové... K nim odpovídající nástroje.<br />
  6. 6. Programovací jazyky<br />Mimo mainstream:<br />Funkcionální (LISP)<br />Deklarativní (Prolog)<br />Čistě podivné (FORTH)<br />
  7. 7. Programovací jazyky<br />Současný stav u desktopových aplikací:<br />Vedou jazyky „C-like“ (C++, Java, C#, určitý podíl má Pascal/Delphi)<br />Aplikace je „jednoprocesová“, interaktivní, jednouživatelská<br />Data jsou ukládána lokálně<br />Existují velmi silné CASE nástroje a debuggery<br />
  8. 8. Specifika webového prostředí<br />Obligatorní architektura „klient – server“<br />Intenzivní práce s databází<br />Paralelní zpracování téže úlohy<br />Relativně jednoduché úlohy (textový vstup, textový výstup)<br />Neexistence kontextu aplikace<br />
  9. 9. Vytvářet HTML je opravdu snadné…<br />
  10. 10. Vytvořit webovou aplikaci tak snadné není<br />HTTP je nestavové, veškerá interaktivita je simulovaná<br />Souběžný běh více instancí téže aplikace je spíš pravidlem než výjimkou<br />Klient (prohlížeč) je velmi tenký<br />Je mnoho klientů, mnoho jazyků, různá podpora…<br />CASE i debuggery jsou v plenkách<br />
  11. 11. Klient - server<br />Klasický model: Silný klient, jasný datový protokol, stavová aplikace<br />
  12. 12. Klient - server<br />Webový model: Tenký klient, nejednoznačný formát výměny dat, aplikace nestavová, co interakce, to úloha<br />Dávková práce<br />FORM SUBMIT<br />
  13. 13. Serverové technologie<br />Perl, C, Shell<br />cgi-bin<br />
  14. 14. Serverové technologie<br />Perl, C, Shell<br />cgi-bin<br />PHP<br />ASP<br />
  15. 15. Serverové technologie<br />Perl, C, Shell<br />cgi-bin<br />PHP<br />ASP<br />JSP<br />ColdFusion<br />Python<br />Ruby<br />
  16. 16. Serverové technologie<br />Perl, C, Shell<br />cgi-bin<br />PHP<br />ASP<br />JSP<br />ColdFusion<br />Python<br />Ruby<br />LUA<br />Zope<br />Django<br />SmallTalk<br />Ruby on Rails<br />Tcl<br />FuseBox<br />Kohana<br />Kepler<br />TurboGears<br />PEAR<br />OpenLaszlo<br />Merb<br />Seaside<br />Orbit<br />Sinatra<br />CommonLisp<br />ASP.NET<br />… a další!<br />
  17. 17. Klientské technologie<br />HTML<br />HTML<br />HTML<br />CSS<br />JavaScript<br />Co klient, to drobná odlišnost<br />
  18. 18. Klientské technologie<br />Sjednocení:<br />jQuery<br />YUI, ExtJS<br />Mootools, qooxdoo, scriptaculous<br /> Opravdu sjednocení…?!<br />
  19. 19. AJAX<br />Hmmm… No, víš… Nezdá se mi,<br />že by v marketingu měli na mysli<br />právě tenhle AJAX!<br />
  20. 20. AJAX<br />Na tenkém klientu simuluje silného klienta<br />Zvyšuje interaktivitu aplikace<br />Přibližuje práci s webovou aplikací stylu práce s desktopem<br />Atomizace úloh, přesun kontextu na klienta<br />
  21. 21. Trend<br />
  22. 22. RIA<br />Rich Internet Applications<br />Flash (Flex, AIR)<br />Silverlight…?<br />… Java FX?<br />Webové OS<br />Aplikace simulující chování DT v tenkém klientu (prohlížeči)<br />
  23. 23. Cloudcomputing<br />Distribuovaný flexibilní výpočetní výkon<br />Centrální „nekonečné“ datové úložiště<br />Masivní paralelní zpracování úloh<br />Model „účtování strojového času“<br />
  24. 24. Dejavu?<br />Cloudcomputing jako obdoba výpočetních center<br />Prohlížeče a servery jako obdoba terminálů u sálového počítače<br />Ladicí nástroje a návrhářské nástroje jsou na úrovni roku 1980<br />Chaos v systémech připomíná stav v osmibitové éře<br />
  25. 25. Překážek se nelekáme…<br />… ostatně už jsme přes ty samé jednou šli!<br />Budoucností webu je konvergence s desktopem – aplikace pohodlné jako desktopové, k dispozici na všech možných platformách, s daty ukládanými „kdesi“<br />Vítěz není znám, ale nic nezkazíme, když půjdeme za Googlem, Adobe a Microsoftem.<br />
  26. 26. Jediný opravdový vývojářský nástroj<br />Z chaosu, který dnes ve vývoji webových aplikací panuje, ční jeden jediný spolehlivý záchytný bod<br />
  27. 27. Jediný opravdový vývojářský nástroj<br />
  28. 28. Děkuji za pozornost<br />Martin Malý<br />http://www.zdrojak.cz<br />http://www.maly.cz<br />martin.maly@iinfo.cz<br />

×