quarta-feira, 9 de junho de 2010

Apache Pivot and news

It has been a while since the last post. Unfortunetely the time is still short to continues with the DOD posts, in this meanwhile I will talk with a relatively new Apache project: Pivot.

As stated in the project main page the purpose of Pivot is to:
Building rich internet applications (RIA) in Java by combining the enhanced productivity and usability features of a modern RIA toolkit with the robustness of the Java platform.
The first issue that should be clarified, it is not a HTML+CSS+Javascript solution like ExtJs or JQueryUI or any other framework around. It is in fact a framework for build application in the old and good JVM.
It means that to run this RIA application you still need the Applet (or webstart), a JVM in client and all the stuff for this kind of application.

The first question is: so not why Swing? First of all the Pivot UI classes provide a lighter implementation than Swing, something like Thinlet. All the UI elements are rendered using Java2D and it also provide some nice effects (over the tradicional Swing).

On the top of it the interface can be created with a declarative language, so you don't need to use that huge amount of code. They have choosen to use the WTKX, which is a XML that you can specify the interface (acording to the project website: "A nice and open XML for declaring graphical user interfaces in Java"). This fact is already a great advantage over Swing.

And finally why RIA? Is it not just another UI framework. Well in fact no, it also comes with a set of classes and libraries that makes the comunication with a webserver much easier, thinks like http calls, web service integration and so on.

I think it as a good alternative for traditional Swing app, maybe not just for RIA application, even for your Java desktop app. Such kind of integration with the webservices is really usefull.

What I still miss there is a better way to deploy your application over the web. Using applets and webstart is still a pain.

By the way, before saying see you next time, I would like to introduce a new session in the posts, a part that can be used even if the post is really boring or not usefull at all. For example, tip for a song, movie, a cake receipt, a joke, whatever. Today I will go for a music, so...

A good sidekick for this post is Dropkick Murphys - Johnny, I Hardly Knew Ya.

2 comentários:

TRex disse...

Laertone!

Once you post is in English, I'll try to comment in English too.
Well, I'd never heard about Pivot before. It's interesting and pretty nice.
However, I thing that kind of RIA is destined to death.
First of all, applet sucks. I know, nowadays, almost all machines has Java installed, but having this dependency is not a good idea (see Apple's Case...).
You can see, for instance, the JavaFX that has no massive adoption, even being a good language.
In addition, we have HTML5 which will kill both applet and Flash.

Link d'Alekine disse...

That is true, this kind of RIA is not for everywhere, I don't see a website using it. Maybe you can find some place for it as an internal application, where the environment and network is under control.

The Apple case is just as usual, to cause some fuzz in the word, call attention. And for sure try to put down the leader (my opinion).

JavaFX is also a technology to create nice applications, but still standalone applications (although the FX has some parts for the mobile world).

And finally HTML5, I agree that it is a wonderfull improvement into the HTML standards, but we need to remember that: 1. it has great improvements into the Media side, creating reach application is still a problem (and you will still need those huge amount of JS, and keep using your nice all-around JS library); 2. remember, HTML 5 is not going further without a real adoption from the browsers. And we have already seen it before: half standard, clients with old browsers, small differences that makes all the difference and so on...

But I in general agree with you: web is for web and standalone app is still a standalone app.