4 ms·
I worked on a product that used the Vaadin framework for UI. It is a serious, production ready library that is written by some very sane and very intelligent pe
by ganonm 9y ago
I worked on a product that used the Vaadin framework for UI. It is a serious, production ready library that is written by some very sane and very intelligent people. The JavaScript hipsters would probably turn their nose up at it, but being purely objective I found it to be a good solution. I have also worked on a project that used React + Redux on the front-end so I believe I have a fairly balanced opinion.
pros:
- Server-side rendering can improve client-side performance, especially since it allows you to avoid N + 1 problems associated with many roundtrips to REST APIs
- Compatibility with all common browsers (Vaadin take responsibility for this basically)
- If your backend codebase is already Java, writing your UI code in Java can save time/reduce complexity (e.g. all your existing static analysis tools can now be applied to your frontend code as well)
- There are simple, well documented ways to wrap 3rd party JavaScript libraries. I was able to integrate VisJS as a custom component quite easily
cons:
- Server-side rendering comes with a non-trivial memory overhead that scales pretty linearly with no. of clients. This may or may not be a concern depending on your requirements
- In terms of writing elegant code, I found the experience much better with React + Redux, as best practices are essentially enforced here (pure functional code)
- You still have to get your hands dirty with CSS, although Vaadin does provide base themes like Valo if you so wish to use them
- always_good 9y ago>The JavaScript hipsters would probably turn their nose up at it, but being purely objective I found it to be a good solution. I'd rethink the assumption that you're purely objective and other people are not.