This new approach allowed us to drastically reduce the code for the presentation layer and limit the knowledge needed to develop, since we dropped a lot of complex enterprise technologies to start to develop in pure Java language.
|LogicalDOC 6.0 GWT GUI (click to enlarge)|
When the experience counts
It doesn't matter how good is your product, the only thing your users will look is the user interface. After all each electronic artifact exists to serve human people business processes. So the way in which your users interact with your system is the most important aspect and you have to take care about your users experience.
A graphical user interface based on GWT (Google Web Toolkit) technologies will assure you these following goals:
- High response times, since all the GUI is executed in the client side
- High experience, equal to a traditional desktop systems
- Compatibility with all used browsers
The best thing that GWT will do for you is to completely decouple the presentation layer (completely executed in the client) from the business and data layers (completely executed in the server)
Approaching the development of an enterprise-class application like LogicalDOC, involves the development of a large number of similar widget and forms for data manipulation. These elements are presentation layer components, and here are two general approaches to develop them:
- Creating of separate classes which represents visual component for each form.
- Creating universal visual components and widgets that can be composed together
If you try to follow the first way you probably will have a lot of code to produce and a lot of development time. You may agree that the correct approach is the first one and GWT simply adopts the Object Oriented paradigm allowing you to reuse components and take benefit from concept like inheritance and polymorphism.
So when building a user interface with GWT, it is possible to use generic components, significantly reducing the resources for the development of the presentation layer. In addition since GWT is pure Java you will not be required to use senior development resources, you just develop in standard Java.