News: Comparing the Google Web Toolkit to Echo2
- Posted by: Tod Liebeck
- Posted on: June 06 2006 06:50 EDT
- Nice, balanced comparison by David Heffelfinger on June 06 2006 09:22 EDT
- GWT is not a thick client, is it? by Stephen Legge on June 06 2006 11:57 EDT
- Echo 2 demo by George Coller on June 06 2006 17:43 EDT
- Re: Nice, balanced comparison by Christian Sell on June 06 2006 18:27 EDT
- Anybody planning to shelve JSF bassed approach for GWT by bad mASH on June 08 2006 13:44 EDT
- why not? by geoff hendrey on June 06 2006 12:08 EDT
- Re: Comparing the Google Web Toolkit to Echo2 by Dilip Ranganathan on June 06 2006 14:00 EDT
- Advantages and Disadvantages by Thomas Meeks on June 06 2006 16:35 EDT
- Response to GWT comments by Shane Witbeck on June 06 2006 19:16 EDT
- How about Java interpreter and markup language by Aburo Ichiro on June 07 2006 00:41 EDT
- Some usefull links on gwt by jelmer kuperus on June 07 2006 01:51 EDT
- GWT + Echo2 together? Maybe the Best of both worlds by Luca Garulli on June 07 2006 04:39 EDT
- Testing and spring support by Machiel Groeneveld on June 08 2006 02:20 EDT
- Comparison by Dattesh Patel on June 08 2006 13:38 EDT
- IT Mill Toolkit by Joonas Lehtinen on February 18 2007 08:20 EST
Nice comparison of GWT vs Echo2. Although I have no experience with GWT, and very little experience with Echo2, if I needed to pick one versus the other for a project, I would probably go with Echo2, simply because it does not limit what Java classes and libraries can be used to develop the application. The fact that the online Echo2 demo is very impressive doesn't hurt, either. A couple of Echo2 reviews can be found at: A Review of the Echo2 Framework and A Closer Look at the Echo2 Framework Disclaimer: I wrote both of the above reviews.
First let me define "thick client" and "thin client"...or rather let me quote Wikipedia's definition of them:
Wow, that Echo 2 demo is pretty impressive.
I would like to hear from early adopters of GWT ? Any plans of pushing GWT into actual projects ? JSF has a steep learning curve . But I am yet to find productivity gains. GWT concepts, on the other hand, is familiar to anyone who has ever written a "hello world" Swing application.
I'd like to use ECHO2 for intranet application and choose GWT for internet application. for gwt can integrate with existing html, some tranditional web design tools can benifts for it. for example, use dreamweaver template to maintain overall style. echo looks more like swing, for it is a PURE java app, app will be reliable. compiling time check, refactor, and so on... echo runs a little far from HTML, it will be easier for swing developer. gwt api is flexible, html block can be set as a link text. on the other hand, echo2 may reder output's to flash, or xaml in the future. maybe gwt add some mechanism to let controls work like a server side control. for now, I believe Echo/GWT will lead the future web devlopement.
on the other hand, echo2 may reder output's to flash, or xaml in the future.Why "may render in the future"? You can do that now with http://www.openlaszlo.org/
When GWT was first released, I spent a solid week investigating it and writing a small application. I'd like to response to a couple of the points made here based on my experience.
all of your GWT code is executed on the clientThis is very misleading. Yes, GWT takes care of translating your client-centric Java code to HTML, JS, and CSS but you still use your existing server-side code (think Spring, Hibernate, business logic, etc) to drive the client code. Google has done a great job of making GWT flexible enough where you can write a full blown client with GWT or a simple "widget" placed in an existing HTML page with the addition of a div tag.
GWT limits the developer to a subset of the Java 1.4 librariesAgain, this is somewhat misleading and not entirely true. I was able to write a GWT app using Java 1.5. The only limitation is that the client portion of the GWT code must use 1.4 conventions. You can still use Java 1.5 for most of your service/middle tier.
There are some issues to using it for the creation of large applications, where downloading an entire application to a client web browser in one shot would not be practical.I don't think this is a limitation of GWT but calls into question how you design the application. Having several "entry points" to the application may be an option. I found GWT to be a refreshing change to the AJAX library landscape where there are tons of small and some useful (Prototype) libraries:
- GWT provides a nice abstraction which most Java developers can pick up quickly.
- This abstraction also promotes reuse so you can easily use a "widget" from one app in another with minimal effort. This alone is huge in the AJAX space and lowers the barrier to developers that haven't been able to effectively incorporate AJAX into their apps.
- Enabling the development cycle to happen using Java byte code is also huge. I would guess that this would reduce the development time of the app a minimum of 30%. No more app server restarts (for client-related code) and debug your client code using your favorite debugger.
Upon hearing your concerns, I think I need to provide a bit more clarity with regard to these statements. The terms "your GWT code" and "your Echo2 code" are not referring to the entire application, but rather to the application's user interface layer. The same applies with regard to the statement that GWT is limited to a "subset of the Java 1.4 libraries." Additionally, after reading your complaint, I now believe this last statement could have been better termed a "subset of the Java 1.4 API specification".
I don't think this is a limitation of GWT but calls into question how you design the application. Having several "entry points" to the application may be an option.I do not believe the large-application-problem is a show-stopper. I do think this is rightly called an "issue" though, as it does create additional work for the developer. As an example, take the case where those multiple entry points need to share information at the UI level. It can most certainly be done, but it does require more work than if one were able to create a single "application" unit.
I found GWT to be a refreshing change to the AJAX library landscape where there are tons of small and some useful (Prototype) libraries: 1. GWT provides a nice abstraction which most Java developers can pick up quickly. 2. This abstraction also promotes reuse so you can easily use a "widget" from one app in another with minimal effort. This alone is huge in the AJAX space and lowers the barrier to developers that haven't been able to effectively incorporate AJAX into their apps. 3. Enabling the development cycle to happen using Java byte code is also huge. I would guess that this would reduce the development time of the app a minimum of 30%. No more app server restarts (for client-related code) and debug your client code using your favorite debugger.The numbered points here apply equally to Echo2. Please don't read me wrong here, I'm not trying to knock GWT--I actually think it's pretty cool. Both frameworks have their advantages and disadvantages though.
building your own components - http://jroller.com/page/glongman?entry=gwt_autocompleter Scriptaculous Effect Wrapper - http://roberthanson.blogspot.com/2006/05/announce-gwt-widget-library.html Spring integration - http://jelmer.jteam.nl/?p=5 components date pickers etc - http://gwt.components.googlepages.com/
Roma Framework (http://www.romaframework.org) is a metaframework with the main aim to build cross-framework application. Current version allow to generate Ajax web application with database and CRUDs in less than one hour. Now the unique rendering plugin available is for Echo2. Echo2 acts very well and using additional components (NextApp's Extras and EchoPoint NG) allow to write very complex web application without write one HTML tag... A new Feature Request in Roma is to support the GWT along with the current Echo2 and decide by configuration what POJO to render with GWT (client-side only) or by Echo2 (client+server side). bye, Luca Garulli Blogging on: http://zion-city.blogspot.com http://www.RomaFramework.org - The new way to build applications http://www.Pro-Netics.com (member of Orixo.com - The XML business alliance) http://www.OrienTechnologies.com - Light ODBMS, All in one JDO solution
What I'm missing from this comparison is the support for Spring. I tried Echo2, but it lacks spring support and I can't find the right place to integrate spring. The other thing I would like to know is how easy it is to write unit tests using these toolkits.
What's wrong with just plain old using Spring? What integration is needed?
What I'm missing from this comparison is the support for Spring. I tried Echo2, but it lacks spring support and I can't find the right place to integrate spring.I can't speak to Echo2, but Spring 2.0 integration with GWT can be done in much the same way as the AspectJ 'dependency inject your domain model' technique. GWT creates its RPC endpoints internally based on the classnames you supply in an XML file, so it's easy to write a simple aspect that performs DI on advised objects and apply it after the constructors for relevant GWT-managed classes execute. I've written a bit more in-depth about the process here, since most of the other techniques I've seen so far for Spring/GWT integration have a 'workaround' feel to them.
I've written a bit more in-depth about the process here, since most of the other techniques I've seen so far for Spring/GWT integration have a 'workaround' feel to them.Mark, did you figure out how to modify Eclipse .launch file to debug GWT + Spring in hosted mode? Valery
+1 I'm just starting out to learn about both Echo2 and GWT, and I am leaning towards this same observation. Anyone know of an "autocomplete" implementation in Echo2? That appears to be a component that is fast becoming a "standard" requirement for UI frameworks, but I did not find it in the demo.
Both frameworks have their merit, however, I+1 I'm just starting out to learn about both Echo2 and GWT, and I am leaning towards this same observation. Anyone know of an "autocomplete" implementation in Echo2? That appears to be a component that is fast becoming a "standard" requirement for UI frameworks, but I did not find it in the demo.
like the Echo2 model.
You can debug your GWT app while developing
in Java.. but how about debugging your app
and browser compatability issues with Echo2.
The framework also looks more complete in terms
of the number of components, etc.
Digital Vastoo - For All Your iPod Needs
Besides Echo2 and GWT mentioned in the article, you should also look at IT Mill Toolkit when comparing "Code in Java" Ajax frameworks: demo, manual, download, features, more info