Budoucnost WWW?

Před několika měsíci jsem rozepsal tento post, dnes ho snad s trochou štěstí dokončím. Kupodivu se za tu dobu mnoho nezměnilo, jen přibylo pár frameworků:

Přítomnost má marketingové jméno Web 2.0, ať už to znamená cokoli a ať už je to k něčemu dobré či ne.
Jednou z možných cest do budoucnosti se zdál být semantický web. Ale jak to tak vypadá, vítězí spíš zaměření na aplikace – mnoha technologií semantického www se jistě dočkáme, ale výsledný cíl se nejspíše bude lišit.
Ale aplikace, které žijí jen v prohlížeči, mají mnoho potíží. Méně pokročilí uživatelé nejspíše zkousnou GUI, které se nemůže možnostmi měřit s desktopovými aplikacemi. Ale každého dříve či později stihne zdánlivě neodstranitelná potíž – webové aplikace pro svůj život potřebují připojení k internetu. A to může být kámen úrazu. Dokud používám Mail.app nebo Outlook, mohu psát dopisy i ve vlaku, kde nemám k dispozici Síť. Ale Gmail mi to neumožní. Podobně narážím i s organizovátky času nebo online textovými editory. Jsou po ruce stále, kdykoli a kdekoli – ale jen, pokud je po ruce i připojení.
Nebudu to zdržovat – jsou možnosti, jak toto prokletí obejít. A zdá se, že v poslední době se s nimi roztrhl pytel.

  • Můžeme se vzdát života v prohlížeči, webovosti, a vsadit na desktopové technologie – jen je lépe deployovat. Skvělý příklad je Swing distribuovaný pomocí Java Web Startu. Mít na každém počíatči javu, tak neváhám. Pokud se vám nechce tvořit swingové uživatelské rozhraní v Javě (za pomoci Matisse to není zas tak obtížné, jak škarohlídi tvrdí), je tu Java FX nebo třebas groovyovský Swing Builder.
  • Adobe Apollo se změnilo v Adobe Integrated Runtime alias AIR. Runtime, který umožnuje stáhnout aplikace postavené na webových technologiích (AJAX, Flash…) na desktop. Tam se tváří jako hybridy – trocha webovosti a trocha desktopovosti (třebas spouštění ikonkou na ploše nebo část look and feel). A co je snad ještě důležitější – umožňuje aplikacím ukládat data i na straně klienta.
  • Když ukládat dat na klientovi, tak pořádně. A když pořádně, tak podle normy (nebo alespoň “normy”). V draftu specifikace HTML 5 se objevil návrh na lokání uložiště. Ta jsou dvou druhů – globální a jedno pro každou session. Ukládají se klíč-hodnota. Prosté, ale intelektuála neuspokojí. Výhodou je, že je možné začít testovat implementaci ve Firefoxu.
  • Podstatně těžkotonážnější řešení nabízí další zvažovaná novinka v HTML 5 – Client-side database storage. SQL databáze v browseru vypadá jako nonsens, ale výhody by byly očividné – v prostředí porhlížeče by muhly začít vznikat plnokrevné aplikace, které ke svému běhu síť používají ale nevyžadují. Zůstaly by limity v tvorbě rozhraní (HTML je fain, ale…), JavaScript rozhodně není jazyk vhodný na nějaké větší programováné, ale i zmizel by alespoň jeden problém. Netroufnu si říct, co taková změna udělá s bezpečností a s metodikou návrhu.

Vize je to příjemná – už se těším, jak budu někde uprostřed parku připravovat posty na blog nebo upravovat wiki. Ale provedení docela pokulhává – některá řešení jsou příliš omezená svým původem. V intranetu bude možné zajistit JVM nebo AIR runtime na každém stroji. Ale že by se objevili v každé internetové kavárně nebo na každém chytrém mobilu – o tom pochybuji.
SQL je dost silný nýstroj. Ale… Málo kdo ho umí doopravdy dobře používat a tak se jistě dočkáme “mistrů”, kteří budou používat lepení query místo prepared statements a budou páchat schemata, která normální formy neviděla ani z rychlíku. Budiž nám již dopředu útěchou, že různé “SQL injections” ztrácejí na desktopu tak trochu smysl – uživatel by si zbůhdarma útočil na aplikaci, kterou má stejně pod kontrolou. Ale přibudou nová nebezpečí – tvůrce aplikace už si nebude moci být jistý tím, že má v databázi to, co si tam skutečně uložil.
A pak se samozřejmě přidává i obvyklá kritika SQL. Je to užitečný jazyk, ale ve většině případů by udělal lepší službu nějaký ORM nebo objektová databáze. Ale to by asi byl příliš velký krok vpřed.

A protože se za tu dobu mnoho nezměnilo, tak ho dokončím v podobném duchu ale v trochu jiném směru:
Od prvního draftu tohoto článku se na světě objevilo několik nadějných javascriptových frameworků, které se snaží přiblížit programování v browseru programování pro desktop. Sprout core se stal základem pro MobileMe od Apple. Finální verse MobileMe zatím nespatřila světlo světa, ale screencasty naznačují, že by Google Mail mohl najít přemožitele v soutěži “kdo bude ethalonem pro RIA”.

O kousek dál má najspíše v plánu zajít Objective J. Zatímco Sprout Core je “jen” MVC framework pro javascript, Objective J javascript rozšiřuje podobně jako Objective C rozšiřuje C. Knihovny pro Objective J pravděpodobně budou také postavené na návrhovém vzoru MVC. Podle zatím dostupných informací by neměly skrývat inspiraci kakau, aplikačním rámci, který Apple používá (jako jeden ze dvou) na desktopech. Zatímco Sprout Core na svou velkou aplikaci zatím čeká (a za pár dnů se ji dočká), Objective J ji už má: 280 slidů je velmi zdařilá nápodoba Keynote běžící v prohlížeči. Stačí vychytat pár dětských chyb a tvůrci mohou hrdě prohlásit, že opět posounuli možnosti webu o kousek dál.

Místo závěru

Netroufnu si soudit, jaké technologie nás čekají za měsíc, dva, tři. Ale jsem ochotný vsadit se o panáka, že ty, které se budou držet prohlížeče, prokáží o něco větší životaschopnost než ty, které budou nutit uživatele instalovat další software (Silverlight, Air…). Výjimkou samozřejmě bude kontrolovatelnější prostředí intranetu.

Daší velkou změnu přinesou chytré mobily s velkými obrazovkami vedené iPhonem. Ty mají šanci změnit poměr sil. Ale zatím je většina zajímavých technologií (Java FX Mobile, Firefox Mobile…) pro ně jen v podobě prototypu, takže nám nezbývá, než počkat, kdo chytí příležitost za pačesy.

08. 07. 2008

7 responses to Budoucnost WWW?

  1. hroch32 said:

    Objective J je skutečně zajímavý nápad. Jsem zvědavý, jestli na něj Apple nějak (pokud možno pozitivně) zareaguje.

  2. admin said:

    @hroch32 Apple je vetsinou dost palicaty, takze se imho spis bude drzet SproutCore. Ale nikdy nerikej nikdy…

  3. Jan Kodera said:

    Hmm, chybi mi v tom vyctu jedna technologie a to Google Gears. Ta vam umozni psat offline na docs.google.com a i na gmailu budete moci pusobit. A hned jak se pripojite, tak provede synchronizaci. Na co cekat az bude HTML 5. Tohle je opensource technologie, kterou lze pouzit hned.

    Podobny pristup voli i Microsoft, ktery razi cestu zvanou S+S, tedy Software + Service. Tedy online aplikace ano ale jeste k tomu dostanete tlusteho klienta, kdyz budete nahodou offline.

    Uprimne si nemyslim ze by Adobe AIR se nejak prosadilo. Napad je to zajimavy, ale bud mate tlustou aplikaci a pak je zbytecne vymyslet AIR reseni a nebo mate webovou aplikaci. A tam se mi zda vhodnejsi pouzit Google Gears, protoze uzivatel aplikaci bude pouzivat stale stejnym zpusobem. Nepozna ze je offline.

    Mohu se ovsem seredne mylit 🙂

  4. satai said:

    Gears jsem zapomnel zminit, moje chyba. Kdyz jsem se na ne dival, tak mi prislo, ze se API dost podoba tomu ve specifikaci HTML 5, nezbyva nez doufat, ze se budou podobne ovlivnovat i dal a nakonec skonverguji.

  5. Vývojáři Gears neoficiálně přislíbili synchronizaci s HTML5. A pomalu se o to snaží (v těch částech, kde se s HTML5 překrývají) a jsou do vývoje HTML5 i zapojeni. Ve výsledku očekávám, že s Gears se části HTML5 dostanou i do prohlížečů, které by HTML5 implementovaly až později. Já dnes beru Gears za takové “skoro HTML5” plus pár drobností navíc.

  6. tomáš said:

    Dobrý den,

    příliš nesdílím Vaše obavy s aplikací, které pro svůj chod neustále potřebují připojení k internetu. Připojení k internetu je podle mého stále dostupnější a tak jak svou cenou, tak rozšířením. Toto už by se mělo jenom zlepšovat. Vaše obavy mi připomínají počátek 20 století a přechod od parních strojů k elektrickým. Elektřina je dnes dostupná téměř všude a internet je na “distribuci” mnohem méně náročný, než silová elektřina.

    Tomáš

  7. satai said:

    Tomas: Doma a v praci net samozrejme mame a je vetsinou dostupny. Ale staci vytahnout paty ven a situace je jina. Mobilni pripojeni nejsou porad nic moc a nepokryvaji rozumne spoustu mist. Nemam na mysli jenom venkov, sam travim denne skoro hodinu v podzemce a tam se mi muze o precteni si novinek na ars technice nebo psani do firemni wiki jenom zdat.

Leave a Reply

Your email address will not be published. Required fields are marked *