知识图谱的后端写好了,它还缺一个前端,但是我不想花太多时间写前端,怎么办呢?
我想到了低代码,但是查了一圈,最终还是回来写React了。还是直接React更快
以前我觉得,低代码是给不会写程序的人用的,现在我觉得,会用一个低代码平台很有必要,就像写程序不写样板代码···
寻找一个低代码平台
低代码平台,随便一搜就能搜到一堆,但我有一些要求:
要灵活性够高,该写代码的地方你要给我写代码的机会
要够漂亮,让不让自定义其实关系不大,大概率我也不会去搞设计,默认主题要好看
要能导出,Java也好Node也好,要允许我把开发的系统拿去部署
要功能够多,最起码图表要安排上,要能有个插件社区就更好啦
要免费,而且没有过多限制
平台最好能私有化部署
平台最好开源
换句话说,我想白嫖一个超级好用的低代码平台。
不过我找到最符合我要求的平台是PagePlug,可惜它不支持代码导出,不过好在它是开源的可以本地部署。
Docker部署
测试了一下,确实很好用,在正式开始之前,我要先本地化部署。
首先是把我2C2G的服务器升级,现在它2G内存用1.8G,很难再跑一个服务了。
官方提供了一个docker-compose.yml 文件用于Docker部署,Docker虽然咱会的也不多,但用1Panel部署个东西还是会的,直接无脑跑官方给的文件我怕之后不好管理。
打开这个文件,就几行而已:
services:
pageplug:
image: index.docker.io/cloudtogouser/pageplug-ce
container_name: pageplug
ports:
- "80:80"
- "443:443"
volumes:
- ./stacks:/appsmith-stacks
restart: unless-stopped直接拉取镜像index.docker.io/cloudtogouser/pageplug-ce ,一个卷映射./stacks:/appsmith-stacks ,端口用反向代理
创建容器,运行,看日志,成功!Docker,太棒了\^o^/
部署完资源占用:

实际使用
就做个后台给我之前写的知识图谱的数据库做个展示和编辑吧。
首先官方是提供了一些模板的,第三方的页面好像也能很方便导入。

既然是首次尝试,当然要自己动手试试啦,模板什么的就不用啦。
首先是添加数据库,PagePlug支持的数据源是真的多:

好多我都没见过。
因为PagePlug已经本地化部署和我的数据库跑在同一个服务器上,数据库就可以直接写Docker内网地址啦。
然后就遇到了第一个问题,我不会写Sql (#°Д°),基本操作PagePlug似乎提供现成的,但是我这种动态表的似乎要自己写sql
PagePlug有一个自动根据数据库生成页面的向导,我就直接基于他写的修改啦:

他写的数据查询表格,有排序、有分页···但是代码都是直接调用同一个数据库的查询,我百思不得其解,于是去看了sql语句:
SELECT * FROM qc_entity
WHERE name like '%{{data_table.searchText || ""}}%'
ORDER BY {{data_table.sortOrder.column || 'id'}} {{data_table.sortOrder.order || "ASC"}}
LIMIT {{data_table.pageSize}}
OFFSET {{(data_table.pageNo - 1) * data_table.pageSize}};这里面使用了页面上的组件!?
在低代码开发中,前后端分离的思考方法似乎已经不适用了。
最后,做出来了这个东西:


开发效率确实比较高,但是能感受到灵活度收到限制,标题栏和导航栏是基本不能定制的。
感觉不是很适合我,我不按常理出牌,感觉还是用代码的开发写起来更舒服。
总结
PagePlug内置Echart绘制图表很方便,支持写JavaScript和装JavaScript库,有一定的灵活性。
感觉PagePlug不适合外行人使用,使用PagePlug避不开数据库和JavaScript,所以至少要了解数据库、会点儿JavaScript。
PagePlug无法导出独立部署,某些情况下可能这个技术路线行不通。
除非特殊情况,不然我还是会选择传统开发。