User Interface Generation Framework
- Open Source
Metawidget is an Open Source project, founded by Kennard Consulting, that aims to address the pain points associated with User Interface (UI) development.
Many applications today require a lot of data entry forms - either for collecting data or displaying it. Most developers do this using either visual tools or UI languages. But both these approaches are very fiddly: developers have to drag-and-drop, or write declarations for, every single widget and label. That's very error prone because each of those widgets and labels has to exactly match some definition in the back-end: either the names and types in classes, the field lengths in database schemas, or some other place the UI maps to. A third common approach to developing forms is using a code generator. But these tend to produce very generic-looking UIs (usually Create Retrieve Update Delete), or work only for a specific set of technologies that the generator targets.
Finally, of course, those back-end business objects evolve over time - new fields get added, field types change, etc - so developers are left constantly reworking their UI screens to keep up!
Metawidget is a UI technology focused on enabling developers to use their existing back-end technologies (including combinations of technologies) and their existing front-end frameworks (including different UI frameworks and mixing third-party widget libraries) to automate UI generation. It only tries to generate the forms, not the entire UI, so developers still use their preferred UI toolkit to get the exact look and feel they require. And Metawidget generates everything at runtime, not statically, so that screens automatically evolve in sync with business objects.
We found Metawidget to be an excellent solution. It's clear that a lot of work has gone into understanding different enterprise architectures, both standard and non-standard, to ensure Metawidget integrates well with them. The result is a project we think will be very relevant and applicable to our enterprise customers in the future