Today exist many technologies that bring type safety, object oriented methodologies and design patterns to the Front-End and the Back-End developers have the opportunity to fight their own technical mindset limitations, and spread to more areas of programming. Today also exist several technologies that hide the need to learn all these technologies and paradigms all together. One of them is Vaadin. Here are some pros and cons:
- + It is Java Component framework. You could use object oriented features and design patterns for writing less code – code reuse and optimizations.
- + A marketplace exist with a lot of ready Vaadin components and Vaadin ports of other frameworks and technologies https://vaadin.com/directory.
- – For some more specific stuff that the framework doesn’t provide ready solution, you’ll need to dive deep – how the hiding of the web protocols is done and implement it on your own.
- + and – It is server based. Depending on the target area this can be a feature or disadvantage. For applications in the security area – it is good idea that the server controls everything. In the normal / build-in / case, every state change is handled to the server. In some other cases this can hurt performance or user experience – where the client should make some changes and submits them in bulk. For this business case you could use the technology beneath Vaadin (Google Web Toolkit). I’ll write about it some other time.
- +/ – It is a advantage that it is already User Interface technology that could “talk” to the others server-side layers and technologies without additional layers. In the same time, if you want to expose the data and use some other User Interface – like Mobile Application, export the data for use by other desktop or server-side clients – you’ll have to write additional Web/REST/ or some other/ interfaces.