Quick Start

Getting Started
Core FAQ
Licensing FAQ
Open Source (OSI)

Metawidget takes your domain objects and automatically creates User Interface widgets for them, saving you handcoding your UIs and leaving you to concentrate on stitching together your application.

As much as possible, Metawidget does this without introducing new technologies. It inspects, at runtime, an application's existing back-end architecture (such as JavaBeans, existing annotations, existing XML configuration files) and creates widgets native to its existing front-end framework (such as Swing, Java Server Faces, Struts or Android).

Metawidget does not replace or hide your existing User Interface framework and guarantees that your investment in its technology and knowledge is as valid as always. The LGPL open source license allows the use of Metawidget in open source and commercial projects.

Supported Technologies

1. Front-Ends

  • Android
  • Google Web Toolkit (GWT)
  • Java Server Faces (JSF)
    • Facelets
    • RichFaces
  • Java Server Pages (JSP)
  • Spring Web MVC
  • Struts
  • Swing
    • Beans Binding (JSR 295)
    • Commons BeanUtils
  • ...help us add more!

2. Back-Ends

  • Annotations
  • Groovy
  • Hibernate
  • Hibernate Validator
  • JavaBeans
  • Java Persistence Architecture (JPA)
  • Javassist
  • ...help us add more!

At a high level, the goals of Metawidget are:

Metawidget requires J2SE 1.4 or higher. Some optional features require Java SE 5 or 6.

The download includes documentation and examples for all supported front-ends and back-ends. Click here to download it.

Metawidget integrates with: Java Enterprise Edition Android Google Web Toolkit Groovy Hibernate Java Server Faces Spring Struts Swing
Metawidget is proudly: Open Source (OSI) Hosted on SourceForge.net
Artwork by Susie Walker Design
Template by Free CSS Templates
Additional artwork by Visual Pharm
Valid XHTML 1.0 Transitional
All trademarks are the property of their respective owners
Web: Metawidget has a native component/taglib for each popular Web framework
Desktop: Metawidget has a native Swing JComponent
Mobile: Metawidget has a native Android View
Inspect: all Metawidgets, regardless of which front-end they are native to, use a common inspection process to inspect the existing back-end architecture
Properties: Metawidget inspects runtime properties from JavaBeans or GroovyBeans
Annotations: Metawidget inspects runtime Java objects for existing annotations, such as JPA or Hibernate Validator annotations
XML: Metawidget inspects existing XML configuration files, such as
struts-config.xml or hibernate.cfg.xml
Create: the inspection results are used to choose the best UI sub-widgets, depending on those available on the native platform
Web: Metawidget creates native components/taglibs for each popular Web framework, including attaching validators
Desktop: Metawidget creates native Swing JComponents, optionally bound with Beans Binding (JSR 295)
Mobile: Metawidget creates native Android Views
Embed: the native UI subcomponents slot into the existing front-end