Showing posts with label NextApp. Show all posts
Showing posts with label NextApp. Show all posts

Sunday, February 10, 2008

Echo2 and GWT

I've had a fairly good experience with Echo2 so far and relatively less so with GWT - but I thought I'd just record my biggest gripe with GWT so far.

As I noted in my previous blog - Google effectively creates their own JVM in the browser. This results in non-trivial differences for a developer:
  • You have to remember that the code you write has to be compliant with the 1.4 Java spec. This means that although you may write perfectly compiling code using your Eclipse IDE (set to 1.4+ compiler compatibility - after all we're all on Java5 now if not Java6) the GWT compiler will throw errors if you use any of the Java5+ language features
  • Even within Java 1.4 limits, fairly innocuous things like System.arraycopy() are not supported.
  • You lose the ability to use something as useful as Java's built-in logging feature - Eclipse based debugging is all very fine, but we all know that debugging is only useful for the last mile. Logging is the the meat and potatoes of most trouble shooting for most developers and GWT does not give us a good way to do that yet.
These are problems as of now. Google keeps getting better, so I hope to see a lot of this gone pretty soon. But, splitting the spec by calling the libraries Java compatible while having so many issues, reminds me too much of Microsoft's bastardization of Java a few years back. This is a new VM which breaks the Java promise of write once and run anywhere in many ways and that should be made clear right at the outset...

Incidentally none of these are issues for Echo2. Since all the code you develop (aside of course from any custom scripting) is run on the server side - you can use all Java features without any issues.

Saturday, December 29, 2007

NextApp's Echo2

Google has pretty much swept the AJAX field with its GWT - but a lot of fairly viable options remain on the table. Of these I've had a lot of experience with Echo2 from NextApp

Both Echo2 and GWT offer the advantage to developers of being able to develop purely in Java - a huge benefit to back end developers wanting to break out without necessarily having to kill themselves over browser anomalies and such.
However, they differ in a crucial way - GWT pushes practically all computing and state management to the client/browser. In effect they create a browser based/Javascript based JVM that runs the UI which is generated as a post compilation step from the Java code. This is great from a scalability perspective since the server just deals with data generation.
Echo2 on the other hand (soon to be Echo3) does on the fly rendering of the screen based on the Java code and does a lot of heavy lifting on the server including state management for all users.
The big benefit I felt from Echo2 was the fact that not only was everything pure Java at development time but it remained so at runtime as well. So debugging etc tended to be much smoother. Also the transparency of developing and running on the same JVM can be a pretty good thing for large volumes of code.

I have a fairly large application running off a Ubuntu+JBoss combination very stably for some time now and I believe it deserves at least one good look.

The differences between the 2 will continue to narrow with time so I will continue to update my opinions over the next few postings.