Selecting a new User Interface Framework/Library (comparing dojo, extjs and smartclient)
Openbravo is planning to re-design and re-implement the current user interface using both new user interface design paradigms as well as using new technology in a different architecture. The user experience re-design is being done by Rob Goris with some great results and a lot of response from the community.
On the more technical side we are currently in the process of selecting a new user interface framework/library. As many people have noted it is a difficult task to select a user interface framework. There are many good frameworks out there and also many people with strong opinions on what framework is the best. In the end of-course the main deciding factor is if a framework fits to the specific requirements of a web-based ERP.
Next to the obvious selection criteria (open-source, mature, large community, cross-browser, etc.) there are also Openbravo specific selection criteria which play a role in the process:
- a framework should support our target architecture
- a framework must work in a model-driven architecture with runtime re-generation of the user interface (in our new approach the user interface should be re-generated without restarting the application)
- a framework should preferably be targeted for data-oriented web ui’s (powerfull grids/forms/tabs play a vital role in these types of user interfaces).
We have decided to do this selection process in three steps:
- define a long list of user interface libraries
- select a shorter list based on specific selection criteria
- get the list down to a small number libraries and do a more detailed comparison and analysis
For the long list we considered a total of 22 different frameworks (see the complete list here). In the first cycle we cut down the long list to four, using these selection criteria. Based on further analysis and also some community feedback we decided on our final short list: dojo, extjs and smartclient.
At the moment we are in the last stage of the selection process and are doing a more thorough analysis of both dojo, extjs and smartclient. The process and conclusions can be found here (this page is under construction). The detailed analysis is being done by building targeted prototypes and studying available information such as the documentation, sample code, forum posts, tutorials and other information sources.