-
Notifications
You must be signed in to change notification settings - Fork 11
Other MDD frameworks
This project is not anything new under the sun :(
Fortunately there are other awesome model driven development (MDD) frameworks out there. I think we can make 4 big groups:
- code generators (spring roo, jbos forge and jhipster)
- MDD engines (apache isis, openxava, mateu)
- RAD frameworks (cuba)
- Low code platforms (OutSystems, Appian, APEX, ...)
I like Mateu as it does not generate code (I definitely do not want more code, but less), it works following very simple paradigms and the frontend and the backend are completely decoupled by a very simple API. I think this places Mateu as a good (and different) alternative for building our UI.
Jboss Forge is a wonderful J2EE code generator under the umbrella of Jboss. It mainly provides a command line tool to generate our app code (entities, menus, cruds, ...).
Spring Roo is a fantastic Spring code generator under the umbrella of Spring. It mainly provides a command line tool to generate our app code (entities, menus, cruds, ...).
As far as I have seen JHipster is a code generator, rather than a runtime engine as Mateu MDD is. Also, JHipster seems more like a way to create a project which, out of the box, includes a lot of cool stuff while Mateu MDD only cares about the application core. Currently Mateu MDD is not about deployment or log viewing. JHipster helps you create Angular + Spring applications, while Mateu MDD applications are pure java ones.
OpenXava is a great framework with a lot of excellent features. As far as I have seen OpenXava generates, on the fly, CRUDs from our JPA entities. I think their product is quite similar to Mateu MDD, though I think we have arrived by different ways.
Apache Isis is a wonderful and very complete Domain Driven Development framework. It uses JDO for persistence. It relies on DataNucleus, Wicket and Shiro.
I think it's more or less the same idea as Mateu MDD, though obviously far more complete and mature.
The linkki framework is another awesome framework which implements the Presentation Model Object (PMO) pattern. It is also based on Vaadin, as Mateu MDD does.
I have not had a deep look at it, yet, but I think it is a great project and I'm sure I will bring some of the ideas of the linkki framework to Mateu MDD.
The Cuba Framework is a Rapid Application Development (RAD) solution which generates a Vaadin based UI. It provides it's own IDE (the CubaStudio) to define the entities and views. The Cuba framework is also about BPM, reporting, charts, BI and full text search. It is a complete and well finished development framework. It seems to me like JHipster, but better done.
I think that if I saw it before Mateu MDD would not exist ;) Anyway, now that I have both options, I think I prefer Mateu MDD as I think Mateu MDD saves me more development effort.
Low code platforms like Outsystems and Appian are a little out of scope. IMO they are a good tool for rapid prototyping, but I prefer to use good old java when it comes to develop a UI for production. I already evaluated Outsystems some time ago, but I plan to review them again at some point and update this chapter.
Fortunately there are some wonderful frameworks for helping you to develop faster and more reliably. Though all of them are great, I think none is perfect. Also, there are a lot of factors that you must consider when choosing your development tool (your team members skills, the kind of applications you build, the mid and long term, and a huge lot more) so I understand that, unfortunately, today there is not a silver bullet which could be the right solution for everyone. At the end I understand that you have to choose the one which better suits your needs, and do your best to assume its weaknesses.
I would say that, from the list, my favourite one is the Cuba framework. Anyway today I like more the way Mateu faces the development. I think Mateu proposes a more java like view of the development, and this brings a lot of good things to you. Also, I see Mateu as a lighter and less intrusive framework, and freedom is one thing which I highly appreciate. Perhaps it makes sense that both frameworks exist.
I will update this list as I know about other MDD (or similar) tools.
I hope it helps.
- Home
- Disclaimer
- See it in action
- User manual (v3)
- UX and IA
- Internals
- Roadmap
- Javadoc
- SonarQube
- Other MDD frameworks
- Thanks