Vývojářské nástroje a techniky…aneb Cesta tam a zase zpátky<br />Martin Malý<br />
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 />O...
Programovací jazyky<br />Na počátku žádné jazyky nebyly…<br />
Programovací jazyky<br />…pak přišly ty jednoduché, bez datových struktur…<br />
Programovací jazyky<br />…po nich složitější, strukturované, objektové... K nim odpovídající nástroje.<br />
Programovací jazyky<br />Mimo mainstream:<br />Funkcionální (LISP)<br />Deklarativní (Prolog)<br />Čistě podivné (FORTH)<b...
Programovací jazyky<br />Současný stav u desktopových aplikací:<br />Vedou jazyky „C-like“ (C++, Java, C#, určitý podíl má...
Specifika webového prostředí<br />Obligatorní architektura „klient – server“<br />Intenzivní práce s databází<br />Paralel...
Vytvářet HTML je opravdu snadné…<br />
Vytvořit webovou aplikaci tak snadné není<br />HTTP je nestavové, veškerá interaktivita je simulovaná<br />Souběžný běh ví...
Klient - server<br />Klasický model: Silný klient, jasný datový protokol, stavová aplikace<br />
Klient - server<br />Webový model: Tenký klient, nejednoznačný formát výměny dat, aplikace nestavová, co interakce, to úlo...
Serverové technologie<br />Perl, C, Shell<br />cgi-bin<br />
Serverové technologie<br />Perl, C, Shell<br />cgi-bin<br />PHP<br />ASP<br />
Serverové technologie<br />Perl, C, Shell<br />cgi-bin<br />PHP<br />ASP<br />JSP<br />ColdFusion<br />Python<br />Ruby<br />
Serverové technologie<br />Perl, C, Shell<br />cgi-bin<br />PHP<br />ASP<br />JSP<br />ColdFusion<br />Python<br />Ruby<br...
Klientské technologie<br />HTML<br />HTML<br />HTML<br />CSS<br />JavaScript<br />Co klient, to drobná odlišnost<br />
Klientské technologie<br />Sjednocení:<br />jQuery<br />YUI, ExtJS<br />Mootools, qooxdoo, scriptaculous<br />            ...
AJAX<br />Hmmm… No, víš… Nezdá se mi,<br />že by v marketingu měli na mysli<br />právě tenhle AJAX!<br />
AJAX<br />Na tenkém klientu simuluje silného klienta<br />Zvyšuje interaktivitu aplikace<br />Přibližuje práci s webovou a...
Trend<br />
RIA<br />Rich Internet Applications<br />Flash (Flex, AIR)<br />Silverlight…?<br />… Java FX?<br />Webové OS<br />Aplikace...
Cloudcomputing<br />Distribuovaný flexibilní výpočetní výkon<br />Centrální „nekonečné“ datové úložiště<br />Masivní paral...
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čí...
Překážek se nelekáme…<br />… ostatně už jsme přes ty samé jednou šli!<br />Budoucností webu je konvergence s desktopem – a...
Jediný opravdový vývojářský nástroj<br />Z chaosu, který dnes ve vývoji webových aplikací panuje, ční jeden jediný spolehl...
Jediný opravdový vývojářský nástroj<br />
Děkuji za pozornost<br />Martin Malý<br />http://www.zdrojak.cz<br />http://www.maly.cz<br />martin.maly@iinfo.cz<br />
Upcoming SlideShare
Loading in …5
×

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

1,238 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
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,238
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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 />

×