当前位置: 首页 > 科技观察

Node.js在复杂集成场景下占据统治地位的五个理由

时间:2023-03-19 19:11:35 科技观察

Node.js在复杂的集成场景工作交易中占据主导地位的五个原因。简单的集成当然没有问题,但如果集成需求复杂,可能需要对接现有应用的第三方产品多达几十种。考虑到具体定制和业务逻辑的复杂性,不同厂商API条件的开放性和全面性可能会让人头疼。为了完成相关的集成工作,历史上出现了一系列的解决方案,包括DOS批处理文件、Linuxshell脚本、Perl和Python等。而现在,Node.js已经广泛流行,成为了主流选择许多从业者。具体原因分为以下五点。1.Node.js具有通用性的优点。随着JavaScript的高人气,Node.js也拥有了可观的用户群。由于JS的直观性和风格包容性,Node.js可以轻松适应服务端开发的需求,并享有庞大的JS技术社区的大力支持。此外,在集成领域,制造商本身也越来越多地使用JS和相关产品。通过这种自给自足的对接方式,加上庞大的JS技能高手基数,Node.js展现出了最好的易用特性。另外,Node.js采用了运行中编译的处理方式,这意味着它的代码是可读的。此外,Node.js的运行性能也相当不错。2.Node.js有大量的模块。Node.js之所以如此受欢迎,也是因为广大的开发??者社区可以生成它的代码来实现模块化的功能,然后结合require()语句进行解释。它的基本格式是:varmyName=require('external-module');迄今为止发布的模块数量极其惊人。这意味着您可以轻松找到大量适合您功能需求的现成代码,并通过几行胶水代码将其带入您的项目中。MySQL和MongoDB就是典型的例子。各厂商也加入了这个阵营。目前,许多打包器和客户端可以通过Node模块交付给工具和应用程序。Twitter的客户端“SDK”就是一个例子。让我们看看如何轻松地为MoogsoftAIOps系统的用户发布示例模块:varMoogEvent=require('node-moog').MoogEvent;myEvent=newMoogEvent();myEvent.description='Mynewdescription';该模块帮助厂商快速发布API和函数,并轻松与本地Node.js代码对接。3.JSON具有原生属性JSON,即JavascriptObjectNotation,是一种轻量级的数据交换格式,具有很多集成优势。简单易学,几乎适用于任何类型的用例。JSON是人类可读的,适用于快速部署和维护结果。此外,JSON比XML更易于解释,并逐渐在客观层面取代XML作为数据交换格式。目前主流云提供商几乎普遍采用JSON作为默认负载。更重要的是,JSON是Node.js原生的。所有的JavaScript值——除了原始值——都是对象,JS中的各种复杂或层次化的对象都可以用JSON形式来描述。这意味着我们只需几步即可处理JSON负载。示例负载:{"title":"example","contents":"somestuff"}因此可以处理为:varmessage=JSON.parse(payload);console.log(message.title);//将输出“example”这种以基于代码的方式处理外部系统之间交换的数据的能力无疑可以大大加快集成工作的执行速度。4.REST也是原生的。REST虽然客观层面上算不上native,但实际效果和native差不多。Node.js原生支持HTTP/HTTPS,因此您可以轻松地在RESTful端点上执行GET或POST。即便相关厂商没有提供项目所需的js模块,但至少可以提供示例代码,供用户复制粘贴。此外,您还可以使用多种Node模块,在隐藏复杂的底层机制的同时,实现全面的REST连接能力。(Node.jsHTTP/HTTPSAPI实际上是相当低级的,旨在确保没有功能限制。)为什么REST如此重要?正如JSON已客观地成为默认数据交换格式一样,RESTfulWeb服务正迅速成为最重要的Web友好协议——对于许多制造商而言,REST已成为API的同义词。此外,Node.js的HTTP/HTTPS模块还提供了服务器功能,这意味着Node.js应用程序可以监控和响应各种REST方法。如果你想利用你的应用程序输出REST的能力,提供复杂丰富的Web服务,ExpressNode模块值得一看——它可以快速轻松地完成Web服务器的编写。此外,REST及其机器数据表兄弟WebHook也适用于构建系统间API和各种命令和工具。5.打包的Node.js模块易于发布和访问,这是其高人气的另一个原因。借助Node.js的内置包管理器NPM,可以快速发布和访问Node模块。贡献者创建一个包含详细信息和依赖项的package.ison文件,可以将其推送到NPM公共存储库以供各种访问者使用。您可以使用以下命令来访问我们编写的模块:$npminstallnode-moog对于像我这样的Unix老用户来说,命令行也很重要。Node.js可以很方便的创建各种命令行工具,同时通过npm快速添加各种参数并安装。例如,我们可以使用以下命令安装名为myTool的CLI工具:$npminstall–gmyTool此命令将全局安装myTool。这意味着Node.js非常适合创建沙盒打包程序、脚本、存档和报告。除了上面提到的五个原因,随着谷歌V8JavaScript引擎的每一次迭代,Node.js的性能也会同步提升。虽然我也推崇Python,但是Node.js成为了我们目前最好的选择——不知道大家怎么看?原标题:Node.js规则复杂集成的5个原因原作者:RichardWhitehead