物联网时代,工具的选择尤为重要。当大部分人还拿着大刀长矛以原始姿势赤身肉搏时,率先发明火炮步枪,并掌握狙击方法的人想输都难。既然 IoT 低代码编程工具已经出现,我们有必要将它仔细审视一番,掂量一下是否趁手。


在各种 IoT 平台你争我夺的“大战”中,平台型企业或者初创物联网公司纷纷都在打磨着自己的 IoT 编程工具,前沿的一些已经初具雏形,尤其值得关注:

本周,阿里云 IoT 更新了 IoT Studio,这是一套针对物联网应用的开发工具。IoT Studio 可以提供可视化的应用开发和服务开发能力,帮助用户改善在实际项目交付中,经常面临的应用开发成本高、需求定制化程度高、投入产出比低等问题。
 
西门子收购的低代码平台 Mendix 在去年实现了 150%的高增长。今年 4 月,西门子将 Mendix 与工业互联网平台 MindSphere 进行了集成,这意味着没有很强 IT 编程经验的 OT 工程师们,也可以利用 Mendix 快速构建物联网服务。Mendix 已经培育的 60,000 名开发者,也将为 MindSphere 快速构建应用程序。
 
这些举措对于物联网来说具有深远影响,他们都指向同一个方向:改进编程工具、简化编程环节、降低开发成本,是加速物联网项目落地的一条捷径。
 
由于在物联网时代,工具的选择尤为重要。当大部分人还拿着大刀长矛以原始姿势赤身肉搏时,率先发明火炮步枪,并掌握狙击方法的人想输都难。
 
既然 IoT 低代码编程工具已经出现,我们有必要将它仔细审视一番,掂量一下是否趁手。
 
因此在本文中你将看到:
 
什么是 IoT 编程工具?


为什么需要低代码?


IoT 低代码编程工具之间有什么差异?
 
01
什么是 IoT 编程工具?

在互联网时代的 IT 软件世界中,有 4 个最核心的成员:
 
操作系统、编程语言、编译器和数据库。
 
1970 年,贝尔实验室的肯·汤普逊和丹尼斯·利奇开发出了世界第一个通用型计算机操作系统:Unix。
 
1985 年,微软推出了第一版 Windows 操作系统。
 
Linux 是一类 Unix 计算机操作系统的统称,公认在 1991 年诞生。
 
目前在移动设备上广泛使用的 Android 操作系统,也是创建在 Linux 内核之上。
 
而编程语言的出现,在操作系统之前。
 
1952 年,汇编语言 Flow-Matic 出现。汇编语言本质上是使用助记符来代替机器语言 01010101,但这种语言对计算机硬件依赖很大。不同的计算机,汇编语言不相通。
 
1957 年,世界上第一个高级编程语言 FORTRAN 问世,它使计算机语言从原始的低级汇编语言走到人人易懂的境界。
 
从此,计算机不再是科学家的专利。可以说 FORTRAN 的诞生,孕育了软件产业。此后,计算机高级编程语言进入蓬勃发展的时代。
 
由此,可以看出操作系统和编程语言的重要性不相伯仲。
 
到了物联网时代,操作系统发生了变化。
 
互联网时代,操作系统调度的是 PC 或者手机中的计算和存储资源。
 
物联网时代,操作系统进化为物联网平台,它对“物体”的调度过程,由调度“云、管、边、端”不同层级中不同设备的计算资源而实现。
 
比如 RT-thread、Mindsphere、WISE-PaaS…都是物联网时代的操作系统。

 

下图是在微软眼中,物联网时代操作系统应当具备的能力:
 

 
相比于 PC 操作系统,物联网操作系统或者平台具有以下几个明显特性:

 

无缝更新:系统更新通过后台完成,无需中断


更加安全:具备防止恶意攻击能力


长期连接:保持 5G、WiFi 等连接能力,保证设备间能一直相互连接


可持续的性能


云端接入能力:支持设备与设备间进行无缝访问数据


具备 AI 能力


支持各种交互:兼顾触控、手写、语音、键鼠等方式,以及能够通过传感器和姿势感知


多样产品形态:支持云、边、端的应用
 
最近一系列基于微内核的 IoT OS 推出,比如阿里 AliOS Things、华为鸿蒙 OS、GoogleFuchisa,进一步诠释了物联网操作系统的特征。
 
微内核并非新鲜事物,最早可以追溯到卡内基梅隆大学在 1985 年推出的微内核操作系统 MACH。新一代的微内核 IoT OS 可以支持从小到大的各种智能设备,包括从烟感传感器、到摄像头、再到计算网关等;提供各种本地插件、轻量级 GUI、以及丰富的链接协议,满足碎片化的设备开发的需求;还有丰富的云端一体化的插件,包括连云套件、OTA、视频语音连云套件,确保设备和云端的设备影子实时同步。
 
总而言之,基于微内核的物联网操作系统,有能力适配高度碎片化的硬件与芯片生态,有丰富的本地组件来支持不同的设备,又能够充分和云端的大数据计算能力形成协同,奠定了数字化物理世界的基础。

在互联网时代,操作系统几乎只需要支持 PC 和手机就可以完成任务。但是到了物联网时代,IoT 操作系统或者 IoT 平台的复杂性急剧上升,为了令其更加易用,编程语言也需随之进化,IoT 编程工具由此产生。
 
从操作系统到物联网平台,从编程语言到 IoT 编程工具,这是一个自然而然的推进过程。
 
可以预见,编译器和数据库在物联网时代也将产生更新或者变异。比如华为在 8 月 31 日刚刚开源的方舟编译器,以及涛思数据推出的时序数据库,都更加适合物联网时代的应用。
 

 
在物联网时代,上述这些工具都会进化,有些可能会彻底变成新的物种。IoT 平台与 PC 操作系统有本质不同,IoT 编程工具也与编程语言有着天壤之别。
 
因此,在物联网时代我们需要一个更加立体、分层和全局的视角,来看待关键领域。不管是操作系统,还是编程语言,都应建立一个全新的理解,从而发现新的机会,更好的利用工具,实现物联网业务的拓展。
 
02
什么是低代码? 

既然与 PC 操作系统相比,IoT 平台的复杂性急剧上升,需要调度“云、管、边、端”各方资源、兼顾传感、姿势、语音等各种交互方式,又要保持 5G、WiFi、BLE 等连接随时在线…
 
那么,IoT 编程工具的重要使命就是降低这种复杂度,让开发者可以轻松上手。因此“低代码”是大势所趋。
 
简单来说,“低代码开发”被用来描述一种快速设计和开发的软件系统,无需编码或通过少量代码,就可以快速生成应用程序。它是研究机构 Forrester Research 在 2014 年最先使用的一个术语。
 
其实低代码并不是最近才出现的新事物,它可以追溯到上个世纪 90 年代。
 
在 1991 年诞生的快速应用程序开发(Rapid Application Development,缩写:RAD),目标是在 60 到 90 天的短时间内,建立符合用户要求的业务软件。RAD 的出现掀起了一场编程方式的革命,它带来了可视化编程,使得编程的门槛变低了。
 
根据 Forrester 的分析预测,低代码平台有可能使软件开发速度比传统方法快上 10 倍。到 2022 年,低代码平台市场将从现有的 40 亿美元,增长到 220 亿美元。
 
下面两幅图是使用低代码编程工具之前和之后的对比:
 
之前

 

 
之后

 

 
如果将“低代码开发”和汽车制造做类比,“低代码”之于 IoT 开发者就像自动化生产线对于汽车行业的作用。
 
过去汽车的装配需要手工完成,现在都是通过自动化生产线实现。虽然早期自动化进程中使用的生产线,对汽车复杂多变的配置无能为力,但它们确实加快了装配和交付的进程。
 
作为对比,现在的编程工作大部分还处于手工作业阶段,生产效率在很大程度上取决于编码者个人的专业技术水准,“低代码”尽量用少量的代码开发出企业级的应用,最大限度的提高应用开发的效率。
 
众所周知的低代码实例是 WordPress,它是一款开源 CMS(Content Management System,内容管理系统),特性是易上手,开发速度尤其快,甚至无需代码,直接安装模板和插件就可以达到要求。
 
使用 WordPress,中小型企业只需雇佣一名不懂编程的员工,便可以借助网上发布的各种主题和插件,在完全不需要编程代码的情况下进行基本网站编辑。目前 WordPress 已经支持了世界上超过 70%的网站。
 
至此,可以看到低代码具有如下优势:
 
降低编程门槛,不需要大量的编程知识


大大加快应用程序的开发和部署时间


节省成本,节省项目规划或员工培训的时间


用户可自定义模块,应用程序可以灵活调整


开发者可以将精力更好的分配于核心任务
 
任何事物都有两面,必须说明,低代码也存在使用风险:
 
供应商被锁定:目前低代码编程工具并不通用,选择其中一种便意味着锁定了供应商。


维护成本较高:由于低代码及其供应商存在较强的耦合性,也就意味着供应商拥有较强的议价能力。


存在监管隐患:因为减少了代码编写的工作量,开发者很难知道 API 调用的背后隐藏着什么秘密。


功能可能有限:任何低代码的供应商都不可能预测到所有的应用细节,如果开发者希望更加灵活地适应企业的需求,就需要使用自己编写的代码来满足。


应用千篇一律:低代码编程项目可能最终看起来彼此都非常相似,因为开发者使用的是相同的模块。
 
任何技术都有利弊,越容易被创建,往往也意味着,越容易被复制。
 
而我们需要做的,就是权衡利弊,想好自己是否要用这个工具。

03
IoT 低代码编程工具之间有什么差异? 

总体而言,有两类公司在提供 IoT 低代码编程工具,分别是物联网平台型企业和应用服务初创型公司。
 
除了文初提到的阿里和微软,AWS、Google、Salesforce 等巨头都有提供 IoT 低代码编程工具。
 
典型的低代码平台初创公司,除了被西门子收购的 Mendix,比较知名的还有 OutSystems、ServiceNow、Kony 等。
 
市场研究机构 Gartner 和 Forrester 分别绘制了低代码平台的格局版图。
 

 
这两类公司由于各自目标不同,所提供的 IoT 低代码编程工具其侧重点也有所区别。
 
物联网平台型企业:这类企业的目标是降低物联网平台的应用门槛,汇聚开发者生态,因此往往提供的是端到端的 IoT 低代码编程工具或者开发环境。
 
以阿里云最近更新的 IoT Studio 为例,它是一套专为物联网应用所设计的集成开发环境 IDE,功能包括:
 

 
设备数据无缝集成:设备相关的属性、服务、事件等数据均可从阿里云物联网平台设备接入和管理模块中直接获取,大大降低物联网开发工作量。


面向各个行业提供场景化模板:开发者可以直接利用现有的(包含设备,应用和服务的)解决方案模版来开发自己的业务,将原有需要几周的开发过程缩短到几天。


可视化应用开发:用户通过简单的可视化拖拽的方式,即可将各种组件、图表与设备相关的数据源进行关联,几乎无需任何编程经验,整个过程就像使用 PPT 一样简单。


提供服务开发的功能:用户可以很方便的实现设备之间的联动、设备与服务之间的数据流转。IoT Studio 打通了阿里云 API 市场,用户还可利用各种人工智能及数据分析的 API。
 
应用服务初创型公司:这类企业将低代码平台本身作为核心产品,探索与之相应的新型行业模式,因此他们的编程工具一般并非针对物联网应用所创建,或者并不具备对于物联网异构设备的支持能力。
 
以被西门子并购的 Mendix 为例,它本身是一个加速企业敏捷开发流程的 PaaS 平台,并自称是全球唯一一个真正的云原生低代码平台。
 
它由 3 个无缝集成的产品组成:Sprintr,AppFactory 和 Mendix Platform-as-a-Service,分别实现的功能如下:

 

 
Sprintr:采用轻量级的社交方法进行企业项目协作。通过在整个企业中提供协作平台,Sprintr 打破了不同部门和专业之间的隔阂,所有员工都是同一个私有社交网络的一部分。


AppFactory:让用户能够使用高级可视化的模型开发应用程序。这可以实现业务和 IT 之间的协作,还可缩短反馈周期。AppFactory 又由 3 个元素组成:


      -Mendix Business Modeler:使用可视化模型设计和开发应用程序的建模环境。


      -Mendix Team Server:基于云的模型存储库,用于团队成员协作并进行版本控制。


      -Mendix AppStore:应用市场,用于共享和下载业务模板、主题和技术组件。


MendixPlatform-as-a-Service:用户只需单击一下,即可从 Mendix Business Modeler 中将应用程序模型上传到 Mendix PaaS,从而轻松部署应用程序。
 
被西门子收购之后,Mendix 在最新的 19 版中增加了对于物联网设备的支持,并升级了 AI 引擎,提供对于物联网数据的分析服务。
 
---- 写在最后 ----
借助 IoT 低代码编程工具,让企业有机会尝试用更少的资源更快更好的实现应用。如果将其承载在工业大脑或者智慧城市的管理平台之上,势必将会激发各类应用开发者的创意和想法,让各类应用快速集成落地。
 
对于开发者数量有限的传统行业,IoT 低代码编程工具还有可能加速 IT 和 OT 的融合。
 
当然,各种 IoT 低代码编程工具是否被宣传得恰如其分,是否在实践中方便使用,还需要经过验证。

衷心感谢阿里云首席智联网科学家丁险峰在成文过程中对我的大力支持。

最后,欢迎在本文下方的留言区分享你对“IoT 低代码编程工具”的观察、实践或者任何想法,点赞数最多的 3 位朋友,都将收到由我诚挚送上的签名版《智联网•新思维》。
 
本文小结:
1. 在物联网时代我们需要一个更加立体、分层和全局的视角,来看待关键领域。不管是操作系统,还是编程语言,都应建立一个全新的理解,从而发现新的机会,更好的利用工具,实现物联网业务的拓展。


2. 与 PC 操作系统相比,IoT 平台的复杂性急剧上升,IoT 编程工具的重要使命就是降低这种复杂度,让开发者可以轻松上手,因此“低代码”是大势所趋。


3. 现阶段有两类公司在提供 IoT 低代码编程工具,分别是物联网平台型企业和应用服务初创型公司。

 

参考资料:
Magic Quadrant for Enterprise Low-CodeApplication Platforms


The Forrester Wave: Low-CodeDevelopmentPlatforms for AD&D Professionals, Q1 2019


Mendix – ‘A new and powerful maker movementaimed at enterprise application development?’


Mendix Positioned as a Leader in the NewGartner Magic Quadrant for Multi-experience Development Platforms


正在发力智能云的微软,要用现代化系统打通物联网壁垒


阿里云物联网平台 IoT Studio,帮助用户经济高效的完成物联网应用开发


华为新贵!方舟编译器的荣光和使命


加速企业敏捷开发流程的 Mendix 到底是什么?