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
- 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.
To get an idea of what this looks like, see the deployed sample project and the sample project source code. There is also an introduction video and some screenshots to give you a first impression.
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.
- Templating agnostic: Various templating engines are integrated via adapters, giving you flexibility of choice and the option to integrate custom ones. It works with whatever can be rendered via JavaScript, which includes popular solutions like JSX, Vue, EJS, Pug/Jade, Handlebars, etc.
- Prototyping environment: Build your UI without the need for an existing backend/API. Render your templates and components with mock data and build various variants for pages by providing different data to your views.
- Best practice approach: The tool guides you towards best practices like not using application logic in the view layer by proposing a separation of data and template/component.
- In sync with the end product: Since the docs are generated from the code that is used in your application, 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.
UIengine requires at least Node.js 8.9. Future versions will track the latest active Node.js LTS version, which guarantees a reasonable level of backwards compatibility.
How To and Quick Start:
Technical documentation, with more detailed information:
Name | Type | NPM |
---|---|---|
Core | 🚀 | |
User Interface | 🎨 | |
Pug adapter | 🔌 | |
React/JSX adapter | 🔌 | |
Vue adapter | 🔌 | |
Marko adapter | 🔌 | |
Handlebars adapter | 🔌 | |
EJS adapter | 🔌 | |
HTML adapter | 🔌 |
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.
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. 👨🏻💻