Make a choice between IT Mill and other Framework

Hi !
This week I’ve done some benchmarks on IT Mill with Hibernate to compare loading performances on different components. Results are goods, I also made some tests with Echo2 (
) to have a better estimation of my benchmarks. My conclusion is that IT Mill have a better components than Echo2 and it seems to be more easy to develop GUI with it. Echo 2 is interesting (lot of website/blog give goods feedback) but some components need to have many customization to be great.
I’ve done this test because I’m going to change a Framework on an other project who uses GWT with a massive data base.
Sure I have found a lot of benefits to work with a server side framework.
But in few days I will have to make a choice between Echo2 and IT Mill so :

  • I would like to know if somebody can give me some feedbacks about their projects with IT Mill or their experience with other Framework.
  • Is there a risk that IT Mill can change his licence a second time ?

Thanks in advance !

This is great to hear :)

You are refering to introduction of Millstone AjaxAdapter first as a commercial product (that was later renamed IT Mill Toolkit 4). In that case the core framework remained Open Source (LGPL) (Millstone 3), but most of the effort went to commercial version (IT Mill Toolkit 4). The period was quire short - after 6 months of pushing commercial version we announced that it will be released under Apache 2.0. I think that we learned our lesson.

IT Mill:s business strategy is to provide the best open source development environment for Java and add commercial tools and services on top of that. This means that we plan to stay Open Source and as a guarantee have released core framework under really liberal Apache 2.0 license. IT Mill will however continue to develop commercial tools on top of the framework - currently we are offering automated testing framework on top of the framework. These tools and services are optional. We hope that the user like our Open Source offering so much that they ask us for commercial support and additional tools, but we do not try to push these for users who are happy with free offering :)

How does this sound?

I recently compared using JSF/Icefaces and IT Mill Toolkit for developing a simple, but working IMAP mail portlet for Liferay.

I haven’t tried Echo2, so can’t compare to that, but in my opinion developing application-like web interfaces is much easier with Toolkit compared to Icefaces/JSF. Especially if you’re familiar with Swing. On the other hand JSF/Icefaces might be more simple for simple dynamic web pages.

Also I feel that the data container model used in Toolkit is effective. It could perhaps be documented a little better, but when you get the hang of it, it runs really smoothly.

The positive side of Icefaces is of course the amount of developers and communities related to the technologies. The user base is larger than for IT Mill Toolkit.

In the article you can find some general thoughts and at the end there are some stats about hours and LOC used.

Thanks for your explanation, I’m agree with you about about Open Source and Apache licence and I’m sure that you have made the good choice for IT Mill. Moreover if I look around about Ajax framework I think you are in the good way.

Thank you for that and your feedback I will read this.
I will inform you about my final choice.

If you want any specific feedback, I’m using the Toolkit for a quite big project in my company, integrated with Spring & Hibernate (as well as Maven & a few other things).
I’m not affiliated in any way to ITMill, and I think I can be quite objective - even if is well known that I like this framework A LOT :smiley:

So, if I can help you, do not hesitate to send me a PM, or a mail : quentin.astegiano [ at ] .


… another IceFaces victim ; )

I have no idea about how Echo2 is better than Vaadin, but I have an idea about which framework is worse: IceFaces sucks … so many (open) issues! Just take a look at JIRA and you’ll understand why! I asked a friend of mine who is currently working at an insurance company and they use IceFaces heavily, but want to escape the JSF hell too… and guess which framework of hoice they’ll pick: vaadin.

I used echo2 for one of my large projects. I had several problems with it even though I finally came up with my own workarounds to fix those. Now, they have echo3 that has some better concepts. I had to maintain my own versions of even some Javascript (I really hate Javascripting) because they don’t easily accept modifications from end-developers. Also, I had to use an extension called echopoint that has some great additional components.

I still don’t remember how I first came to know about IT Mill but I immediately read all the documentation in a hurry to study what it offers. I really liked the way everything is explained and how the component set can be used. The design of the component set is very logical and object-oriented. Now, I am on my next project using Vaadin and it is very very promising so far.

Wow, what an old topic was bubbled up :wink:

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 :slight_smile:

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.

I read Dmitri’s detailed response and tend to agree word by word.

Actually, I tested out the 6.2 system for widgets and was fairly impressed. The whole widgetset business is turned deprecated. The xml file is still there but the java file is removed. All you have to do is drop a jar with the component into a project, and the (still only the experimental version) eclipse plugin will suggest to automatically recompile the widgetset. All you have to do is click ‘yes’ and you can use the widget directly. Very very easy to use, compared to trying to understand how widgetsets work. I think this will be a hit, along with the Directory project that they are cooking up.

Sounds very interesting ! Will this work only for Eclipse (Vaadin Eclipse Plugin) or available for non Eclipse users as well ?

There is a helper class that will do all the integration work. Thus you can easily include this into Ant/Maven build scripts. Or call it directly from any IDE.