Metawidget integrates with:
|
Frequently Asked Questions - Comparison
There are many great projects that address automatic UI generation, and we are honoured to be counted among them.
At the time of writing, we are not aware of any with the same goals as Metawidget:
- to create UI widgets by inspecting existing architectures
- not to try to 'own' the entire UI, but to focus on creating native sub-widgets for slotting into existing UIs
- to perform inspection either statically or at runtime, detecting types and subtypes dynamically
Based on these goals, the table below shows how Metawidget compares to other projects. You can see Metawidget's
most unique feature is its integration with existing architectures, so Metawidget will be of most interest if
your UI generation requirements are such that:
- you want to leverage the full ecosystem of frameworks and tools
- you are targeting multiple platforms
- you want to avoid vendor lock-in
- you have unusual or specialized architectural requirements
Project |
Inspects existing architectures |
Creates native sub-widgets for slotting into existing UIs |
Can perform UI generation at runtime |
BeanView |
No, uses its own annotations |
|
|
Clickframes |
No |
No |
No |
CodeSmith |
|
Could do, if used carefully |
No |
Eclipse Modeling Framework |
No, needs a model described in XMI |
Could do, if used carefully |
No |
eXpressApp Framework |
No, expects a fixed-set of technologies for its Application Model |
No |
No, their Application Model is created statically |
Grails Scaffolding |
No, requires Groovy and a constraints construct |
No |
Sort of, but to tweak the output
you run grails install-templates or grails generate-views which use static code generation |
JMatter |
No, requires everything to be defined on domain objects |
No |
|
Merlin |
No, expects a fixed set of technologies (eg. they deprecated their @Alias annotation in favour of
@org.jboss.seam.annotations.Name) |
|
|
Metawidget |
|
|
|
Naked Objects |
No, requires everything to be defined on domain objects |
No |
|
OpenXava |
No, expects a fixed set of technologies (eg. JPA, Hibernate Validator) |
No |
|
Seam-Gen |
No, expects a fixed set of technologies (eg. Seam, JPA) |
No |
No |
Skyway Builder |
No, expects a fixed set of technologies (eg. Spring) |
No |
No |
Tapestry BeanEditForm |
No, expects a fixed set of technologies (eg. Tapestry, Javassist) |
|
|
UGAT |
No, expects a fixed set of technologies (eg. Hibernate) |
No |
No |
Wicket Web Beans |
No, expects a fixed set of technologies (eg. Wicket, JavaBeans) |
|
|
This page is meant as a useful comparison - not to bash other projects! If you think any of the above is inaccurate,
or know of other projects, please let us know.
Note Metawidget is not an application framework. It does not compete with, say, GWT, JSF, Spring, or any number of other excellent
frameworks. Rather, Metawidget uses those frameworks in its goal to address automatic UI generation.
|