如之前所述,考虑可控性和使用jQuery的考虑,我会自研UI组件。
为什么要用jQuery
在vue, react全家桶和生态已经非常完备的今天为什么要用回老掉牙的jQuery,原因大概如下:
- 我是考虑低代码生成式代码的方案,这就难免会产生前端的编译问题,大家都知道现代前端框架和生态是依赖 预编译的,而jQuery可以很好的解决这个问题,生成即可执行才是我需要的。
- jQuery对轻量的修改和编程需求更友好,低代码的目的其实很简单,就是将最后一棒交到用户手里,这是以 用户有开发能力为前提的,但是对于企业IT而言,现代前端框架和工具上手难度较大,jQuery上手相对简单。
大致的实现思路和递进的功能目标
- 毋庸置疑,首先应该是制作基础UI组件库,需要解决的问题有以下两点:
- 静态html, css样式、操作DOM的封装(这里参照Arco Design的静态样式,以 jQuery 重写 DOM 操作逻辑)
- 与 Symfony Twig 结合形成Twig组件,与Symfony Form结合形成Form组件
- 制作企业常用组件库,相较于常见的UI库,企业框架的特点应该更多体现在专业性和非通用性上。
- 从模型层面自动映射成前端组件,这是传统OA和低代码系统的主要特点。
- 通过表单设计器实现可拖拽的表单系统,可复用这些已实现的组件库。
- 通过组件设计器实现可拖拽的页面组件构建系统,赋予用户自定义页面组件的能力,可形成自己的自定义组件库。
- 探索大模型在页面构建和表单设计上的应用。
UI库和组件库的制作是一个渐进的过程,应该逐步完成这些目标,与此同时其他功能的开发应该同步进行。
