Efficiently developing web forms
Many web applications use form-based UIs for entering and modifying data. The development of these forms involves creating the layout of the corresponding page for the widgets (HTML and CSS), retrieving data from the server (e.g., RESTful API and JSON), binding the form’s widgets to the data (e.g., JSON and AngularJS) and pushing the results back to the server (e.g., RESTful API and JSON). All of these parts typically require manual effort.
In this talk, we present an alternative approach to manual UI development for web applications. The data to be entered, as well as the desired form-based UI, are defined declaratively (e.g., in a DSL). The data model and the view model are interpreted at runtime to create a form with databinding, a RESTful API to send and retrieve the data and a database backend to store the data. The implementation is open source and available under the Apache License. It is based on HTML5, AngularJS and the Play framework.
During this presentation we will explain the general design principles of such an approach, which is transferable to other technology stacks, and discuss the advantages and caveats based on our experience in actual projects.