Introducing JSONForms

Over two years ago, we started working on EMF Forms to ease the development of form-based UIs. During this time, it has become one of the most active and well-received projects in the Eclipse community.

Instead of manually coding UIs, the framework allows to describe forms via a simple view model, which is interpreted by a rendering components. This approach worked particularly well, besides saving a lot of effort, the rendered results are typically more consistent and stable. Additionally, EMF Forms rendering components are inter-changable, so besides SWT, the frameworks also supports UI technologies such as JavaFX and with RAP and Vaadin, there are even renderers for web applications available.

Now, in 2015, we are ready for the next step – JSONForms.  As web applications become more important, Javascript as a language, as well as a community, is prospering. However, even browser applications very often require form-based UIs allowing to show, enter and modify data. We therefore decided to work on a new framework which brings the concepts of EMFForms to the web: JSONForms.

It will be based on a pure and native web stack, using technologies such as AngularJS and Restful services and obviously, JSON plays a central role 🙂

(Photo by Jake and Lindsay Sherbert:

Compared to EMF Forms, JSONForms poses a couple of additional challenges:

  1. How can we represent the concept of a model and its implications, such as references, validation constraints etc. without Ecore?
  2. How can we bind data and provide a smooth integration with existing back-end technologies? We can not assume we are in full control of the web stack, therefore the best we can assume is talking REST
  3. How can we make sure that we play nicely with other existing front-end technologies, for instance, CSS layout frameworks like Bootstrap or Pure? Typically, you’ll want to integrate the rendered UI into an already existing webpage. We need to make sure that we don’t interfere with frameworks.

Over the next couple of months we’ll give you an insight into which problems JSONForms is addressing and more importantly how it solves them. You’ll also receive a clear impression of which circumstances you should use JSONForms and why it could possibly make your life easier.

If you would like to know more about JSONForms, check out our webpage with a live example, follow the getting started tutorial and read on in the next blog post.

We hope that you want to take part in that journey and that you are just as excited as we are.

Update: JSON Forms is now released regularly and a blog series on JSON Forms was just started introducing the features of JSON Forms based on one consistent example.

Guest Blog Post
Guest Author: Edgar Müller