We’re currently reconsidering technologies and frameworks to get more agile with “simple” RMS CRUD-based projects. In short, short-living things like this
Right now we have a custom extension on top of SmartGWT but after some time it has proven not to be flexible enough.
I also personally dislike the java-js compilation process and the whole GWT codebase. Not only is the design ugly, it also makes certain low-level js things very complicated if not completely impossible. So what I’m looking for is:
- closest to web as possible, like JSF or possibly Tapestry, it is very important to be able get “low” and weave framework if necessary. Happens more often than we thought.
- datagrid capable – Ext.js & PrimeFaces looks pretty good, Vaadin does too.
- db-schema generators (optional, no matter in which way)
If it were only on me, I’d probably stick to Ext.js + custom rest-based java solution, possibly generated from database schema (not sure about concrete tooling yet).
I only have experience with vanilla Ext.js, vanilla GWT and JSF 2.0 / Seam, so it hard for me to judge or even propose other frameworks.
Whats your experience?
What are the downsides you’ve faced?
4
If you’re comfortable with Java, you might give Grails a shot. It provides a lot of what you’re looking for:
- Easy web layer tailoring with Groovy Server Pages. Integrating Ext, jQuery, Angular is as simple as with a standard HTML page.
- Object oriented database management. You define Domain Objects, and the framework builds your database schema for you. You can tweak it to the point where you’re controlling every aspect the DB too. It’s not quite as good as Rails’ Migrations IMHO, but it can remove a layer from active management by developers.
- Excellent REST support with XML and JSON output. Grails makes it very easy to expose your domain objects as RESTful services.
- Groovy!!! So so so much better than Java, again, IMHO.
At my company, we’ve used Grails extensively with Ext. It integrates very well with Ext’s DataStore component thanks to the simple REST support mentioned above. The two frameworks are completely decoupled; there’s nothing in Grails that forces you to use Ext in any particular way or hides particular Ext options from you.
Every tool is going to have limitations, so it may not be exactly what you’re looking for. Personally, I have found it to be a very productive framework.
5
I really like Vaadin for UI prototyping. The code you write is similar to Swing/AWT. You can bang out very rich UIs in very little time with very little code, without having to worry about shuttling data.
In normal usage, it takes care of all the HTML+css+js for you. However, you can use low-level components and settings for times where you want more control. You likely won’t need to very often; you’ll be surprised how functional the API is. Check out the demos and the 3rd-party directory.
It’s not a good fit for web sites, but is great for web applications.
1