System Runtime

System Runtime

  • Languages iconENGLISH
    • Română
    • Help Translate
  • SUPPORT
  • GITHUB

›Introduction

Introduction

  • What is System Runtime ?
  • System Runtime architecture
  • What is Design First ?
  • Overview

Guides

  • Quick Start
  • How to install System Runtime
  • Design your model
  • Create components
  • Manage your components
  • Bundle your system
  • Extend System Runtime
  • Go deeper

Examples

  • A basic "hello world"
  • Create a bundle
  • Install a bundle client-side
  • Install a bundle in HTML
  • Install a bundle server-side
  • Package a bundle
  • Create a component
  • Create new types
  • Create a one to one relationship
  • Create a one to many relationship
  • Navigate through the model
  • Inheritance between components
  • Listen to a change of state of a component
  • Use System Runtime NoSQL Database
  • Object-Document Mapper in action
  • Use System Runtime core apis
  • Use System Runtime history apis
  • Quick Start example

APIS

  • Component Class
  • runtime Component
  • metamodel Component
  • logger Component
  • db Component
  • history Component
  • Document Collection

About

  • Who is behind System Runtime ?
  • License

Overview

Design your system

{
  "firstName": "property",
  "lastName": "property",
  "nickname": "property",
  "father": "link"
}                        

Create your components

// get your component class
const Person = runtime.require('Person');

// create a component
const anakin = new Person({
  'firstName': 'Anakin',
  'lastName': 'Skywalker'
});

// update nickname
anakin.nickname('Darth Vader');

Try to update a component with a wrong type

// this update is non compliant with the model
anakin.nickname(42);

System Runtime will log this message

runtime: invalid type for property 'nickname': expected 'string' instead of 'number' on component '11d4012f0c18734'

Navigate through your components

// add a reference
const luke = new Person({
  'firstName': 'Luke',
  'lastName': 'Skywalker',
  'father': anakin
});

// get the first name of luke father
luke.father().firstName();

Manage your components

runtime.require('db').collections().Person.find({
  'firstName': 'Luke'
});

Undo your modifications made to the system

runtime.require('history').back();

Bundle your system

runtime.bundle();

Install your bundle in HTML

<link rel="system" type="application/json" href="system.json">
← What is Design First ?Quick Start →
  • Design your system
  • Create your components
  • Try to update a component with a wrong type
  • System Runtime will log this message
  • Navigate through your components
  • Manage your components
  • Undo your modifications made to the system
  • Bundle your system
  • Install your bundle in HTML
System Runtime is distributed under Apache License 2.0 - Copyright © 2024 Erwan Carriou