首页 > 其他分享 >刚交付了智慧园区统一管理平台,前端零代码+后端零代码+物联网平台,完美搭配!(一)

刚交付了智慧园区统一管理平台,前端零代码+后端零代码+物联网平台,完美搭配!(一)

时间:2024-04-22 17:46:45浏览次数:25  
标签:项目 代码 平台 联网 定制 前端 园区

先看下交付效果,2人3个月完成,涉及120个页面,80来个接口,30多个二级模块。其中负责前端的实施工程师,无需懂任何代码编程。其中界面和功能,基本是严格按照墨刀的产品原型实现的:

 


记录下这个有意思的过程。

我是后端工程师,前端开发懂一点点但也不多,平时开发底层为主,CURD项目业务定制总有些不屑,总觉得这类系统前后端都没有什么难的。只是围绕着项目客户需求走,多少涉及修修改改,烦不过有些心累。

刚好我来决定技术选型,那就大胆尝鲜,想用物联网平台,加上无代码、零代码来交付这个智慧化项目!

首先说明下,我跟大多数程序员一样,对低代码不抱好感,看着好复杂,一堆概念和使用规则,不明觉厉但是不敢下手,万一学了半天,发现满足不了要求,那是日了狗,白耽误精力!

零代码、无代码宣称可以不用写代码,那是不是拉一个UI的小姑娘跟我搭档就行?如果可行,那还挺有意思的!

我理解中零代码,跟低代码不一样。因为再低的代码,对于没学过的,都是一座绕不过的大山!并且从技术的敏感性,觉得这类业务系统,应该是能做到无代码配置的。

计划定了,那就开干!

首先就是技术选型。

这类智慧化项目涉及到设备对接,要调用各种子系统接口协议,首先想到的是用一个物联网平台来做接入。这里考虑到是用在楼宇多系统集成,就选用了IOTOS物联网中台,bacnet等协议有现成有。

因为这不是做个简单的BI大屏可视化,也不是数字孪生三维展示,有物联网中台是不够的,那么多业务应用,有些还压根没用到物联网接入的设备数据,比如工单、巡检、维保,有些用到了,也是得通过数据库做业务加工,不是原始采集的数据就能用的。

 

这是想要对业务应用的前后端,找一个零代码产品方案的初衷。否则都得自己定制开发去写。

那么问题来了,一大堆眼花缭乱的低代码、零代码、无代码概念的产品,我该如何选择?

 

首先,我面临的需求,是原型已经确定的,通过产品经理和客户以及设计院反复沟通修改后的结果。那么就要解决前端能够按照原型1:1能实现。

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

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

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

得到的答案是,要定制。

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

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

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

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

分别介绍一下。

APIJSON:一款基于JAVA SpringBoot的开源后端零代码ORM框架,支持

    • 关系、时序多数据库源配置

    • HTTP操作权限数据库表配置

    • 功能函数扩展及ORM引擎配置

    • 业务增删改查前端JSON语法

 

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

      • 具有页面嵌套、属性继承、节点连线等全新特性。

      • 用户无需懂任何前端开发技术,能够按照业务需求,定制开发复杂前端。

      • 可面向后端/算法工程师、硬件/电气工程师,以及产品经理、UI、美术、实施工程师等。

      • 适用于搭建基于物联网平台等的上层业务应用。

 

其中,APIJSON,能够实现不用写一行后端代码,只需要创建和维护数据库表,需要增删改查、聚合查询,通通交给前端自行按照语法格式组装JSON即可,想要返回什么格式,请求时JSON描述好就行,实现了JSON ↔ SQL,同时有保证接口的安全性。

 

UIOTOS比较特别,目前找了很久,几乎没有一款能够做到可以参考axure、墨刀原型那样去无代码实现前端的。或者说用这个就能做产品原型,只是做完的原型就已经是可以用的前端页面了。

最主要的是页面任意嵌套、属性逐层继承、节点逻辑连线,这几个特性弥补了常见的表单编辑器、WEB组态大屏工具的不足,那就是可以拖拉拽搭建业务系统,除了后端之外的UI布局、接口调用、数据解析、交互逻辑,基本都能无代码实现。

 

至于本项目具体如何结合上面选择的物联网平台、后端零代码、前端零代码,如此短的时间和人手下(还有一个是实施工程师,不懂代码开发),逐步完成项目交付,达到本文开头效果的,后续将分多篇来详细分享心得。

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

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

 

标签:项目,代码,平台,联网,定制,前端,园区
From: https://www.cnblogs.com/iotos/p/18151077

相关文章

  • 下级平台级联EasyCVR视频汇聚平台后,设备显示层级并存在重复的原因排查
    视频汇聚平台/视频监控系统/国标GB28181协议EasyCVR安防平台可以提供实时远程视频监控、视频录像、录像回放与存储、告警、语音对讲、云台控制、平台级联、磁盘阵列存储、视频集中存储、云存储等丰富的视频能力,平台支持7*24小时实时高清视频监控,能同时播放多路监控视频流,视频画面1......
  • 蓝牙打印开发代码示例(日拱一卒,有点进步,UUID仍报错)
     packagecom.lingrui.btprint;importandroid.Manifest;importandroid.app.AlertDialog;importandroid.bluetooth.BluetoothAdapter;importandroid.bluetooth.BluetoothDevice;importandroid.bluetooth.BluetoothSocket;importandroid.content.DialogInterface......
  • 海康ISC平台如何添加到视频网关中
    一、准备工作在进行海康ISC平台添加到视频网关的操作前,需要做好以下准备工作:确保视频网关已正确安装并连接到网络中,且能够正常访问ISC所在网络。确保海康ISC平台已安装并配置完成,能够正常运行。获取ISC平台的AK/AS、IP、端口等必要信息。 二、添加ISC平台到视频网关 ......
  • Python实现批量下载文件的示例代码
    前言下载文件是我们在日常工作中常常要做的一件事情。当我们需要从互联网上批量下载大量文件时,手动一个一个去下载显然不够高效。为了解决这个问题,我们可以使用Python编写一个批量下载文件的脚本,让它自动帮我们下载文件。同时,为了避免下载过程中被网站禁止访问,我们也可以运用代理......
  • DDD领域驱动设计总结和C#代码示例
    DDD(领域驱动设计)是一种软件设计方法,它强调以业务领域为核心来驱动软件的设计和开发。DDD的设计初衷是为了解决复杂业务领域的设计和开发问题,它提供了一套丰富的概念和模式,帮助开发者更好地理解和建模业务领域,从而提高软件的质量和可维护性。一、DDD主要组成DDD的主要模式包......
  • SpringBoot模块集成mqtt代码实现
    1//引入pom2<!--mqtt-->3<dependency>4<groupId>org.springframework.boot</groupId>5<artifactId>spring-boot-starter-integration</artifactId>6</dependency>......
  • 智能编码助手都在卷什么?投喂你的代码库,让Comate帮你解读
    越来越普遍的AI绘画、视频、小说等AIGC内容渗入生活的方方面面,超高的生成速度引发大量从业者为自己的饭碗而感到“压力山大”。在办公越来越讲究提效的当下,为了让自己的编码提速、提质,要么“鸡娃不如鸡自己”,硬生生练就键盘上的“佛山无影手”;要么“开点科技”,比如使用各路智能编......
  • 34天【代码随想录算法训练营34期】第八章 贪心算法 part03 (● 1005.K次取反后最大化
    1005.K次取反后最大化的数组和classSolution:deflargestSumAfterKNegations(self,nums:List[int],k:int)->int:nums.sort(key=lambdax:abs(x),reverse=True)foriinrange(len(nums)):ifnums[i]<0andk>0:......
  • 5种搭建LLM服务的方法和代码示例
    在不断发展的大型语言模型(LLMs)领域中,用于支持这些模型的工具和技术正以与模型本身一样快的速度进步。在这篇文章中,我们将总结5种搭建开源大语言模型服务的方法,每种都附带详细的操作步骤,以及各自的优缺点。 https://avoid.overfit.cn/post/efad539d0969474987a7ff652f632d8e......
  • 《渣男代码历险记》第一章:经济崛起的塔塔开
    “可恶!是邪恶的代码怪兽!”“YIMA,WATASHINOTATAKAINOCHIKALAWA2314DESU!"1.写出程序执行结果include<stdio.h>voidmain(){chars1[]="HelloWorld!";chars2[]="HelloWorld!";if(s1==s2)printf(“Equal!”);else printf(“Notequal!”);}......