UI data binding

{{Refimprove|date=February 2015}}

UI data binding is a software design pattern to simplify development of GUI applications. UI data binding binds UI elements to an application domain model. Most frameworks employ the Observer pattern as the underlying binding mechanism. To work efficiently, UI data binding has to address input validation and data type mapping.

A bound control is a widget whose value is tied or bound to a field in a recordset (e.g., a column in a row of a table). Changes made to data within the control are automatically saved to the database when the control's exit event triggers.

Example

public class ExampleViewModel

{

public string Username { get; set; }

}

Data binding frameworks and tools

= [[Delphi (programming language)|Delphi]] =

  • DSharp third-party data binding tool{{cn|date=December 2016}}
  • OpenWire Visual Live Binding - third-party visual data binding tool

= Java =

  • JFace Data Binding
  • JavaFX Property{{Cite web | url=https://docs.oracle.com/javafx/2/binding/jfxpub-binding.htm |title = Using JavaFX Properties and Binding | JavaFX 2 Tutorials and Documentation}}

= .NET =

  • Windows Forms data binding overview
  • WPF data binding overview
  • Avalonia
  • Unity 3D data binding framework (available in modifications for NGUI, iGUI and EZGUI libraries){{cn|date=December 2016}}

= JavaScript =

  • Angular
  • AngularJS
  • Backbone.js
  • Ember.js
  • Datum.js{{cite web |url=http://datumjs.com|title=Datum.js|access-date=7 November 2016}}
  • knockout.js
  • Meteor, via its Blaze live update engine{{cite web|title=Meteor Blaze|url=https://www.meteor.com/blaze|quote=Meteor Blaze is a powerful library for creating live-updating user interfaces. Blaze fulfills the same purpose as Angular, Backbone, Ember, React, Polymer, or Knockout, but is much easier to use. We built it because we thought that other libraries made user interface programming unnecessarily difficult and confusing.}}
  • OpenUI5
  • React
  • Vue.js

See also

References

{{Reflist}}

Category:Data management

Category:Software design patterns

{{compu-prog-stub}}

{{database-stub}}