Skip to content

Multi paradigm development

pablocar80 edited this page Feb 15, 2021 · 1 revision

Lara supports developing web user interfaces under different paradigms:

Imperative rendering (since first version)

  • Here you write code that is similar to vanilla JavaScript, such as Document.Body.AppendChild(...)
  • The framework connects everything behind the scenes with AJAX/WebSockets
  • A thin runtime executes on the client to stay in sync with the server

Imperative rendering with web components (since around version 0.4)

  • Built on top of the previous layer
  • Similar to the HTML5 Web Components standard from JavaScript
  • Each web component has a "shadow root" where you place the actual elements that you'd like your component to print

Declarative rendering (newest versions)

  • Built on top of the previous layers
  • Similar to popular JavaScript frameworks
  • Set element properties, conditions for rendering, and elements' list of child elements to update automatically based on data
  • Documentation and examples based on this layer