您可能聽說過 Node-RED。它是一款基於瀏覽器的優秀工具,可用於繪制流程和連接節點並且可輕松地將 IoT 設備與應用程序集成,您知道它嗎?沒錯,就是它。
您可能已經接觸過這款工具。
在本文中,將展示在應用程序中使用 Node-RED 的五大理由。現在進入正題。
1 – 基於經過實踐測試的技術堆棧
Node.js
Node-RED 的核心是 Node.js。如您所知,Node.js 是一個 JavaScript 運行時,它擁有全球最大的開源組件生態系統(好吧,最后一部分是我增加的,但它確實是世界上最大的)。它已經非常成熟,並擁有一個非常活躍的社區,而且許多人都在使用它。
由於它已經非常成熟,而且使用很廣泛,因此您可以放心地使用。您可以親自去了解一下。詢問 PayPal.或 Netflix。或 Wal Mart(我可以繼續)。
JavaScript
Node.js 其實就是 JavaScript,可以這樣說吧?不錯。不管您是愛它還是恨它,JavaScript 一直都存在。
我也使用過 JavaScript(起初我很不情願),盡管它有古怪之處,但它仍然很有用。它便於學習和使用,而且功能強大。使用 JavaScript 的理由有很多(單擊此處以了解五大理由)。
Web 瀏覽器
從技術上講,Web 瀏覽器是技術堆棧的一部分嗎?我也不是很清楚。但是,我想說明一點:編寫 GUI 非常困難(尤其是像我們編寫的 GUI 一樣好的 GUI)。
值得一提的是,可以將一些標記 (HTML/CSS)、一些代碼 (JavaScript) 和一些元數據 (JSON) 組合在一起,形成一個非常清晰的用戶界面。
Web 瀏覽器無處不在。您喜歡使用 Safari?很好!Firefox?太棒了!Chromium?Opera?所有這些瀏覽器都非常受歡迎(您甚至可以使用 Chrome)。
2 – JSON —— 優於 XML
XML 有何缺陷
我並不是 XML 的粉絲。XML 非常靈活、功能強大且表現力強,但我還是不喜歡 XML,因為它很容易扭曲,變成大量難以理解的應用程序元數據。
當應用程序開發者選擇屈服於“讓我們用 XML 描述所有的元數據!”規則時,他們往往對此避而不談。他們已深陷其中。而在他們很快要離開團隊(甚至是離開公司)時,通常會將應用程序配置弄得一團糟。
更理想的元數據
Node-RED 使用 JSON(即 JavaScript 對象表示法)來描述其元數據。這里沒有 XML。是否會出現誤用 JSON 的情況?當然,但恕我直言,誤用 JSON 並不容易,因為 JSON 比 XML 更易於閱讀。
3 – 直觀呈現(網絡)邊緣
基於流程的編程方法非常酷炫
什么是“基於流程的編程方法”(FBP)?這是一種可用於可視化應用程序功能的超酷方法。它是由 J. Paul Morrison 在 20 世紀 70 年代為一家加拿大銀行設計的,FBP 是一種截然不同的編程方法,可以將問題細分為數據、可處理數據的過程以及可將過程連接在一起的網絡。
然后,這些過程經過分組后會形成相應的流程以實現特定目標。同樣,這些流程也會進行邏輯分組,以實現更高級的目標,以此類推。數據輸入,數據輸出。
很顯然,FBP 非常適合於可視化編程。這樣便可以繪制代碼。是的。繪制代碼。而且代碼可以正常運行。是不是很酷?
存在於邊緣上
這里指的是網絡的邊緣。許多創新都誕生於此。為什么會這樣呢?那是因為許多數據都是在這里產生的。大量數據不斷產生,包括來自傳感器和攝像頭的數據,以及來自手機和可穿戴式設備等移動設備的 GPS 數據。甚至還有來自自動駕駛汽車(這很快就會實現,讓我們拭目以待吧)的所有數據。
想要使用所有這些數據來實現創新嗎?這就是“邊緣”,也是 Node-RED 大放異彩的地方。
怎樣大放異彩呢?由於 Node-RED 是由 IBM 新興技術服務團隊設計和構建的,並且可以直觀呈現與硬件設備之間傳輸的消息隊列遙測傳輸 (MQTT) 消息,因此 Node-RED 本能地會將硬件(及其數據流)連接到應用程序。如果您需要構建一個原型來展示自己的想法,為什么不使用專為邊緣設計的工具呢?
4 – 它不是一個玩具
在 Node-RED 中構建原型可以給客戶留下深刻的印象。現在該做些什么呢?
當然是基於原型創建成品。這仍然是在 Node-RED 中完成!無論您要構建的是單個新功能、新功能集合還是從瀏覽器到數據庫的整個應用程序,Node-RED 可引導您完成從原型到生產的整個過程。
而且,如果您無法從成千上萬的免費組件中找到符合自己需求的組件,那么可以編寫自己的組件!
例如,可以查看 IBM Cloud 中的 Node-RED Starter,它可以引導您構建一些重要功能。
5 – 不只是用於 IoT
借助 Node-RED,您可以通過使用瀏覽器將節點間的數據流連接在一起來創建特定的功能。它在 IoT 領域內已經得到廣泛的應用,能夠對傳感器、攝像頭和無線路由器等 IoT 設備之間的一些應用程序功能進行建模。
但是,如果您有創造力的話,那它就不只是 IoT 技術了。 在 flows.nodered.org 中提供了成千上萬個現成的節點。不喜歡它們嗎?編寫自己的代碼!
節點就是代碼塊,幾乎可以執行所有您想要的操作。需要從 Twitter 中讀入一些數據?需要將推文與情緒匹配器進行比較,了解推文中反映的情緒是高興、悲傷還是冷漠?需要從某個 Web 表單中讀入數據?或者執行在 OpenWhisk 中運行的無服務器功能?選中對應的項就可以了。
現在明白了吧,Node-RED 超級靈活,而且功能很強大。
查看 IBM Developer 上所有精彩的 Node-RED 內容,以找到立即開始使用 Node-RED 的理由。
NodeRED官網:https://nodered.org/
NodeREDGITHUB:https://github.com/node-red
NodeRED英文社區:https://discourse.nodered.org/
NodeRED中文社區:https://www.iotschool.com/topics/node81
NodeRED中文社區QQ群:8604461

