“Before you speak, listen. Before you write, think. Before you spend, earn. Before you invest, investigate. Before you criticize, wait. Before you pray, forgive. Before you quit, try. Before you retire, save. Before you die, give.”

Sunday, October 24, 2010

GWT compiling performance

Just a reminder for myself of the required performance to compile a GWT -GAE Application.
This is on my Core i7 860 machine with only 2GB of RAM (for now).Some people might notice I am running on 1GB of swap so let's just say that this is the blocking issue for now. Still it's a core i7 running at full power for a while just to do this processing. I wonder if people developing with GWT do this kind of work on Core i7 980 processors (extreme hexa-cores processors).

I have created a Proof of Concept online for a Java application that I want to test but for now it is not quite ready to go public.
Google is number one for offering some things I could not find online
1) Affordable Java web hosting - this one is free for small loads
2) The GWT toolkit saving me from writing Javascript (I don't like Javascript very much).
3) The AI driven car which they are working on (but on this on a different article)-

Still the approach is causing me a lot of headache. You need to be able to write Java code which is then transformed into Javascript and then the whole package is transformed into a war and deployed on the server.
My other home hobby project is created as an ear and it only takes 40 seconds to compile , run unit tests and create an ear.
This one ( a very stupid GWT hello world) took me as much as 2 minutes to do the same thing in a normal non -blocking mode(no other consuming applications) 1 minute 30 seconds.
I need to look into it but I guess generating JavaScript is not quite instantaneous.
The benefit of writing Java code AND unit-tests is clear. You know exactly what goes wrong and why it goes wrong (if you are a decent Java programmer).

Nevertheless I think that adding another abstraction layer on top of JavaScript might cause some impossible to fix bugs ( without JavaScript knowledge).
It took me a lot to just compile classes and make GWT compile a different set of classes .. because GWT classes do not mix with backend classes such as Hibernate or JPA classes so you need to specify that accordingly.

Will it work ? Well I will let you know soon enough as I am preparing my application.

Later Edit : After a week fixing a RichFaces bug involving extending both RichFaces and Facelets frameworks (just to handle a ViewExpiredException and to make IE7 handle a redirect ) I have the feeling that GWT might be a better alternative then the JSF and Javascript combination at least in the short run.
Of course there is always Flex which is a bit safer but involves also learning anew language and buying the FlexBuilder.