Skip to content

User Interface Concepts

Robin edited this page Oct 9, 2020 · 2 revisions

Core Concept

Fudge is equipped with functionality to create User Interfaces easily or even automatically. It uses the mutator concept to display application data and to alter it based on user interaction. Custom HTML Elements can be created for classes which inherit the mutable interface and the corresponding objects are synchronized automatically with the user interface.

Components

Custom Elements

Custom Elements in Fudge are generic HTML-Elements extended by the functionality to

  • display the value of a mutable as HTML
  • retrieve interactions from the user and update the mutable accordingly

Custom elements may comprise other HTML-Elements including other custom elements. They can then be mapped to a specific mutable, so that the generator can use them to display and update the content of said mutable. Additionally, custom elements can be defined inside HTML via the template-tag and then registered and mapped to a specific mutable via javascript.

Generator

The generator can generate HTML elements based on the data in a mutable and its mutator. It takes a mutable as an argument and uses its mutator to find a CustomElement that is mapped to the mutable.

Controller

The controller connects a mutable to an HTML element and synchronizes the state of the mutable with the corresponding HTML element in set time intervals.

Clone this wiki locally