# lowcode-electron-demo **Repository Path**: pi3b/lowcode-electron-demo ## Basic Information - **Project Name**: lowcode-electron-demo - **Description**: lowcode-electron-demo 积木低代码 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-11-04 - **Last Updated**: 2024-11-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 低代码平台 > 原始文档:[README_ARCH.md](README_ARCH.md) ## 1. 项目简介 低代码平台是一种通过图形化界面、配置化方式来实现软件开发的方式,通过拖拽组件、配置属性、事件绑定等方式来实现软件的开发,从而减少开发人员的编码工作量,提高开发效率。 - 面向人员:业务开发人员(Spring) - 技术栈:Vue、Electron、Vue3等 - 技术思路:拖拉拽组件、配置属性、事件绑定生成JSON配置文件,通过解析JSON配置文件生成Vue代码 - 版本管理:跟随业务项目git管理 - 项目模块划分:桌面端、文档、设计器、编译器、通信模块 - 其他:设计器部分由开源项目`VForm`改造而来 ## 2. 项目展示 ![img1.png](snipaste%2Fimg1.png) ![img2.png](snipaste%2Fimg2.png) ![img3.png](snipaste%2Fimg3.png) ![img4.png](snipaste%2Fimg4.png) ## 3、项目特色 - 各个模块独立开发、部署;开发设计器时无需启动桌面端 - 一次安装应用,后续更新无需频繁安装,其主体内容通过热更新方式更新 - 主进程采用装饰器模式,方便代码维护 - 支持向后扩展,支持切换不同的渲染器和编译器 ## 4、待优化思路 - 代码生成器 - 将内置组件抽离成一个npm包,通过npm包的方式引入,方便后续扩展 - 前进后退功能使用命令方式(JSON Patch)替代深拷贝(目前使用深拷贝,性能较差) - 实现思路:每次改变都生成一个命令(包含改变命令和撤销命令) - 桌面端 - 架构简化: 减少模板代码(现在有很多通过脚本生成的代码,可以通过动态调用解决) - 渲染进程:简单窗口使用前端原生实现,复杂窗口使用Vue实现 - 性能优化:主应用启动时,将有可能用到的窗口预加载 - 本地存储增强:使用prisma + sqlite替代json本地文件存储。(这样会引入新的复杂性,数据库表设计、数据库迁移等) ## 5、项目反思 - 架构复杂:项目初期,由于项目设计经验不足(半年多),陷入了为了堆技术而技术的误区,导致架构复杂,入手难度大 - 技术选型:选用了lerna作为项目管理工具(lerna曾有过一段时间不维护),导致了一些困难。后续使用更加成熟的pnpm workspaces