pátek 11. května 2007

Applety opět na scéně

Zní to skoro neuvěřitelně, ale Sun se chystá oživit mrtvolu jménem Applety. Dědictví minulosti, odpadlík, černá ovce můžete tuhle technologii nazývat jak chcete, ale Sun je jí nucen oživit. Za revitalizací appletů stojí představení technologie JavaFX. Web verze JavaFX potřebuje pro svůj běh hostitelský kontejner uvnitř prohlížeče a applety, i přes své problémy, představují jedinou možnost.

Applety mají celou řadu problémů, dva nejpalčivější jsou rychlost startu a nutnost nainstalovaného JRE. Třetí problém vidím v rovině spíše sociální, applety se nestaly nikdy tak důvěryhodné jako například Flash. Problém resp. nutnost nainstalovaného kontejner řešil i Flash a zdá se, že stačilo pouze ořezat velikost instalačního balíčku pod 3MB.

S velikostí samotného JRE souvisí i to jak rychlý bude jeho start, proto Sun přichystá takzvanou Consumer JRE, která bude ořezanější a další funkčnost bude možné přidat formou modulů. Tato verze JRE by měla být k dispozici na začátku příštího roku. Na tomto konceptu Sun pracuje delší dobu pod názvem Java kernel a nebo také Java Browser Edition (pořád je to jeden projekt)viz Java 7 - Java kernel, JRuby.

Z pohledu deploymentu appletů stojí ještě za zmíňku připravovaný Java Module System. Samotnou instalaci s detekcí JRE u klienta by mělo umožnit řešení podobné Auto-Install - další krok k použitelnější Jave na desktopu.

Jak je vidět technologické prostředky pro odstranění nejpalčivějších problémů Appletů tu jsou. Otázkou zůstává jestli se podaří odstranit problém v rovině sociální a tedy, že Applety nejsou tak důvěryhodnou technologií. Technologický pokrok je první malým krůčkem k tomu, aby uživatelé začali na Applety nahlížet trochu jinak.

Související články

středa 9. května 2007

JavaFX - na módní vlně RIA

Sun nechce zůstat po zadu za RIA technologiemi/produkty konkurence, jako Microsoft Silverlight a Adobe Apollo a na právě probíhající konferenci JavaOne představil JavaFX.

Rich Green (Sun executive vice president of software.) řekl o JavaFX

What's JavaFX? It's a software product from Sun that allows any consumer electronics manufacturer to accelerate the delivery of Java/Linux based devices, from phones to set tops and dashboards and everything else imaginable. Without fear of format lock-in or disintermediation from a competitor. JavaFX is a product (not simply a technology), built on Java Standard Edition (the Java platform running on your desktop computer), that unites billions of Java SE and Java Micro Edition devices (Java Micro Edition is what runs on most of the world's mobile handsets).

Pokud jsem si dobře přebral všechnu tu omáčku kolem, pak je JavaFX další level nadstavby nad starou dobrou Javou, který by měl umožňovat stavbu těch bohatých aplikací kdekoliv že. JavaFX by měla být rodina produktů a prvním členem je JavaFX Mobile.

JavaFX Mobile is a complete, pre-integrated software system for advanced mobile devices designed to enable developers to author rich, high-impact content and network-based services.

Všechny členy JavaFX rodiny by měl minimálně spojovat JavaFX Script. JavaFX script je nový skriptovací jazyk pro Java platformu se zaměřením na práci s UI, na který jste možná narazili pod vývojovým označením F3.

JavaFX Script is a simple scripting language designed to bring the benefit of the Java platform to creative professionals and web authors - independent of the device or audience they target. JavaFX Script adds to the list of languages already supported in the Java Virtual Machine, from PHP and Ruby, to Javascript and JavaFX Script - and brings the power, security and extraordinary popularity of the Java platform to those at the forefront of convergence: those defining interactive content for consumers.

A z FAQ se dozvíme:

Why do I need the JavaFX Script? Isn't Swing good enough?
There's nothing wrong with Swing. Swing is one of the best GUI development toolkits of its kind. Swing makes it very easy to create standard GUI components, buttons, listboxes, trees, and tables. Together with Java 2D, Swing makes it easy to customize existing components or to create new custom components to achieve virtually any desired visual effect. Sun is not replacing Swing with JavaFX; instead, JavaFX Script makes Swing much easier to use. With the new JavaFX Script language, the structure of the programmer's code closely matches the actual layout of the GUI, making it tangibly easier to understand and maintain.

Reakce jsou zatím na celou JavaFX rozporuplné. Zatím je kolem toho velké PR halo, takže těžko napsat cokoliv detailnějšího. Právě JavaFX bychom se měli věnovat v dalším speciálním JavaOne podcastu.

Související články

neděle 6. května 2007

RIA z pohledu uživatelské zkušenosti

Když jsem kdysi hodně dávno nadšeně psal o nástupu Rich Internet Application, předpokladal jsem, že dneska již bude RIA aplikace úplně každá webová aplikace. Kde kdo sice dnes používá AJAX, ale ten pravý boom nás podle čilého dění teprve čeká. A musím říci, že mě to celkem jako uživatele děsí.

Webový prohlížeč zdá se býti all in one platformou, která může již dnes sloužit jako podvozek pro většinu aplikací. Bohužel se často stává, že tento podvozek bývá použit naprosto nevhodně, z pohledu očekávání uživatele. Uživatel má některé stereotypy pro používání prohlížeče, například tabbed browsing, odkaz překlopí aplikaci do dalšího stavu, bookmarkable URL atd.

To všechno jsou stereotypy, které si možná neuvědomujete, dokud je nebudete moci v prohlížeči uplatnit. I když bych AJAXu vytknul určitě mnoho, upřít se mu nedá, že z pohledu uživatele mi přijde jeho použití tak nějak přirozené. V prohlížeči mi pořád fungují tlačítka jako zpět, vpřed, kliknutím prostředního tlačítka na odkaz se mi otevře v nové záložce, kterou si dám mezi oblíbené.

Prostě a jednoduše, aplikace se chová podle pravidel, které kdysi dávno sepsal Roy Fielding ve svojí dizertaci a výsledku dal název REST (Representational State Transfer). Jako uživatel bych si přál, aby masivnější příchod RIA aplikací neznamenal to, že každá aplikace bude měnit stereotypy, na které jsem si za dobu používáni webu zvyknul.

Jako uživatel jsem nucen používat dennodenně jednu RIA aplikaci a moje zkušenost je dosti odstrašující. Vývojáři této aplikace si totiž neuvědomili, že používání onoho podvozku nutně v uživateli vyvolává pocit, že se aplikace bude alespoň trochu chovat jak je zvyknutý.

Nejsem uctívač firmy Google a jejich služeb, ale jedno se jim musí nechat. Většina jejich aplikací integrujících RIA koncept se snaží neporušovat uživatelovi stereotypy. Přijde mi to jako rozumný kompromis mezi uživatelovým očekáváním a snahou obohatit chování aplikace.

Uvidíme jak se vize RIA zhostí sami vývojáři. Kompletní zásobník technologií je zdá se k dispozici. Adobe udělalo vstřícný krok v podobě otevření technologie Flex. Microsoft připravil jejich Silverlight a na JavaOne by mohl si Sun mohl přihřát polívčičku jazykem F3. To už ani nemluvím o XUL, AJAX, OpenLaszlo a dalších technologiích, které tu jsou dlouhou dobu.

Doufejme, že i přes tuto záplavu úžasných technologií, nezůstanou vývojáři oslepeni a vzpomenou si, že i uživatelé mají nějaké zkušenosti, které do značné míry ovlivňují jejich očekávání. Ale třeba je tahle moje prognóza stejně zcestná jako byla to o době příchodu Rich Internet Application...