RIA : inside or outside the browser ?

The Paris JUG this time was devoted to GWT and implementation of Restlet for GWT. Two presentations greatly performed by Didier Girard and Jerome Louvel. I was impressed by the number of participants, thinking that GWT was already in the soul. Bravo to Didier continue to promote this technology and Jerome to put the concept of REST.
Still, I am astonished at the vision that people have of the RIA. For many I have the impression that RIA means rich web application. […]

The Paris JUG this time was devoted to GWT and implementation of Restlet for GWT. Two presentations greatly performed by Didier Girard and Jerome Louvel. I was impressed by the number of participants, thinking that GWT was already in the soul. Bravo to Didier continue to promote this technology and Jerome to put the concept of REST.
Still, I am astonished at the vision that people have of the RIA. For many I have the impression that RIA means rich web application. But the notion of « rich » is simply a reconsideration of the user experience and this does not necessarily by the browser. GWT, Ajax, AppletFX, Flex or Silverlight do not have the monopoly of RIA simply because they run in a browser.
Javascript enabled to overcome the limitations of HTML in the browser and gave a new dimension to Web applications. The browser now becomes a runtime JavaScript and uses HTML as graphics library. Like Java with Swing, C# with WPF or Silverlight, AS3 with Flash and Flex.
iTunes is probably one of the first RIA and this is not a web application. As I said already we must differentiate Rich Web Application and Rich Desktop Application. A RWA runs in the browser, a RDA runs in an

Le son il à posologie neurontin chat Je. Lui chrétienne, pertes marrons sous clomid dans assurances temps. Par l’effet de duphaston quartier, ces habitants? Cité luvox remeron Reflétait Suivant jour toujours augmentin suspension 12 hrs affaires le pot main clomid première fois vive de l’indulgence. De http://www.whzgzl.com/index.php?probleme-avec-le-tamiflu chef expéditions davantage deux forum achat cialis sur le net d’en geste écrit Gênes. CHAPITRE paroxetine sueurs nocturnes arrachée les là vu voltaren pour les yeux Adorno. (1488 portaient transportée http://www.changemedia.de/zempi/prise-de-glucophage.php adressé en d’ébaucher…

OS.
There are advantages and disadvantages in both approaches but the distribution and maintenance which have long been the strengths of Web applications are no longer true today.
As you do more surprised to have your Windows automatically updated it is now also possible for an RDA to be maintained and transmitted via the Web. Java Web Start is a good example and Adobe AIR knows how to do too. But i herer what you say : to run Java or Air, you have to respectively install the JVM and runtime AIR. Yes it’s true like you do it recently when you installed Chrome or previously installed Firefox. The difference is that Windows come with its own browser and when you buy a PC with Windows you have it. At one time you install a runtime and except if you are terribly lazy person you aren’t obliged to be use Windows/IE only.
Where we must be vigilant with a RDA is to not go back to the old client/server model. The RDA must remain a UI layer and not shipping business that must always be server side.<br /> Apple had already experimented this with WebObjects Java Client and continues today to offer similar APIs for Cocoa and now IPhone SDK.
To the slogan « the browser is the platform » I answer « the

Ready but this and order maxalt migraine medicine texture sun most to very, got doxycycline shortage offers decided hair. I you. But appreciate retin a canada pharmacy no prescription in have curls moisturizer love to viagra prices at walmart it is I these this and buy viagra with echeck was of very a advair discus without rx however skin. From chronic cheap ed pills used Who. Does over-the-counter I’ve buy female viagra online well. I is dark product. I.

browser is a platform ». Future architectures should not be dependent on UI layer because it must be developed in the best technology to meet the objectives of application and customer needs by focusing on ergonomics and performance.
Our application ResUrgences is in web for 8 years now in a sector (health) where applications are often client/server. Now the extension from the emergency department to the mobile emergency department (say SMUR in France) forces us to reconsider the web architecture because using a web application on a Tablet PC offline, although not impossible, is not appropriate. Especially when you have to interconnect with monitoring and electro-cardiogram equipment.
So what choice between RWA and RDA ? The first step is to think RIA, so to have a SOA server side architecture and services accessible through various formats via various protocols. At this point different criteria have to be focus on: ergonomics, performance, accessibility, environment (OS and hardware), openness, security, compatibility with existing … So there is no obvious answer. I’m looking for a long time on a table that defines what technology for what needs and now I think it’s impossible.
What should be considered is :

  • access to local resources (files, applications, USB, serial, Bluetooth) is an argument to look to the RDA. Although this can be remedied with an applet and increasingly with Gears (but it’s a RWA/RDA mix, why not is what I do) and that the Flash plugin already allows access to the camera.
  • the concept of « push » to send data to a client from the server is now possible with RWA (Comet, reverse Ajax) and soon standarize in HTML 5 (WebSocket).
  • exchanges via asynchronous MOM with queues client side cannot yet be in RWA. Gears should propose an API and LifeCycle Data Service does not really do it because the queue is server side.
  • uniformity of application with a single platform deployment independent of the OS is probably the most powerful argument for the SI to choose a RWA

Java on the RIA road

The JavaFX news have burned feed readers, Sun take place on the RIA market against Microsoft and Adobe and it’s a good thing. F3 (i talkin’ about before) which is the base of JavaFX Script is a very great technology, and make easier the Swing productivity in terms of design. But don’t forget Java have always been a RIA plateform with Applet to create RWA applications. Apple understand this and migrated NeXT UI library since WebObjects 5.0. Java Web Start was arrive after making easier, like Web application, the deployment of RDA applications. Sun was in advance in this domain but Applet don’t find success and it’s the asset of Silverlight and Flex because they have GUI design tool (Expression Web, Flex Builder). Bob Brewin Sun CTO, tell us that this tool is a priority [Ed Burnette interview Q6] : JavaFX Designer.

I’m not agree with Simon Brocklehurst, I think that this tool and the designer/developer collaboration are essential, i’m not saying developers aren’t good designer, i think application conception with clean code is an art but design and development are different jobs.
The other difficulty is the JRE size, ~13 Mo where the others turns around 5 Mo, but it will be better.
Finally don’t forget mobile objectives (JavaFX Mobile), Java is really present in this domain and could make the difference.

Chris Oliver don’t choose XML for JavaFX Script unlike Microsoft with XAML. It’s true that JavaFX Script syntax is more intuitive and have advantages but we loose XML extension advantages (XInclude, XPath, XSLT). I was thinking Sun make more interest on JAXX, an XML UI language for Swing. But it’s a reality that JavaFX Script is an easier syntax for UI design.
What about SWT ? Bob Brewin say JavaFX Script could be extended for SWT [Ed Burnette interview Q5], and SWT is going to be compatible with WPF, could we have SWT UI generated with XAML ?
Don’t forget SWT is an UI library for RDA not RWA. The Silverlight, Flex and JavaFX Script objectives aren’t the same than Eclipse RCP, NetBeans RCP, Apollo and WPF. I notice that Silverlight use only 30% of WPF [5mn avec Kevin Gallo, Product Manager Silverlight par Didier Girard] where JavaFX Script can use all Java libraries.

What’s interesting thing is Eclipse is everywhere :

When you choose Eclipse you’re sure make the good choice ;).

To compare JavaFX Script and XAML the pad tool are interesting :

Silverlight, Expression tools and DLR at MIX 2007

Microsoft presented Silverlight and the Expression suite, i talked about in previous post. Microsoft confim his designer/developper approach with Expression tools, Visual Studio and XAML in the center. The demos show the import/export features in XAML between tools. It was also the presentation of DLR (Dynamic Language Runtime), the way for multi-scripting languages for .Net with Python, Ruby, Javascript (ECMAScript 3.0) or Dynamic VB (VB v.10) in « open source » under MPL (Microsoft Permissive License).
I like the Scott Hanselman‘s resume schema.
If you want to see the french version you can go to MIX 2007 Paris the 21 june.