Tencent / APIJSON

🏆 实时 零代码、全功能、强安全 ORM 库 🚀 后端接口和文档零代码,前端(客户端) 定制返回 JSON 的数据和结构 🏆 Real-Time coding-free, powerful and secure ORM 🚀 providing APIs and Docs without coding by Backend, and the returned JSON of API can be customized by Frontend(Client) users
http://apijson.cn
Other
17.27k stars 2.16k forks source link

项目使用案例:APIJSON + UIOTOS绝配!前后端分离,分别无代码,刚实施交付了基于物联平台的大型业务系统:智慧园区统一管理平台 #707

Closed andy19055 closed 6 months ago

andy19055 commented 6 months ago

Description

先看下交付效果,2人3个月完成,涉及120个页面,80来个接口,30多个二级模块。其中负责前端的实施工程师,无需懂任何代码编程。其中界面和功能,基本是严格按照墨刀的产品原型实现的: https://img-blog.csdnimg.cn/img_convert/db466942ad8486efacc3374e24ce3561.png https://img-blog.csdnimg.cn/img_convert/0fb8b4783786a2b01b3daa4d4305deb3.png https://img-blog.csdnimg.cn/img_convert/cd3f1497b92683b23551716b31aeef19.png https://img-blog.csdnimg.cn/img_convert/b5d9285cd504c9cfc20f90f2ea4aa7f0.png https://img-blog.csdnimg.cn/img_convert/31465bcf85a27467857b1371a135ba58.png https://img-blog.csdnimg.cn/img_convert/c52ce873a59a6e0331a42e692af81b96.png 记录下这个有意思的过程。

我是后端工程师,前端开发懂一点点但也不多,平时开发底层为主,CURD项目业务定制总有些不屑,总觉得这类系统前后端都没有什么难的。只是围绕着项目客户需求走,多少涉及修修改改,烦不过有些心累。 刚好我来决定技术选型,那就大胆尝鲜,想用物联网平台,加上无代码、零代码来交付这个智慧化项目! 首先说明下,我跟大多数程序员一样,对低代码不抱好感,看着好复杂,一堆概念和使用规则,不明觉厉但是不敢下手,万一学了半天,发现满足不了要求,那是日了狗,白耽误精力! 零代码、无代码宣称可以不用写代码,那是不是拉一个UI的小姑娘跟我搭档就行?如果可行,那还挺有意思的! 我理解中零代码,跟低代码不一样。因为再低的代码,对于没学过的,都是一座绕不过的大山!并且从技术的敏感性,觉得这类业务系统,应该是能做到无代码配置的。 计划定了,那就开干! 首先就是技术选型。 这类智慧化项目涉及到设备对接,要调用各种子系统接口协议,首先想到的是用一个物联网平台来做接入。这里考虑到是用在楼宇多系统集成,就选用了IOTOS物联网中台,bacnet等协议有现成有。

因为这不是做个简单的BI大屏可视化,也不是数字孪生三维展示,有物联网中台是不够的,那么多业务应用,有些还压根没用到物联网接入的设备数据,比如工单、巡检、维保,有些用到了,也是得通过数据库做业务加工,不是原始采集的数据就能用的。 https://img-blog.csdnimg.cn/img_convert/ccd28c8a93c182ff27acd2ddb388f036.png 这是想要对业务应用的前后端,找一个零代码产品方案的初衷。否则都得自己定制开发去写。那么问题来了,一大堆眼花缭乱的低代码、零代码、无代码概念的产品,我该如何选择? https://img-blog.csdnimg.cn/img_convert/c82799016a547d4f15f27c59964d2109.png 首先,我面临的需求,是原型已经确定的,通过产品经理和客户以及设计院反复沟通修改后的结果。那么就要解决前端能够按照原型1:1能实现。

没想到,针对这个简单也算合理的需求,难住了一大片低代码还是零代码平台。

经过仔细调研、与各家供应商沟通,发现绝大部分零代码平台是前后端一体的。而且基本上前端是通过后端配置生成为主。号称这样是合理的,因为元数据模型定义,就能做到配置化,后端功能、前端页面自动生成。

神奇是神奇,只是我不关心。技术再强,能否先告诉我,自动生成的前端,或者提供的表单拖拽,我能不能参考原型一模一样去搭出来?还要考虑界面交互等业务逻辑。

得到的答案是,要定制。

这让我很失望,我要的不是零代码搭建一个接近、差不多的功能,而是要几乎跟代码开发那样高度定制化的,否则没法给产品经理和客户交差。

另外,物联网中台的北向API接口,有些是可以直接用的,我要解决前端应用开发就好,不需要零代码给我后端,这是现成有的。

经过分析后发现,要满足项目高度定制化的需求,好像得单独找前端的零代码和后端的零代码。否则很可能最后因为与目标需求相差5%而要付出非常大的代价,比如低/零代码厂家给你定制工具!

经过精准寻找,这个项目用到的主角登场了,后端选用了腾讯开源的APIJSON,前端采用最新出来的UIOTOS!

分别介绍一下。 APIJSON:一款基于JAVA SpringBoot的开源后端零代码ORM框架,支持 关系、时序多数据库源配置 HTTP操作权限数据库表配置 功能函数扩展及ORM引擎配置 业务增删改查前端JSON语法

UIOTOS:一款支持页面嵌套的前端零代码工具

具有页面嵌套、属性继承、节点连线等全新特性。 用户无需懂任何前端开发技术,能够按照业务需求,定制开发复杂前端。 可面向后端/算法工程师、硬件/电气工程师,以及产品经理、UI、美术、实施工程师等。 适用于搭建基于物联网平台等的上层业务应用。 其中,APIJSON,能够实现不用写一行后端代码,只需要创建和维护数据库表,需要增删改查、聚合查询,通通交给前端自行按照语法格式组装JSON即可,想要返回什么格式,请求时JSON描述好就行,实现了JSON ↔ SQL,同时有保证接口的安全性。 https://img-blog.csdnimg.cn/img_convert/d887f9d0010e03e7227d97bde1b72941.png UIOTOS比较特别,目前找了很久,几乎没有一款能够做到可以参考axure、墨刀原型那样去无代码实现前端的。或者说用这个就能做产品原型,只是做完的原型就已经是可以用的前端页面了。

最主要的是页面任意嵌套、属性逐层继承、节点逻辑连线,这几个特性弥补了常见的表单编辑器、WEB组态大屏工具的不足,那就是可以拖拉拽搭建业务系统,除了后端之外的UI布局、接口调用、数据解析、交互逻辑,基本都能无代码实现。 https://img-blog.csdnimg.cn/img_convert/5bcf244b6969d44c45b43c6588fad0a1.png 至于本项目具体如何结合上面选择的物联网平台、后端零代码、前端零代码,如此短的时间和人手下(还有一个是实施工程师,不懂代码开发),逐步完成项目交付,达到本文开头效果的,后续将分多篇来详细分享心得。

UIOTOS官网教程中也针对本项目做了教程录屏。再加上APIJSON、物联网平台部分的,我也会逐步补充上。总的来说,这次项目尝试惊心动魄,好在有惊无险,算是超出预期完成了项目交付。

从这里也可以看出,业务应用定制开发,用无代码方式实施交付,还是可行的,至少在物联网智慧化项目场景值得一试,也因为这类项目对时间、成本投入非常敏感。敬请期待下一篇。 https://img-blog.csdnimg.cn/img_convert/d480bd7abd25aa1d2eb6d1051aaa57ac.png