Metawidget is proudly: Open Source (OSI) Friend of the JBoss Community Open Invention Network


Metawidget is developed by the community. Our mission is:

To develop and promote the industry's most practical User Interface generator, by automating and integrating with as many existing technologies as possible

Let's unpack that sentence:

  • We say industry to emphasize our target of diverse, real-world, mainstream applications: not just prototypes or niche products (like CRUD applications)
  • We say most practical to mean not trying to 'own' the entire UI, but to focus on being a native subcomponent for slotting into existing UIs.
  • Finally we say existing technologies to mean adapting to as many existing back-end architectures and programming languages, and as many existing front-end frameworks as possible

What To Contribute

If you would like to contribute, you can help by:

How To Contribute

Hosted on GitHub

Contribute either by forking our GitHub repository and sending a pull request, attaching a patch to the issue tracker, or e-mailing code to Full source code and documentation is included in the download. Some starting points in the documentation include:

You can also browse the source code online. Because Metawidget is built using Maven, each module (eg. Swing, JPA, etc.) has its own small, standalone project. This makes it easy to use tools such as m2eclipse to open a module's pom.xml in your IDE and start contributing!

Suggested Enhancements

Some enhancements suggested by users to date include (in alphabetical order):

Suggestion Description
PlayMetawidget Play is a very popular Web framework, particulary amongst the Scala community.
WicketMetawidget Wicket is a very popular Web framework, particulary as an alternative to JSF.
ZkMetawidget ZK is a very popular Web framework, and has interesting architectual differences compared to our currently supported Web frameworks.


Huge thanks to all those who have contributed their time and effort to improving Metawidget. In alphabetical order:

Ashlin Eldridge(testing) Bernhard Huber(Swing mnemonics) Danil Arefyev(PrimeFaces)
George Gastaldi(GitHub) Gérard Collin(testing) Gérardo Diaz Corujo(testing)
Girolamo Violante(testing) Ian Darwin(testing) Igor Sakovich(JSF, JPA enhancements)
Illya Yalovyy(testing) Ivaylo Kovatchev(UiWide) Leon E(testing)
Lincoln Baxter III(Maven, testing) Loghman Barari(Vaadin) Michael Studman(testing)
Mike Glazer(Groovy) Renato Garcia(Maven, OVal) Rintcius Blok(GWT build)
Ronald van Kuijk(testing) Ryan Bradley(static JSP, static Spring) Ryan Cornia(testing)
Stefan Ackermann(JGoodies, Scala, SWT) Steffan Luypaert(wallchart) Tom Bee(testing)