您或许听说过 Node-RED。这是一个非常了不起、基于浏览器、可拖放流和连接节点,并能将 IoT 设备与应用程序集成的工具。您也许考虑过使用它,也许没有。在这篇文章中,我将介绍在应用程序中使用 Node-RED 的五大理由。下面进入正题。

 

#1 – 在经过实践检验的技术堆栈上构建

Node.js

Node-RED 的核心是 Node.js,众所周知后者是一个 JavaScript 运行时,它宣称拥有全宇宙最大的开源组件生态系统 (好吧,后半句是我添加的,但它确实是全球最大的)。所以它是成熟的,有一个活跃的社区,而且许多人都在使用它。

因为它是成熟的,而且使用很广泛,所以您可以放心使用。但是不要轻信我的话。可以询问查看 PayPal 或 Netflix Wal Mart (还可以继续列举)。

JavaScript

如此看来,Node.js 属于 JavaScript,对吧?不错,但这不是坏事。无论您喜不喜欢,JavaScript 都会永远存在,不会远离,让我们面对事实吧。

我使用过它(我承认最初很不情愿),尽管它有点怪异,但很有效。此外,它很容易学习和使用,也非常强大。使用 JavaScript 有许多理由 (单击此处了解五大理由)。

Web Browsers

从技术层面上讲,Web 浏览器是否属于技术堆栈的一部分?我不知道,也许我在这里过于随便地发挥了创造力。但我这么做是为了说明这一点:编写 GUI 很难。

当您将一些标记 (HTML/CSS)、一些代码 (JavaScript) 和一些元数据 (JSON) 相结合,得到一个非常漂亮的用户界面时,就知道我说的没错。

Web 浏览器无处不在。您喜欢 Safari?很好!Firefox?太棒了!Chromium?Opera?它们都很受欢迎(甚至包括 Chrome)。

#2 – JSON – 比 XML 好多了

XML 有什么问题吗?

我不是 XML 的粉丝。XML 非常灵活、强大且令人印象深刻,但我不喜欢 XML,因为它很容易发展成一大堆很难阅读的应用程序元数据。

当应用程序开发人员心甘情愿地“用 XML 描述所有元数据”时,没人能唤醒他们。他们已深陷其中。坚决要将应用程序配置弄得杂乱不堪(通常他们很快会离开团队,或者更糟的情况是离开公司)。

更好的元数据

Node-RED 使用 JSON(全称是 JavaScript Object Notation,可标记所有重要对象类型)来描述其元数据。这里没有 XML。JSON 是否可能被滥用?当然,但恕我直言,滥用并不容易,而且它比 XML 更容易阅读。

#3 – 可视化(网络)边缘

基于流的编程非常酷

“基于流的编程”是什么?只是可视化应用程序功能的一种超级酷的方式。基于流的编程 (FBP) 由 J. Paul Morrison 于 20 世纪 70 年代创建, 它是为一家加拿大银行创建,是一种思考编程的不同方式,它将问题分解为数据、在该数据上操作的流程,以及将流程连接在一起的网络。

各个流程分组到一个流中,以完成某个目标。类似地,可以从逻辑上将流分组到一起,以便完成更高级的目标,等等。传入数据,传出数据。

毫无疑问,FBP 非常适合可视编程。您可以绘制代码,并且代码能正常运行。是不是很不错?

边缘上的生活

在网络的边缘,有许多创新。为什么?因为许多数据都是在这里创建的。海量的数据不断产生,包括来自传感器、摄像机的数据,来自手机和可穿戴设备等移动设备的 GPS 数据。甚至还有来自自动驾驶车辆的所有数据(这很快就会实现,拭目以待吧)。

需要使用所有这些数据进行创新?这就是“边缘”,这就是 Node-RED 大放异彩的地方。

如何大放异彩?因为 Node-RED 是由 IBM 新兴技术服务部团队设计和构建的,用于可视化与硬件设备之间的消息队列遥测传输 (MQTT) 消息发送和接收,将硬件(和它们的数据流)连接到应用程序已融入到 Node-RED 的 DNA 中。如果需要构建一个原型来展示您的想法,为什么不使用专为边缘设计的工具呢?

#4 – Node-RED 不是玩具

您已在 Node-RED 中构建了原型,而且给客户留下了深刻印象。现在该做什么?

现在当然是基于该原型来创建成品。但仍在 Node-RED 中进行操作!无论您需要构建一个新功能、一组新功能,还是一个完整的应用程序(从浏览器到数据库),Node-RED 都涵盖了从原型到生产的全过程。

如果不能在数千个免费组件中找到满足您的需求的组件,您可以自己编写一个

例如,查阅 IBM 的 Node-RED Starter, 它们会帮助您构建一些重要功能。

#5 – 不仅适用于 IoT

Node-RED 支持使用浏览器将节点之间的数据流连接起来,以创建功能。而且它在 IoT 领域已变得非常流行,能在传感器、摄像机和无线路由器等 IoT 设备之间建模大量应用程序功能。

它远不止是一种 IoT 技术(只要您充满创造力)。 flows.nodered.org 上提供了大量现有节点。不喜欢它们?自己编写一个

重点在于,节点是一个能执行您想要的任何操作的代码块。需要从 Twitter 读入一些数据?没问题。需要将推文与情绪匹配器进行比较,查看推文情绪是高兴、悲伤还是冷漠?没问题。需要从某个 Web 表单读入数据?没问题。执行在 OpenWhisk 中运行的无服务器功能?没问题。

我的意思很明确。Node-RED 非常灵活,而且很强大。

 

后续计划

 
 
 
本文翻译自:The top five reasons you should be using Node-RED right now!(2017-08-30)
Save

Save

加入讨论