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

More Related Content

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

node.js: zápisky z fronty (Battle guide to node.js)
node.js: zápisky z fronty (Battle guide to node.js)node.js: zápisky z fronty (Battle guide to node.js)
node.js: zápisky z fronty (Battle guide to node.js)almadcz
 
Interaktivní 3D služby v cloudu
Interaktivní 3D služby v clouduInteraktivní 3D služby v cloudu
Interaktivní 3D služby v clouduJiri Danihelka
 
Moderni trendy ve_vyvoji_aplikaci
Moderni trendy ve_vyvoji_aplikaciModerni trendy ve_vyvoji_aplikaci
Moderni trendy ve_vyvoji_aplikaciRENESTEIN
 
Cloud nás všechny semele - Internet Developer Forum - 2011-04 -05
Cloud nás všechny semele - Internet Developer Forum -  2011-04 -05Cloud nás všechny semele - Internet Developer Forum -  2011-04 -05
Cloud nás všechny semele - Internet Developer Forum - 2011-04 -05Daniel Dočekal
 
Rockaway AWS Hackaton – Kick-off Meeting
Rockaway AWS Hackaton – Kick-off MeetingRockaway AWS Hackaton – Kick-off Meeting
Rockaway AWS Hackaton – Kick-off MeetingRockawayCapital
 

Similar to Vývojářské Nástroje a Techniky (20)

node.js: zápisky z fronty (Battle guide to node.js)
node.js: zápisky z fronty (Battle guide to node.js)node.js: zápisky z fronty (Battle guide to node.js)
node.js: zápisky z fronty (Battle guide to node.js)
 
Interaktivní 3D služby v cloudu
Interaktivní 3D služby v clouduInteraktivní 3D služby v cloudu
Interaktivní 3D služby v cloudu
 
TNPW2-2011-06
TNPW2-2011-06TNPW2-2011-06
TNPW2-2011-06
 
TNPW2-2011-08
TNPW2-2011-08TNPW2-2011-08
TNPW2-2011-08
 
Webové technologie
Webové technologieWebové technologie
Webové technologie
 
Moderni trendy ve_vyvoji_aplikaci
Moderni trendy ve_vyvoji_aplikaciModerni trendy ve_vyvoji_aplikaci
Moderni trendy ve_vyvoji_aplikaci
 
TNPW2-2016-02
TNPW2-2016-02TNPW2-2016-02
TNPW2-2016-02
 
TNPW2-2014-02
TNPW2-2014-02TNPW2-2014-02
TNPW2-2014-02
 
TNPW2-2016-06
TNPW2-2016-06TNPW2-2016-06
TNPW2-2016-06
 
Linuxalt 2010
Linuxalt 2010Linuxalt 2010
Linuxalt 2010
 
App Engine Kick Start
App Engine Kick StartApp Engine Kick Start
App Engine Kick Start
 
TNPW2-2013-07
TNPW2-2013-07TNPW2-2013-07
TNPW2-2013-07
 
TNPW2-2011-10
TNPW2-2011-10TNPW2-2011-10
TNPW2-2011-10
 
Cloud nás všechny semele - Internet Developer Forum - 2011-04 -05
Cloud nás všechny semele - Internet Developer Forum -  2011-04 -05Cloud nás všechny semele - Internet Developer Forum -  2011-04 -05
Cloud nás všechny semele - Internet Developer Forum - 2011-04 -05
 
TNPW2-2013-05
TNPW2-2013-05TNPW2-2013-05
TNPW2-2013-05
 
Softecon 2010
Softecon 2010Softecon 2010
Softecon 2010
 
TNPW2-2012-05
TNPW2-2012-05TNPW2-2012-05
TNPW2-2012-05
 
TNPW2-2012-07
TNPW2-2012-07TNPW2-2012-07
TNPW2-2012-07
 
Rockaway AWS Hackaton – Kick-off Meeting
Rockaway AWS Hackaton – Kick-off MeetingRockaway AWS Hackaton – Kick-off Meeting
Rockaway AWS Hackaton – Kick-off Meeting
 
TNPW2-2014-06
TNPW2-2014-06TNPW2-2014-06
TNPW2-2014-06
 

More from Martin Maly

Prezentace o IoT pro iCollege
Prezentace o IoT pro iCollegePrezentace o IoT pro iCollege
Prezentace o IoT pro iCollegeMartin Maly
 
Prezentace pro Czech Internet Forum 2016
Prezentace pro Czech Internet Forum 2016Prezentace pro Czech Internet Forum 2016
Prezentace pro Czech Internet Forum 2016Martin Maly
 
Prezentace pro Učitel In 2016
Prezentace pro Učitel In 2016Prezentace pro Učitel In 2016
Prezentace pro Učitel In 2016Martin Maly
 
Od osmibitů k internetu věcí
Od osmibitů k internetu věcíOd osmibitů k internetu věcí
Od osmibitů k internetu věcíMartin Maly
 
Jak vytrollit hejtra na fejsu
Jak vytrollit hejtra na fejsuJak vytrollit hejtra na fejsu
Jak vytrollit hejtra na fejsuMartin Maly
 
Trocha matematiky v mezilidských vztazích
Trocha matematiky v mezilidských vztazíchTrocha matematiky v mezilidských vztazích
Trocha matematiky v mezilidských vztazíchMartin Maly
 
Develconf coffeescript
Develconf coffeescriptDevelconf coffeescript
Develconf coffeescriptMartin Maly
 

More from Martin Maly (7)

Prezentace o IoT pro iCollege
Prezentace o IoT pro iCollegePrezentace o IoT pro iCollege
Prezentace o IoT pro iCollege
 
Prezentace pro Czech Internet Forum 2016
Prezentace pro Czech Internet Forum 2016Prezentace pro Czech Internet Forum 2016
Prezentace pro Czech Internet Forum 2016
 
Prezentace pro Učitel In 2016
Prezentace pro Učitel In 2016Prezentace pro Učitel In 2016
Prezentace pro Učitel In 2016
 
Od osmibitů k internetu věcí
Od osmibitů k internetu věcíOd osmibitů k internetu věcí
Od osmibitů k internetu věcí
 
Jak vytrollit hejtra na fejsu
Jak vytrollit hejtra na fejsuJak vytrollit hejtra na fejsu
Jak vytrollit hejtra na fejsu
 
Trocha matematiky v mezilidských vztazích
Trocha matematiky v mezilidských vztazíchTrocha matematiky v mezilidských vztazích
Trocha matematiky v mezilidských vztazích
 
Develconf coffeescript
Develconf coffeescriptDevelconf coffeescript
Develconf coffeescript
 

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

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