Low-Code项目思路整理 | 青训营笔记

159 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的的第3天

上了两天课,和一名同学进行了组队,两个人搜集了一下项目信息,晚上交流了一下,对项目和需求做了简单分析。

需求

概念

低代码(Low-Code)是一种快速设计和开发软件应用程序并且手动编码最少的方法。它可以为技术人员提供更快,更可靠的价值。通过在图形界面中使用可视化建模来组装和配置应用程序,开发人员可以跳过所有基础架构让开发速度提升起来。

简单的来说,就是在低代码平台上,用户可以通过拖拽的方式,将组件在编辑器中自由排版,设置相关属性即可保存和预览,完成页面的设计。

个人感觉关键技术在于拖拽功能、可视化的展示、组件操作和预览发布。这几项我们组两名同学都不是很清楚哈哈,都得学习一下。

技术实现

布局

  1. layout三栏: 组件库、预览视图、操作台

可视化设计

看到一篇帖子,到时候可以学习LowCode - 可视化中的规则组件设计 - 掘金

拖拽

学习思路low-code平台大屏篇(实现思路) - 掘金

  1. 拖拽功能实现: 鼠标事件
  1. 拖拽时,有一个组件的缩略图,放入编辑器中时,有对应的颜色高亮提示位置
  1. 识别编辑器中各组件,拖拽时可以放入不同的图层上

路由

根据需求,使用react-router配置路由

撤销重做

并会记录每次操作的数据,使用record 函数记录,便于完成撤销重做功能。低代码(low-code)简单实践 - 掘金

const undoDesign=()=>{
  const {index,data}=undo();
  setSchema(data);
  if(index===0){
    setDisableUndo(true);
  }
  setDisableRedo(false);
};

const redoDesign=()=>{
  const {index,length,data}=redo();
  setSchema(data);
  if(index===length-1){
    setDisableRedo(true);
  }
  setDisableUndo(false);
};

页面预览与发布

项目本地保存

用户构建项目后,可以存于本地,方便后续的预览和使用。

问题:本地怎么存储,存储后怎么调用

预览

  1. 新建标签页
  1. 当前标签页覆盖在最上

组件模块

预计实现四个组件:

  1. Button
  1. 图片
  1. 文本
  1. 视频

计划

先完成基础功能

  1. 实现拖拽和基础功能,基于h5的api
  1. 技术栈:react + ts