Thursday, June 21, 2007

AJAX... JSF... Portlet... Flex!

After spending a month with DOJO, another month with Apache Cocoon, finally with LifeRay, next final discovery was LifeRay, some hacks with WebLogic Portal, then (finally?) playing with Tapestry, Facelets, Ruby & Co., Trails & Grails & Friends, ... ... ...

I can tell you: do not waste your time with AJAX! JSF! Portals!!!

May be Facelets are very good; but abstract JSF is still a big headache.

It started from AJAX.

I needed very rapid tool for front-end development, and I even studied Eclipse RCP with SWT, JFace...

Part 1. AJAX

What I learned: AJAX is a hack. If there is good framework, use it. The best is GWT (Google Web Toolkit), just because Google's team is the best (do you know Joshua Bloch? He left SUN and joined small startup called Google in 2004! Google has 11000 employees now.)

AJAX is a hack... different browsers, different implementations of JavaScript. And not only ECMA! Such trivial things as 'padding' and 'margin' work differently in IE and Mozilla.

AJAX will die. Quickly. I started developing FLEX-based Mail Client for SCALIX.

Part 2. FLEX

It is very attractive. Bruce Eckel, author of "Thinking in Java", even has a small chapter related to using FLEX as a front-end to Java.

I spent just 2 days to learn everything needed for rapid (and even very rapid) Adobe FLEX & ActionScript development. Final hours with cycle of Cairngorm related articles were enough to feel absolutely comfortable with new language concepts.

Adobe sells Flex Builder for about $750, and it includes single-CPU license for LiveCycle Data Services. More than enough to start with! I installed it on Tomcat; of course I needed also open-source implementations of JMS etc.

I am going to develop FLEX-based front end for Tokenizer search engine, it will run at The Market Spy (possibly... I hope)

It's impossible to compare it with AJAX... AJAX promised good performance improvements over traditional HTML-request-response model, unfortunately it is a fake. In a real world you are forced to download a lot of JavaScript code which run very slow, you are forced to make this code dynamically generated on Server so that it is not HTTP-cached, ...

Look some cool staff at Flex.org!!!Can you find anything similar AJAX-based? JSF? JFace?