ui_builder

1.0.3 • Public • Published

ui_builder Build Status

import React, { Component } from 'react';
import { R } from 'ui_builder';
 
export class TestComponent extends Component {
  render() {
    return R('div')
      // function call is same as .prop
      ('className', 'my-little-div-test')
      // .style is automatically passed to component as style prop
      .style('color', 'red')
      .child(R('span')
        .child('Hello World!'))
      // build only needs to be called on top level
      .build();
  }
}

ui-builder is an implementation of the Builder pattern to create UI elements for React, React Native, and vanilla DOM (in the future).

When used with React, Builders provide beyond a suitable replacement for JSX, but also a new paradigm that can be used to supercharge your application.

A builder, as specified by the builder pattern, is completely mutable. You can change it's properties, styles, or children at any time. However, once you build a builder, the built object is immutable. This has an incredible amount of real world opportunities inside applications using a React workflow, where you can "lazily" load in properties, or load in properties as they are scoped, in the case of something like a router.

ui-builder is optimized to be fast, and tries to contain as lightweight of a footprint as possible, citing only React and React Native as peer dependencies (it's assumed if you are using ui-builder, you'll have one of these included with your project as well).

Inspired by, obviously, the builder pattern. Not directly inspired by Uber's r-dom, but somewhat similar in syntax.

Package Sidebar

Install

npm i ui_builder

Weekly Downloads

1

Version

1.0.3

License

MIT

Last publish

Collaborators

  • mbullington