1

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?

Kamil Tomšík
  • 939
  • 5
  • 19

2 Answers2

5

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.

Steve Goodman
  • 386
  • 1
  • 3
  • +1 for Grails -- I'm quite biased though as I love it. – Edward J Beckett Nov 26 '12 at 17:19
  • yep, considering this one too. the only question is groovy, it has so much flexible syntax... sometimes I can't even tell what the code will do. – Kamil Tomšík Nov 28 '12 at 08:18
  • The great thing about Groovy is that it is a superset of Java. You can write pure Java in a .groovy file, and it is valid Groovy. I've always thought this helps in making the transition. I also think once you start using Groovy, it is so expressive that writing Java feels like writing C or assembler... so many extra steps. – Steve Goodman Nov 28 '12 at 14:30
  • grails seems great :) – Kamil Tomšík Nov 29 '12 at 18:46
  • Play! 2 based on Scala is even better. Play! replaced every last line of its Groovy code when updating from version 1 to 2. Groovy's creator James Strachan said he would never have created Groovy if he'd known about Scala. – Vorg van Geir Apr 03 '13 at 14:33
1

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.

mikeslattery
  • 111
  • 2
  • thanks for response, I do like vaadin, just not that "automagic" html+css part - web application imho should not be coded in the swing way. – Kamil Tomšík Nov 28 '12 at 08:17