Skip to content

Latest commit

 

History

History
182 lines (130 loc) · 7.69 KB

File metadata and controls

182 lines (130 loc) · 7.69 KB

LowCodeEngine

An enterprise-class low-code technology stack with scale-out design

NPM version NPM downloads

Issues need help

codecov Awesome

English | 简体中文

✨ Features

  • 🌈 An extension-oriented kernel engine extracted from an enterprise-level low-code platform, pursuing the design concept of the smallest kernel and the strongest ecology
  • 📦 Out-of-the-box high-quality ecological elements, including material systems, setters, plugins, etc.
  • ⚙️ A complete tool chain, supporting the full-link R&D cycle of ecological elements such as material systems, setters, and plug-ins
  • 🔌 Powerful expansion capability, has supported nearly 100 various vertical low-code platforms
  • 🛡 Developed with TypeScript, providing complete type definition files

🎯 Compatible Environments

  • Modern browsers (Chrome >= 80, Edge >= 80, last 2 safari versions, last 2 firefox versions)

📚 Engine Protocol

The engine fully implements the "LowCodeEngine Basic Construction Protocol Specification" and "LowCodeEngine Material Protocol Specification". The protocol stack is a key part of whether materials in the low-code field can be circulated.

image

🌰 Usage example

npm install @felce/lowcode-engine --save-dev

TIPS: Only cdn import is supported, npm package is used to provide code hinting capabilities such as typings

import { init, skeleton } from '@felce/lowcode-engine';

skeleton.add({
  area: 'topArea',
  type: 'Widget',
  name: 'logo',
  content: YourFantasticLogo,
  contentProps: {
    logo: 'https://img.alicdn.com/tfs/TB1_SocGkT2gK0jSZFkXXcIQFXa-66-66.png',
    href: '/',
  },
  props: {
    align: 'left',
    width: 100,
  },
});

init(document.getElementById('lce'));

Engineering configuration:

{
  "externals": {
    "@felce/lowcode-engine": "var window.AliLowCodeEngine",
    "@felce/lowcode-engine-ext": "var window.AliLowCodeEngineExt"
  }
}

cdn optional method:

unpkg

https://unpkg.com/@felce/lowcode-engine@1.4.1/dist/js/engine-core.js
https://unpkg.com/@felce/lowcode-react-simulator-renderer@1.4.1/dist/js/react-simulator-renderer.js
https://unpkg.com/@felce/lowcode-vue-simulator-renderer@1.4.1/dist/js/react-simulator-renderer.js

npmmirror

https://registry.npmmirror.com/@felce/lowcode-engine/1.4.1/files/dist/js/engine-core.js
https://registry.npmmirror.com/@felce/lowcode-react-simulator-renderer/1.4.1/files/dist/js/react-simulator-renderer.js
https://registry.npmmirror.com/@felce/lowcode-vue-simulator-renderer/1.4.1/files/dist/js/react-simulator-renderer.js

jsdelivr

https://cdn.jsdelivr.net/npm/@felce/lowcode-engine@1.4.1/dist/js/engine-core.js
https://cdn.jsdelivr.net/npm/@felce/lowcode-react-simulator-renderer@1.4.1/dist/js/react-simulator-renderer.js
https://cdn.jsdelivr.net/npm/@felce/lowcode-vue-simulator-renderer@1.4.1/dist/js/react-simulator-renderer.js

Method 5: Use your own cdn

Pass the files under packages/engine/dist and packages/react-simulator-renderer/dist(packages/vue-simulator-renderer/dist) in the source code to your cdn provider

🔗 Related Links

This awesome-lowcode-engine page links to a repository which records all of the tools\materials\solutions that use or built for the lowcode-engine, PR is welcomed.

💻 Local debugging

$ git clone git@github.com:fe-lce/lowcode-engine.git
$ cd lowcode-engine
$ npm install
$ npm run setup
$ npm start

📢 npm access speed is slow, Alibaba employees can use tnpm, other students recommend using cnpm or specifying a mirror registry.

📢 Windows environment must use WSL, other terminals are not guaranteed to work normally

After lowcode-engine is started, several umd files are provided, which can be debugged in combination with the lowcode-demo project. Refer to the file proxy rules here.

🤝 Participation

Please read first:

  1. How to configure the engine debugging environment?
  2. About the R&D collaboration process of the engine
  3. Engineering Configuration of Engine

Strongly recommend reading "The Wisdom of Asking Questions", ["How to Ask Questions to the Open Source Community"](https: //github.com/seajs/seajs/issues/545) and How to Report Bugs Effectively, "How to Submit Unanswerable Questions to Open Source Projects", better questions are easier to get help. (This paragraph refers to antd)

About Pull Request:

  • set the target branch to develop other than main

Plan

Current main tasks:

  • Fix backlog issues
  • Modify namespace
  • Support custom workbench
  • Upgrade to React 18
  • Upgrade build scripts (or replace with Vite)
  • Merge Vue canvas and renderer into the project
  • Core module refactoring to achieve framework independence
  • Independent built-in plugin for custom loading
  • Independent settings plugin
  • Optimize rendering performance

❤️ Contributors

Special thanks to everyone who contributed to this project.