Wow, what an old topic was bubbled up
I think I did previously post my story, but it was with old site and forum (when Vaadin was ITMill toolkit) and probably this message was lost, so I’ll add it again here.
Echo2 was my first server-side framework, to which I turned my face about 2+ years ago. With it learned I loved the server-oriented technique.
So here what we faced up with :
- Lack of detailed documentation (in comparison to Vaadin’s manual, echo’s reference was almost nothing). That was in echo2 days, maybe things changed today, I don’t know.
- Own css styles. They call them css but actually this is echo’s proprietary files, which was causing extra difficulties for stylizing the components look and feel. As built-in look and feel of echo2 is a nightmare for end users, extra stylizing was a required step for us.
- More difficult (for adequate usage) layouts and lack of most commonly-used components
- Significant performance problems (more likely delays) on a large amounts of data. We’ve tried to implement a tree (took the tree control from echopointng project as echo itself has no such component) but displaying a node with even 100…200 items was accomplished with a long 5…15 seconds rendering delays.
Finally, we end up with a web administration console for our system, which worked well and abandoned the end-user front-end, mainly due to performance issues and non-standard customization. The end-user front-end was then implemented in pure gwt + extjs. Then I accidently found a link to itmill toolkit in one of the blogposts, quickly tried it and felt in love
However, there were good things in echo that I’d like to have in Vaadin some day - the client-side component management. In echo you only need to drop an extra jar file into WEB-INF/lib and then can use new or third-party component. Sure, It is hard to do the same with Vaadin due to client rendering engine differences (which has it’s own benefits, more important, I think), but this really may come to a pain when you want to try and integrate many third-party components. Hope, new widget packaging system will simplify this process a lot.
But from other hand, Vaadin has a huge set of built-in components, so up to this time I was able to use this set or create new ones using server-side compositions only. Also, in echo2, it was very difficult to create new widgets while in Vaadin you have plain simple GWT for this.
So, in conclusion:
- Understanding and writing an application with Vaadin is much faster than in Echo
- Heavy Vaadin application runs much faster than Echo
- Vaadin is the only framework, optimized internally to display a large set of data on the client side where developer even does not neet to write a line of code
- Vaadin uses GWT and standard CSS at the client side, making any look-n-feel customizations easy and not requiring any extra knowledge
- Creating a new widget is much much easier than in Echo and also you can start using almost any pure-GWT component very quickly in Vaadin.
- Using several third-party widgets in your project requires extra steps, including widget code recompilation rather than simply dropping a jar file to a classpath
But for now we’ve wrote 5 production applications in Vaadin, 1 in very heavy load, and I may say - Im happy that I found Echo and learned a server-side UI framework world from it and then found a Vaadin. And cannot leave un-noted, that the community here is very friendly and responsive, and it is pleasure to know and talk to all of you.
P.S. This is all my own feeling on echo, vaadin, gwt and server-oriented ui, so I does not agitate or advertise anyone and anything, just wrote my past experience in case it would be useful reading for anyone.