Framework Features
To meet the targets mentioned before, the web framework builds on the following concepts.
Total AJAX
Unification and simplification of the client-server communication
- Every request is an AJAX request
- Response payload is Javascript-code
- The Javascript functions are bundled in the client-side Javascript components
- Server-side complementary components (proxy components) are used to generate Javascript code for calling the corresponding Javascript components
Providing a context
Maintaining (quasi) stateful form instances, modelled with plain old objects
- HTML form component serves as a context holder
- Every "page" is represented by a derivation of the Form-component (form object)
- Page context or state is implemented with instance variables of the form object
- User actions cause an AJAX submit of the whole form, including state descriptor and form fields
- Event handlers are implemented as methods of the form component
- Event handlers can modify the form state (instance variables), change UI by calling proxy components and do any other actions
- Form object maintains its state between the actions on the form, until disposed
Standard view rendering
- Using respective HTML templating technologies to generate views
- Proxy components can be bound into templates via server-side tags or similar
Modelling flow control with objects
Form objects are just plain objects
- Navigation to another page as instantiation of a new form component
- Using parameterized constructors
- Keeping parent form as an instance variable for later use