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