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