It's a good question, Steve, and - having not used Grails - one I'd be grateful for insight into myself; something to go in our docs [1]
FWIW, my own view is that Apache Isis sits at a higher level of abstraction than Grails (or pretty much every other web framework out there). That brings with it the usual trade-offs; more productive while you are working within the framework's assumptions, but more effort when you need to step outside. Isis does of course have various ways of being customised, and if you know Apache Wicket (or can hire someone who does) then it's quite easy to bend Isis' UI to different views; see for example [2] which is a bunch of custom pages alongside and on top of an Isis app. I believe that Grails uses an MVC pattern, with explicitly coded controllers and views (as well as the domain model). That'll let you write pretty much anything you like in terms of a UI, but it'll also introduce a lot of unnecessary overhead if the UI you are after is similar to that which Apache Isis provides. That overhead shouldn't be underestimated... it's the maintenance of all those extra layers of code that really impacts agility and the ability to iterate to deeper and richer domain models. The Isis addons are also a pretty significant differentiator: having off-the-shelf implementations for security + multi-tenancy, command/auditing, publishing, as well as more esoteric stuff such as docx mail merging, feature toggles and random data services, is a big win. So too is the polymorphic navigation pattern that's in there, key to decoupled subdomain/modules. This is a level of sophistication that I doubt most developers using Grails would get anywhere close to considering. Testing too is probably quite different... I imagine the only way to properly test a Grails app is to use Selenium, whereas with Apache Isis we have our integration testing tool and supporting wrapper factory. One consideration might be the length of time you intend to the application to live for. We know that naked objects systems are good at maintaining their architectural integrity ... witness the NO system for the government in Ireland, that after over a decade still ships a new release each month. And Apache Isis as a framework is quite a long way more sophisticated and thought through than even that system. All that said, Grails is a very capable framework, and probably one of the better ones out there. And it has a lot of users and an active community, all stuff that is important and shouldn't be overlooked. If I'd never come across the naked objects pattern, I imagine I'd be writing systems in a framework such as Gails. Very interested in other opinions, but I hope that helps. Cheers Dan [1] http://isis.apache.org/guides/ug.html#_ug_core-concepts_principles_apache-isis-vs [2] https://my.tellmegen.com On 17 July 2015 at 03:14, Stephen Cameron <[email protected]> wrote: > Hi, > > Anyone care to share their thoughts on this comparison: Apache Isis vs > Grails? Relative strengths and weaknesses. > > Maybe some main things to look at myself, I am committed to Isis for the > current project, but should know more about Grails I now see. > > Thanks > Steve Cameron >
