知识图谱的后端写好了,它还缺一个前端,但是我不想花太多时间写前端,怎么办呢?

我想到了低代码,但是查了一圈,最终还是回来写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无法导出独立部署,某些情况下可能这个技术路线行不通。

除非特殊情况,不然我还是会选择传统开发。

我能想到的,最大的成功就是无愧于自己的心。