开源技术 * IBM 微讲堂:Kubeflow 系列(观看回放 | 下载讲义) 了解详情

IBM Developer 博客

通过 IBM Developer 关注最新动态并获取信息

Node-RED 已经过实践测试和开源,并且可用于生产环境。


您可能听说过 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 的理由。

本文翻译自:Top 5 reasons to use Node-RED right now(2020-03-17)