Code Monkey home page Code Monkey logo

uiengine's Introduction

UIengine

Workbench for UI-driven development: A tool for developers and designers to build and document web sites and apps.

Useful if you want to โ€ฆ

  • Create a living pattern library
  • Document your design system
  • Prototype with your apps components and templates
  • Use code as a single source of truth

๐Ÿš€ What it enables

  • Establish a UI-driven workflow and structure your web UI into modular components.
  • Give your team and stakeholders a central spot to develop and discuss the UI.
  • Replace deliverables with usable, testable and production ready output/code.
  • Make documentation fun and easy by providing structure and nice looking pages.

๐ŸŽ Quickstart

To explore the features yourself you can quickly initialize a project with some demo content:

mkdir uiengine-demo && cd uiengine-demo && npm init -y
npm install @uiengine/core @uiengine/adapter-html --save-dev
npx uiengine init --demo
npx uiengine build --serve --watch

See the getting started guide for further details. There are also some introduction videos:

<iframe title="UIengine Introduction Videos" src="https://www.youtube-nocookie.com/embed/videoseries?list=PLBXz0hPvV2jNAFb9KxvV-2Op8cy3tA8E2" frameborder="0" allow="autoplay; encrypted-media; picture-in-picture" allowfullscreen></iframe>

๐Ÿ–ฅ Examples and Screenshots

To get an idea of what a real-world project looks like, see the React sample project:

๐Ÿ“˜ Documentation

See the documentation site, which is also generated with the UIengine.

๐Ÿ”ฉ Technical TL;DR

npm Standard - JavaScript Style Guide Build Status Known Vulnerabilities Coverage Status Maintained with lerna tippin.me

โš’ How does it work?

At its core, the UIengine is a static site generator. It can be used in standalone mode or integrated into your build process.

โžก๏ธ Input: Your projects components, templates, pages and documentation

โฌ…๏ธ Output: A static site that can be used as a workbench for development and deployed documentation

It consumes the files and structure of your project and generates the documentation based on this. In development mode the output is regenerated on file change and synced to the browser. This provides you with a development environment for creating the components, prototyping and writing the docs.

๐Ÿ’ฏ Main features

  • Templating agnostic: Various templating engines are integrated via adapters. This gives you flexibility of choice and the option to integrate custom ones. It works with whatever can be rendered via JavaScript, i.e. JSX, Vue, EJS, Pug/Jade, Handlebars.
  • Prototyping environment: Build your UI without the need for an existing backend/API. Render your templates and components with mock data. Build various variants for pages by providing different data to your views.
  • Best practice approach: The tool guides you towards best practices like the component folder pattern, the modlet workflow and by proposing a separation of data and template/component.
  • In sync with the end product: The docs are generated from the code that is used in your application. Hence you get a living pattern library โ€“ย not a separate thing that needs to be looked after regularly.
  • Flexible integrations: Templating engines can be configured so you can fit it to your needs. Same goes for the markdown parsing/rendering which is configurable too.
  • Covers green- and brownfield projects: Whether you start out with a pattern library or want to transition your process and refactor your existing UI into modular components, the UIengine has you covered.

For the evaluation process you might also want to have a look at the alternatives.

๐Ÿ—œ Prerequisites

UIengine requires at least Node.js 10.13 (tracking the latest active Node.js LTS version). This guarantees a reasonable level of backwards compatibility.

๐Ÿ–– Alternatives

OK, the UIengine looks really cool but it's not quite what you are looking for? Or you want to first compare a few solutions to see which one is the right fit? Here are some other projects that you might want to evaluate:

โ€ฆ or have a look at the ever growing list of similar tools.

๐Ÿ›  Development

You like this project and are interested in participating? See the development docs for an introduction and workflows when hacking on the UIengine.


๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป Brought to you by the nice people behind UIengineering. ๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป

uiengine's People

Contributors

dennisreimann avatar jonashavers avatar naltatis avatar therealpecus avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.