mschipperheyn
Sep 1st, 2009, 08:38 AM
Hi,
I need to develop a CRUD application for a fairly extensive jpa based datamodel (including m:n, inheritance etc) that is currently using for the frontend Spring 2.5.x, Hibernate and Freemarker.
I need to develop a backend for it and I have for a long time been looking for a CRUD type environment that allows me to quickly get a full featured CRUD app up and running.
I have looked at stuff like OpenXava, Krank (1.0.5), Grails, Skyway and Roo. Originally I started from the premise of re-using my existing jpa model but I have since dropped that requirement. Might as well consider re-creating jpa classes if that means a speedier overall development.
So far, Krank was the most impressive in terms of allowing me to create a structured java application (maven, etc) and having an advanced ui which allowed for filtering, sorting, in context 1-n creation etc. Basically, what you would expect from a backend out of the box ui. Unfortunately, Krank seem to have been abandonded.
OpenXava has an equally impressive rich feature set, however, it doesn't allow for a structure project setup (it comes with an entire tomcat setup attached to it) and the source code doesn't look very cleanly separated.
Skyway I just couldn't get to work it's magic for me.
Grails looks impressive in terms of the cleanliness of the code and the code by convention approach. However, when it came to the generated ui, the convention seems to have been thrown out of the window a bit. Editable primary keys, no filtering on lists, a date ui element from the 90s and no in context 1-n creation etc. When I saw it first, the horrible hello world feeling crept up on me that seemed to be the staple of Java frameworks since well, since before gwt: a text field, a checkbox, a radio, a pulldown. I was disappointed. Still, the cleanliness of the code suggests that these things could be easily created and then there is the plugin eco system which seems to offer many nice features. Personally, if code by convention is the aim, a few of the features should imho be out of the box.
What I saw of the Roo UI comes a bit more from screencasts and a first hello world experiments but seemed a bit more advanced. Normal date components, cool numeric filter etc No in context 1-n creation no list filtering.
It's a given that many framework architects and developers place a higher value on the plumbing then on the ui. And then there is the fact that neither Roo nor Grails intend to be an out of the box CRUD framework. However, they do both boast the intention to significantly increase productivity.
Ok, so here's (finally) the question: where is Roo going in terms of CRUD? Are you aiming to scaffold to the point of having a functional CRUD ui generated out of the box or are you going to do a bit of CRUD but not useful enough for production use? E.g. If I have a List with 1:n Tasks, am I going to be able to create, list, filter from withing the List form or are you just going to give me a pulldown with all Tasks? How far in terms of roadmap is the scaffolding going to go?
I've also heard a lot of "well, if you can choose, go with Grails but if you HAVE to use Java, go with Roo". In a year from now, do you think Roo has the same productivity or perhaps even more than Grails? Also taking account out of the box ui functionalities, plugins eco system etc
Kind regards,
Marc
I need to develop a CRUD application for a fairly extensive jpa based datamodel (including m:n, inheritance etc) that is currently using for the frontend Spring 2.5.x, Hibernate and Freemarker.
I need to develop a backend for it and I have for a long time been looking for a CRUD type environment that allows me to quickly get a full featured CRUD app up and running.
I have looked at stuff like OpenXava, Krank (1.0.5), Grails, Skyway and Roo. Originally I started from the premise of re-using my existing jpa model but I have since dropped that requirement. Might as well consider re-creating jpa classes if that means a speedier overall development.
So far, Krank was the most impressive in terms of allowing me to create a structured java application (maven, etc) and having an advanced ui which allowed for filtering, sorting, in context 1-n creation etc. Basically, what you would expect from a backend out of the box ui. Unfortunately, Krank seem to have been abandonded.
OpenXava has an equally impressive rich feature set, however, it doesn't allow for a structure project setup (it comes with an entire tomcat setup attached to it) and the source code doesn't look very cleanly separated.
Skyway I just couldn't get to work it's magic for me.
Grails looks impressive in terms of the cleanliness of the code and the code by convention approach. However, when it came to the generated ui, the convention seems to have been thrown out of the window a bit. Editable primary keys, no filtering on lists, a date ui element from the 90s and no in context 1-n creation etc. When I saw it first, the horrible hello world feeling crept up on me that seemed to be the staple of Java frameworks since well, since before gwt: a text field, a checkbox, a radio, a pulldown. I was disappointed. Still, the cleanliness of the code suggests that these things could be easily created and then there is the plugin eco system which seems to offer many nice features. Personally, if code by convention is the aim, a few of the features should imho be out of the box.
What I saw of the Roo UI comes a bit more from screencasts and a first hello world experiments but seemed a bit more advanced. Normal date components, cool numeric filter etc No in context 1-n creation no list filtering.
It's a given that many framework architects and developers place a higher value on the plumbing then on the ui. And then there is the fact that neither Roo nor Grails intend to be an out of the box CRUD framework. However, they do both boast the intention to significantly increase productivity.
Ok, so here's (finally) the question: where is Roo going in terms of CRUD? Are you aiming to scaffold to the point of having a functional CRUD ui generated out of the box or are you going to do a bit of CRUD but not useful enough for production use? E.g. If I have a List with 1:n Tasks, am I going to be able to create, list, filter from withing the List form or are you just going to give me a pulldown with all Tasks? How far in terms of roadmap is the scaffolding going to go?
I've also heard a lot of "well, if you can choose, go with Grails but if you HAVE to use Java, go with Roo". In a year from now, do you think Roo has the same productivity or perhaps even more than Grails? Also taking account out of the box ui functionalities, plugins eco system etc
Kind regards,
Marc