讓物聯網應用開發全面提速,巨頭們用了“大”招【物女心經】
作者:物女王(彭昭)
物聯網智庫 整理發佈
導 讀
物聯網時代,工具的選擇尤為重要。當大部分人還拿著大刀長矛以原始姿勢赤身肉搏時,率先發明火炮步槍,並掌握狙擊方法的人想輸都難。既然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低代碼程式設計工具是否被宣傳得恰如其分,是否在實踐中方便使用,還需要經過驗證。
本文小結:
1.在物聯網時代我們需要一個更加立體、分層和全域的視角,來看待關鍵領域。不管是作業系統,還是程式設計語言,都應建立一個全新的理解,從而發現新的機會,更好的利用工具,實現物聯網業務的拓展。
2.與PC作業系統相比,IoT平臺的複雜性急劇上升,IoT程式設計工具的重要使命就是降低這種複雜度,讓開發者可以輕鬆上手,因此“低代碼”是大勢所趨。
3.現階段有兩類公司在提供IoT低代碼程式設計工具,分別是物聯網平臺型企業和應用服務初創型公司。
資料來源:https://mp.weixin.qq.com/s?__biz=MjM5MTM5ODQyMA==&mid=2651216898&idx=1&sn=b08fe67b565b6c82dadd4468ac21c791&chksm=bd44d3798a335a6fdb7bbb7aa838ebd4d98a2409990dd97fb56ad85d33d3a95d7fe7bb5d418c&scene=21#wechat_redirect
「unix linux差異」的推薦目錄:
- 關於unix linux差異 在 台灣物聯網實驗室 IOT Labs Facebook 的精選貼文
- 關於unix linux差異 在 柯耀宗 Facebook 的最讚貼文
- 關於unix linux差異 在 Re: [問題] 關於unix與linux - 看板Linux - 批踢踢實業坊 的評價
- 關於unix linux差異 在 linux作業系統種類的推薦,MOBILE01和網路上有這些評價 的評價
- 關於unix linux差異 在 Unix/Linux 作業系統實務Week4 - Linux 目錄/檔案結構說明 的評價
- 關於unix linux差異 在 Linux 系統比較(第2頁) - Mobile01 的評價
- 關於unix linux差異 在 Linux 基本認識與常用指令整理 - Dylan's Blog 的評價
unix linux差異 在 柯耀宗 Facebook 的最讚貼文
(拿到"新"平板電腦,欣喜開懷)
做為現代經營者,真是幸運!人類技術不斷進化,我看國際文獻,看到哪,做到哪!Unix/Linux/Windows...等最新進展,指示同仁,詳讀文獻,做出我要的,升級團隊競爭力!
處理高層託付,一位創業家說道「您團隊實在太厲害了...」其看到我們將不可能的完成,現正處理其認為無解的難題...交辦工程師後,我從助理手中取得升級到iOS11的「地表最大平板之一」...
從哪一秒之後,一路笑不停...清晨三點多,還起來一邊使用,一邊笑著...無上的幸福!因為:
1)新的iOS11,全部變更粗體,我把字放得超大,看得更舒服:
我很幸運,沒有老花眼鏡,再小的字,都看得一清二楚,只是會不舒服!
這麼多年,我都把字,放得超大!字愈大,眼壓愈小...家母81歲,也沒老花眼鏡,我不知這是遺傳,還是使用習慣所致!
2)一開平板,把Apple Pencil筆,點擊螢幕,自動跳出「備忘錄」,等著主人下筆:
我已20年以上,都用數位筆,個人諮商/思考/開會/畫圖,都在平板上。不用紙張,就沒有檔案夾/檔案櫃/人工整理/助理群找尋資料...
小小改變,人生大不同!有時大集團董事長,有機密資料給我,我說「董事長如果機密,不便請助理打字,可寫在紙張上,手機拍照傳給我就好...」
我的世界,藏了龐大機密,都是不可說...選了張國際社團「手稿」,是傑出企業家,親筆寫給我的...第一時間就拍照存檔,至於原稿,當然已不知去向...
我-不-會-把-我-與-伙-伴-們-的-珍-貴-人-生,用來管理「這些紙張」...
3)中文打字:脫胎換骨...
我飛回台灣前,最新10.5 吋iPad Pro上市,我問了當地櫃哥/櫃姐「我有這一台12.9吋,需不需要再買這一台?!」四個人都堅定回答「不需要!」
瞧,問題多嚴重,他們家CEO,拼了命說「這是史上最好的...」員工在最前線很誠實且堅定說明「不需要買...沒什麼大差異...」
而裝了這新iOS11後,對我,差異很大...才一天而已,人生,就跟昨天不一樣...沒有已經成功,只有永續升級!
( *睽違11個月之後,7/12 臺北公開講座震撼分享,請見 www.idi.tv/ok )
unix linux差異 在 Unix/Linux 作業系統實務Week4 - Linux 目錄/檔案結構說明 的推薦與評價

本課程介紹Debian Linux Buster 版之桌面環境建置,此課程為南臺科技大學電子系李博明教授所開設的 Unix / Linux 作業系統實務課程。 ... <看更多>
unix linux差異 在 Linux 系統比較(第2頁) - Mobile01 的推薦與評價
如果是GUI,那你怎麼換都是一樣的,UNIX-Like 系統精髓是在它的CLI 不在GUI,若想學的精,就要捨棄GUI,以CLI 為主再來,你知道macOS 是何方神聖嗎,還要改學LINUX ?? ... <看更多>
unix linux差異 在 Re: [問題] 關於unix與linux - 看板Linux - 批踢踢實業坊 的推薦與評價
※ 引述《johnny94 (32767)》之銘言:
: 最近想要來玩玩Linux
: 也在板上或Google看了不少相關文章
: 但是對於一些名詞還是不太了解
: 像是 Linux, unix 或是 unix-like 等
: 這些不同的作業系統到底是怎麼分類的?
: 像是ubuntu, Linux mint 是屬於 Linux 的 Destribution 吧?
: 他們倆個也都算是 unix-like 系統嗎
: ---------------------------分隔線-----------------------------------
: 那 FreeBSD 呢? 一進去官網一個大字寫 Based on BSD UNIX
: 所以它是unix的系統嗎? 還是它其實是unix-like的系統?
: 除此之外,還看過一些文章針對某些作業系統會有如下的敘述
: "嚴格來說,它算是unix-like的系統,而不是unix的一支"
: 實在是不太懂這是什麼意思啊....
: 以上就是我的問題
: 如果有哪邊問題不清楚,或是我的敘述不好,還請板眾指正 謝謝
首版的 UNIX 作業系統是在 1969 由一群 AT&T 員工所開發, 當時叫 Unics
不過因為其開放源碼的特性, 以及初期與 UC Berkeley 的一些互動
現在並沒有一個叫做 UNIX 的作業系統
UNIX 這個名稱比較像是一個工業標準
一堆雜七雜八的歷史跳過
如果一個作業系統要被認為「是 UNIX」
它必須通過 Single UNIX Specification 的檢驗
這個檢驗包含一堆標準, 是由 IEEE 與開放軟體組織所設立
要受檢當然是要錢的, 所以非商業組織開發的系統基本不會去拿這個
而即使是商業組織, 也可能不見得想遵守某些規範
但是這些系統還是幾乎, 甚至在事實上根本符合 UNIX 標準
這些系統就被稱為 UNIX-like(或稱 UN*X 或 *NIX 等等)作業系統
一般稱作 Linux 的作業系統, 則是指使用 Linux kernel 作為核心的作業系統
由於歷史因素, 這些作業系統大多採取類似 UNIX 的架構
所以它們通常都是 UNIX-like(甚至通過檢驗被核可為 UNIX 系統)
但理論上, 基於 Linux kernel 的系統並不一定要採取類 UNIX 架構
所以是不是 UNIX-like 和是不是 Linux, 這兩件事是分開的
現今採用 Linux kernel 的作業系統基本都是 UNIX-like 作業系統
這是作業系統的發展史造成的
--
有不精確的地方請糾正 :~
--
╱ ̄ ̄ ̄╲
▏◢█◣ ▏
︻█︻█ ▏ 成龍表示: 是喔...
′/ ‵ ▏
╰╯ █╱
ψQSWEET ◥︶█◤
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.32.81.146
※ 編輯: uranusjr 來自: 114.32.81.146 (10/01 19:51)
... <看更多>