技術(shù)
導(dǎo)讀:本周,阿里云IoT更新了IoT Studio,這是一套針對(duì)物聯(lián)網(wǎng)應(yīng)用的開(kāi)發(fā)工具。IoT Studio可以提供可視化的應(yīng)用開(kāi)發(fā)和服務(wù)開(kāi)發(fā)能力,幫助用戶改善在實(shí)際項(xiàng)目交付中,經(jīng)常面臨的應(yīng)用開(kāi)發(fā)成本高、需求定制化程度高、投入產(chǎn)出比低等問(wèn)題。
導(dǎo) 讀
物聯(lián)網(wǎng)時(shí)代,工具的選擇尤為重要。當(dāng)大部分人還拿著大刀長(zhǎng)矛以原始姿勢(shì)赤身肉搏時(shí),率先發(fā)明火炮步槍?zhuān)⒄莆站褤舴椒ǖ娜讼胼敹茧y。既然IoT低代碼編程工具已經(jīng)出現(xiàn),我們有必要將它仔細(xì)審視一番,掂量一下是否趁手。
這是我在【物女心經(jīng)】專(zhuān)欄寫(xiě)的第141篇文章。
在各種IoT平臺(tái)你爭(zhēng)我?jiàn)Z的“大戰(zhàn)”中,平臺(tái)型企業(yè)或者初創(chuàng)物聯(lián)網(wǎng)公司紛紛都在打磨著自己的IoT編程工具,前沿的一些已經(jīng)初具雛形,尤其值得關(guān)注:
本周,阿里云IoT更新了IoT Studio,這是一套針對(duì)物聯(lián)網(wǎng)應(yīng)用的開(kāi)發(fā)工具。IoT Studio可以提供可視化的應(yīng)用開(kāi)發(fā)和服務(wù)開(kāi)發(fā)能力,幫助用戶改善在實(shí)際項(xiàng)目交付中,經(jīng)常面臨的應(yīng)用開(kāi)發(fā)成本高、需求定制化程度高、投入產(chǎn)出比低等問(wèn)題。
西門(mén)子收購(gòu)的低代碼平臺(tái)Mendix在去年實(shí)現(xiàn)了150%的高增長(zhǎng)。今年4月,西門(mén)子將Mendix與工業(yè)互聯(lián)網(wǎng)平臺(tái)MindSphere進(jìn)行了集成,這意味著沒(méi)有很強(qiáng)IT編程經(jīng)驗(yàn)的OT工程師們,也可以利用Mendix快速構(gòu)建物聯(lián)網(wǎng)服務(wù)。Mendix已經(jīng)培育的60,000名開(kāi)發(fā)者,也將為MindSphere快速構(gòu)建應(yīng)用程序。
這些舉措對(duì)于物聯(lián)網(wǎng)來(lái)說(shuō)具有深遠(yuǎn)影響,他們都指向同一個(gè)方向:改進(jìn)編程工具、簡(jiǎn)化編程環(huán)節(jié)、降低開(kāi)發(fā)成本,是加速物聯(lián)網(wǎng)項(xiàng)目落地的一條捷徑。
由于在物聯(lián)網(wǎng)時(shí)代,工具的選擇尤為重要。當(dāng)大部分人還拿著大刀長(zhǎng)矛以原始姿勢(shì)赤身肉搏時(shí),率先發(fā)明火炮步槍?zhuān)⒄莆站褤舴椒ǖ娜讼胼敹茧y。
既然IoT低代碼編程工具已經(jīng)出現(xiàn),我們有必要將它仔細(xì)審視一番,掂量一下是否趁手。
因此在本文中你將看到:
什么是IoT編程工具?
為什么需要低代碼?
IoT低代碼編程工具之間有什么差異?
1、什么是IoT編程工具?
在互聯(lián)網(wǎng)時(shí)代的IT軟件世界中,有4個(gè)最核心的成員:
操作系統(tǒng)、編程語(yǔ)言、編譯器和數(shù)據(jù)庫(kù)。
1970年,貝爾實(shí)驗(yàn)室的肯·湯普遜和丹尼斯·利奇開(kāi)發(fā)出了世界第一個(gè)通用型計(jì)算機(jī)操作系統(tǒng):Unix。
1985年,微軟推出了第一版Windows操作系統(tǒng)。
Linux是一類(lèi)Unix計(jì)算機(jī)操作系統(tǒng)的統(tǒng)稱(chēng),公認(rèn)在1991 年誕生。
目前在移動(dòng)設(shè)備上廣泛使用的Android操作系統(tǒng),也是創(chuàng)建在Linux內(nèi)核之上。
而編程語(yǔ)言的出現(xiàn),在操作系統(tǒng)之前。
1952年,匯編語(yǔ)言Flow-Matic出現(xiàn)。匯編語(yǔ)言本質(zhì)上是使用助記符來(lái)代替機(jī)器語(yǔ)言01010101,但這種語(yǔ)言對(duì)計(jì)算機(jī)硬件依賴很大。不同的計(jì)算機(jī),匯編語(yǔ)言不相通。
1957年,世界上第一個(gè)高級(jí)編程語(yǔ)言FORTRAN問(wèn)世,它使計(jì)算機(jī)語(yǔ)言從原始的低級(jí)匯編語(yǔ)言走到人人易懂的境界。
從此,計(jì)算機(jī)不再是科學(xué)家的專(zhuān)利??梢哉f(shuō)FORTRAN的誕生,孕育了軟件產(chǎn)業(yè)。此后,計(jì)算機(jī)高級(jí)編程語(yǔ)言進(jìn)入蓬勃發(fā)展的時(shí)代。
由此,可以看出操作系統(tǒng)和編程語(yǔ)言的重要性不相伯仲。
到了物聯(lián)網(wǎng)時(shí)代,操作系統(tǒng)發(fā)生了變化。
互聯(lián)網(wǎng)時(shí)代,操作系統(tǒng)調(diào)度的是PC或者手機(jī)中的計(jì)算和存儲(chǔ)資源。
物聯(lián)網(wǎng)時(shí)代,操作系統(tǒng)進(jìn)化為物聯(lián)網(wǎng)平臺(tái),它對(duì)“物體”的調(diào)度過(guò)程,由調(diào)度“云、管、邊、端”不同層級(jí)中不同設(shè)備的計(jì)算資源而實(shí)現(xiàn)。
比如RT-thread、Mindsphere、WISE-PaaS…都是物聯(lián)網(wǎng)時(shí)代的操作系統(tǒng)。
下圖是在微軟眼中,物聯(lián)網(wǎng)時(shí)代操作系統(tǒng)應(yīng)當(dāng)具備的能力:
相比于PC操作系統(tǒng),物聯(lián)網(wǎng)操作系統(tǒng)或者平臺(tái)具有以下幾個(gè)明顯特性:
無(wú)縫更新:系統(tǒng)更新通過(guò)后臺(tái)完成,無(wú)需中斷
更加安全:具備防止惡意攻擊能力
長(zhǎng)期連接:保持 5G、WiFi等連接能力,保證設(shè)備間能一直相互連接
可持續(xù)的性能
云端接入能力:支持設(shè)備與設(shè)備間進(jìn)行無(wú)縫訪問(wèn)數(shù)據(jù)
具備AI能力
支持各種交互:兼顧觸控、手寫(xiě)、語(yǔ)音、鍵鼠等方式,以及能夠通過(guò)傳感器和姿勢(shì)感知
多樣產(chǎn)品形態(tài):支持云、邊、端的應(yīng)用
最近一系列基于微內(nèi)核的IoT OS推出,比如阿里AliOS Things、華為鴻蒙OS、GoogleFuchisa,進(jìn)一步詮釋了物聯(lián)網(wǎng)操作系統(tǒng)的特征。
微內(nèi)核并非新鮮事物,最早可以追溯到卡內(nèi)基梅隆大學(xué)在1985年推出的微內(nèi)核操作系統(tǒng) MACH。新一代的微內(nèi)核IoT OS可以支持從小到大的各種智能設(shè)備,包括從煙感傳感器、到攝像頭、再到計(jì)算網(wǎng)關(guān)等;提供各種本地插件、輕量級(jí)GUI、以及豐富的鏈接協(xié)議,滿足碎片化的設(shè)備開(kāi)發(fā)的需求;還有豐富的云端一體化的插件,包括連云套件、OTA、視頻語(yǔ)音連云套件,確保設(shè)備和云端的設(shè)備影子實(shí)時(shí)同步。
總而言之,基于微內(nèi)核的物聯(lián)網(wǎng)操作系統(tǒng),有能力適配高度碎片化的硬件與芯片生態(tài),有豐富的本地組件來(lái)支持不同的設(shè)備,又能夠充分和云端的大數(shù)據(jù)計(jì)算能力形成協(xié)同,奠定了數(shù)字化物理世界的基礎(chǔ)。
在互聯(lián)網(wǎng)時(shí)代,操作系統(tǒng)幾乎只需要支持PC和手機(jī)就可以完成任務(wù)。但是到了物聯(lián)網(wǎng)時(shí)代,IoT操作系統(tǒng)或者IoT平臺(tái)的復(fù)雜性急劇上升,為了令其更加易用,編程語(yǔ)言也需隨之進(jìn)化,IoT編程工具由此產(chǎn)生。
從操作系統(tǒng)到物聯(lián)網(wǎng)平臺(tái),從編程語(yǔ)言到IoT編程工具,這是一個(gè)自然而然的推進(jìn)過(guò)程。
可以預(yù)見(jiàn),編譯器和數(shù)據(jù)庫(kù)在物聯(lián)網(wǎng)時(shí)代也將產(chǎn)生更新或者變異。比如華為在8月31日剛剛開(kāi)源的方舟編譯器,以及濤思數(shù)據(jù)推出的時(shí)序數(shù)據(jù)庫(kù),都更加適合物聯(lián)網(wǎng)時(shí)代的應(yīng)用。
在物聯(lián)網(wǎng)時(shí)代,上述這些工具都會(huì)進(jìn)化,有些可能會(huì)徹底變成新的物種。IoT平臺(tái)與PC操作系統(tǒng)有本質(zhì)不同,IoT編程工具也與編程語(yǔ)言有著天壤之別。
因此,在物聯(lián)網(wǎng)時(shí)代我們需要一個(gè)更加立體、分層和全局的視角,來(lái)看待關(guān)鍵領(lǐng)域。不管是操作系統(tǒng),還是編程語(yǔ)言,都應(yīng)建立一個(gè)全新的理解,從而發(fā)現(xiàn)新的機(jī)會(huì),更好的利用工具,實(shí)現(xiàn)物聯(lián)網(wǎng)業(yè)務(wù)的拓展。
2、什么是低代碼?
既然與PC操作系統(tǒng)相比,IoT平臺(tái)的復(fù)雜性急劇上升,需要調(diào)度“云、管、邊、端”各方資源、兼顧傳感、姿勢(shì)、語(yǔ)音等各種交互方式,又要保持5G、WiFi、BLE等連接隨時(shí)在線…
那么,IoT編程工具的重要使命就是降低這種復(fù)雜度,讓開(kāi)發(fā)者可以輕松上手。因此“低代碼”是大勢(shì)所趨。
簡(jiǎn)單來(lái)說(shuō),“低代碼開(kāi)發(fā)”被用來(lái)描述一種快速設(shè)計(jì)和開(kāi)發(fā)的軟件系統(tǒng),無(wú)需編碼或通過(guò)少量代碼,就可以快速生成應(yīng)用程序。它是研究機(jī)構(gòu)Forrester Research在2014年最先使用的一個(gè)術(shù)語(yǔ)。
其實(shí)低代碼并不是最近才出現(xiàn)的新事物,它可以追溯到上個(gè)世紀(jì)90年代。
在1991年誕生的快速應(yīng)用程序開(kāi)發(fā)(Rapid Application Development,縮寫(xiě):RAD),目標(biāo)是在60到90天的短時(shí)間內(nèi),建立符合用戶要求的業(yè)務(wù)軟件。RAD的出現(xiàn)掀起了一場(chǎng)編程方式的革命,它帶來(lái)了可視化編程,使得編程的門(mén)檻變低了。
根據(jù)Forrester的分析預(yù)測(cè),低代碼平臺(tái)有可能使軟件開(kāi)發(fā)速度比傳統(tǒng)方法快上10倍。到2022年,低代碼平臺(tái)市場(chǎng)將從現(xiàn)有的40億美元,增長(zhǎng)到220億美元。
下面兩幅圖是使用低代碼編程工具之前和之后的對(duì)比:
之前
之后
如果將“低代碼開(kāi)發(fā)”和汽車(chē)制造做類(lèi)比,“低代碼”之于IoT開(kāi)發(fā)者就像自動(dòng)化生產(chǎn)線對(duì)于汽車(chē)行業(yè)的作用。
過(guò)去汽車(chē)的裝配需要手工完成,現(xiàn)在都是通過(guò)自動(dòng)化生產(chǎn)線實(shí)現(xiàn)。雖然早期自動(dòng)化進(jìn)程中使用的生產(chǎn)線,對(duì)汽車(chē)復(fù)雜多變的配置無(wú)能為力,但它們確實(shí)加快了裝配和交付的進(jìn)程。
作為對(duì)比,現(xiàn)在的編程工作大部分還處于手工作業(yè)階段,生產(chǎn)效率在很大程度上取決于編碼者個(gè)人的專(zhuān)業(yè)技術(shù)水準(zhǔn),“低代碼”盡量用少量的代碼開(kāi)發(fā)出企業(yè)級(jí)的應(yīng)用,最大限度的提高應(yīng)用開(kāi)發(fā)的效率。
眾所周知的低代碼實(shí)例是WordPress,它是一款開(kāi)源CMS(Content Management System,內(nèi)容管理系統(tǒng)),特性是易上手,開(kāi)發(fā)速度尤其快,甚至無(wú)需代碼,直接安裝模板和插件就可以達(dá)到要求。
使用WordPress,中小型企業(yè)只需雇傭一名不懂編程的員工,便可以借助網(wǎng)上發(fā)布的各種主題和插件,在完全不需要編程代碼的情況下進(jìn)行基本網(wǎng)站編輯。目前WordPress已經(jīng)支持了世界上超過(guò)70%的網(wǎng)站。
至此,可以看到低代碼具有如下優(yōu)勢(shì):
降低編程門(mén)檻,不需要大量的編程知識(shí)
大大加快應(yīng)用程序的開(kāi)發(fā)和部署時(shí)間
節(jié)省成本,節(jié)省項(xiàng)目規(guī)劃或員工培訓(xùn)的時(shí)間
用戶可自定義模塊,應(yīng)用程序可以靈活調(diào)整
開(kāi)發(fā)者可以將精力更好的分配于核心任務(wù)
任何事物都有兩面,必須說(shuō)明,低代碼也存在使用風(fēng)險(xiǎn):
供應(yīng)商被鎖定:目前低代碼編程工具并不通用,選擇其中一種便意味著鎖定了供應(yīng)商。
維護(hù)成本較高:由于低代碼及其供應(yīng)商存在較強(qiáng)的耦合性,也就意味著供應(yīng)商擁有較強(qiáng)的議價(jià)能力。
存在監(jiān)管隱患:因?yàn)闇p少了代碼編寫(xiě)的工作量,開(kāi)發(fā)者很難知道API調(diào)用的背后隱藏著什么秘密。
功能可能有限:任何低代碼的供應(yīng)商都不可能預(yù)測(cè)到所有的應(yīng)用細(xì)節(jié),如果開(kāi)發(fā)者希望更加靈活地適應(yīng)企業(yè)的需求,就需要使用自己編寫(xiě)的代碼來(lái)滿足。
應(yīng)用千篇一律:低代碼編程項(xiàng)目可能最終看起來(lái)彼此都非常相似,因?yàn)殚_(kāi)發(fā)者使用的是相同的模塊。
任何技術(shù)都有利弊,越容易被創(chuàng)建,往往也意味著,越容易被復(fù)制。
而我們需要做的,就是權(quán)衡利弊,想好自己是否要用這個(gè)工具。
3、IoT低代碼編程工具之間有什么差異?
總體而言,有兩類(lèi)公司在提供IoT低代碼編程工具,分別是物聯(lián)網(wǎng)平臺(tái)型企業(yè)和應(yīng)用服務(wù)初創(chuàng)型公司。
除了文初提到的阿里和微軟,AWS、Google、Salesforce等巨頭都有提供IoT低代碼編程工具。
典型的低代碼平臺(tái)初創(chuàng)公司,除了被西門(mén)子收購(gòu)的Mendix,比較知名的還有OutSystems、ServiceNow、Kony等。
市場(chǎng)研究機(jī)構(gòu)Gartner和Forrester分別繪制了低代碼平臺(tái)的格局版圖。
這兩類(lèi)公司由于各自目標(biāo)不同,所提供的IoT低代碼編程工具其側(cè)重點(diǎn)也有所區(qū)別。
物聯(lián)網(wǎng)平臺(tái)型企業(yè):這類(lèi)企業(yè)的目標(biāo)是降低物聯(lián)網(wǎng)平臺(tái)的應(yīng)用門(mén)檻,匯聚開(kāi)發(fā)者生態(tài),因此往往提供的是端到端的IoT低代碼編程工具或者開(kāi)發(fā)環(huán)境。
以阿里云最近更新的IoT Studio為例,它是一套專(zhuān)為物聯(lián)網(wǎng)應(yīng)用所設(shè)計(jì)的集成開(kāi)發(fā)環(huán)境IDE,功能包括:
設(shè)備數(shù)據(jù)無(wú)縫集成:設(shè)備相關(guān)的屬性、服務(wù)、事件等數(shù)據(jù)均可從阿里云物聯(lián)網(wǎng)平臺(tái)設(shè)備接入和管理模塊中直接獲取,大大降低物聯(lián)網(wǎng)開(kāi)發(fā)工作量。
面向各個(gè)行業(yè)提供場(chǎng)景化模板:開(kāi)發(fā)者可以直接利用現(xiàn)有的(包含設(shè)備,應(yīng)用和服務(wù)的)解決方案模版來(lái)開(kāi)發(fā)自己的業(yè)務(wù),將原有需要幾周的開(kāi)發(fā)過(guò)程縮短到幾天。
可視化應(yīng)用開(kāi)發(fā):用戶通過(guò)簡(jiǎn)單的可視化拖拽的方式,即可將各種組件、圖表與設(shè)備相關(guān)的數(shù)據(jù)源進(jìn)行關(guān)聯(lián),幾乎無(wú)需任何編程經(jīng)驗(yàn),整個(gè)過(guò)程就像使用PPT一樣簡(jiǎn)單。
提供服務(wù)開(kāi)發(fā)的功能:用戶可以很方便的實(shí)現(xiàn)設(shè)備之間的聯(lián)動(dòng)、設(shè)備與服務(wù)之間的數(shù)據(jù)流轉(zhuǎn)。IoT Studio打通了阿里云API市場(chǎng),用戶還可利用各種人工智能及數(shù)據(jù)分析的API。
應(yīng)用服務(wù)初創(chuàng)型公司:這類(lèi)企業(yè)將低代碼平臺(tái)本身作為核心產(chǎn)品,探索與之相應(yīng)的新型行業(yè)模式,因此他們的編程工具一般并非針對(duì)物聯(lián)網(wǎng)應(yīng)用所創(chuàng)建,或者并不具備對(duì)于物聯(lián)網(wǎng)異構(gòu)設(shè)備的支持能力。
以被西門(mén)子并購(gòu)的Mendix為例,它本身是一個(gè)加速企業(yè)敏捷開(kāi)發(fā)流程的PaaS平臺(tái),并自稱(chēng)是全球唯一一個(gè)真正的云原生低代碼平臺(tái)。
它由3個(gè)無(wú)縫集成的產(chǎn)品組成:Sprintr,AppFactory和Mendix Platform-as-a-Service,分別實(shí)現(xiàn)的功能如下:
Sprintr:采用輕量級(jí)的社交方法進(jìn)行企業(yè)項(xiàng)目協(xié)作。通過(guò)在整個(gè)企業(yè)中提供協(xié)作平臺(tái),Sprintr打破了不同部門(mén)和專(zhuān)業(yè)之間的隔閡,所有員工都是同一個(gè)私有社交網(wǎng)絡(luò)的一部分。
AppFactory:讓用戶能夠使用高級(jí)可視化的模型開(kāi)發(fā)應(yīng)用程序。這可以實(shí)現(xiàn)業(yè)務(wù)和IT之間的協(xié)作,還可縮短反饋周期。AppFactory又由3個(gè)元素組成:
-Mendix Business Modeler:使用可視化模型設(shè)計(jì)和開(kāi)發(fā)應(yīng)用程序的建模環(huán)境。
-Mendix Team Server:基于云的模型存儲(chǔ)庫(kù),用于團(tuán)隊(duì)成員協(xié)作并進(jìn)行版本控制。
-Mendix AppStore:應(yīng)用市場(chǎng),用于共享和下載業(yè)務(wù)模板、主題和技術(shù)組件。
MendixPlatform-as-a-Service:用戶只需單擊一下,即可從Mendix Business Modeler中將應(yīng)用程序模型上傳到Mendix PaaS,從而輕松部署應(yīng)用程序。
被西門(mén)子收購(gòu)之后,Mendix在最新的19版中增加了對(duì)于物聯(lián)網(wǎng)設(shè)備的支持,并升級(jí)了AI引擎,提供對(duì)于物聯(lián)網(wǎng)數(shù)據(jù)的分析服務(wù)。
----寫(xiě)在最后----
借助IoT低代碼編程工具,讓企業(yè)有機(jī)會(huì)嘗試用更少的資源更快更好的實(shí)現(xiàn)應(yīng)用。如果將其承載在工業(yè)大腦或者智慧城市的管理平臺(tái)之上,勢(shì)必將會(huì)激發(fā)各類(lèi)應(yīng)用開(kāi)發(fā)者的創(chuàng)意和想法,讓各類(lèi)應(yīng)用快速集成落地。
對(duì)于開(kāi)發(fā)者數(shù)量有限的傳統(tǒng)行業(yè),IoT低代碼編程工具還有可能加速I(mǎi)T和OT的融合。
當(dāng)然,各種IoT低代碼編程工具是否被宣傳得恰如其分,是否在實(shí)踐中方便使用,還需要經(jīng)過(guò)驗(yàn)證。
衷心感謝阿里云首席智聯(lián)網(wǎng)科學(xué)家丁險(xiǎn)峰在成文過(guò)程中對(duì)我的大力支持。
最后,歡迎在本文下方的留言區(qū)分享你對(duì)“IoT低代碼編程工具”的觀察、實(shí)踐或者任何想法,點(diǎn)贊數(shù)最多的3位朋友,都將收到由我誠(chéng)摯送上的簽名版《智聯(lián)網(wǎng)?新思維》。
本文小結(jié):
1.在物聯(lián)網(wǎng)時(shí)代我們需要一個(gè)更加立體、分層和全局的視角,來(lái)看待關(guān)鍵領(lǐng)域。不管是操作系統(tǒng),還是編程語(yǔ)言,都應(yīng)建立一個(gè)全新的理解,從而發(fā)現(xiàn)新的機(jī)會(huì),更好的利用工具,實(shí)現(xiàn)物聯(lián)網(wǎng)業(yè)務(wù)的拓展。
2.與PC操作系統(tǒng)相比,IoT平臺(tái)的復(fù)雜性急劇上升,IoT編程工具的重要使命就是降低這種復(fù)雜度,讓開(kāi)發(fā)者可以輕松上手,因此“低代碼”是大勢(shì)所趨。
3.現(xiàn)階段有兩類(lèi)公司在提供IoT低代碼編程工具,分別是物聯(lián)網(wǎng)平臺(tái)型企業(yè)和應(yīng)用服務(wù)初創(chuàng)型公司。