您现在的位置是:首页 >综合 > 2021-05-15 10:08:28 来源:
Node.js改变应用程序开发规则的5种方式
Node.js的采用受到减少应用程序上市时间的需求的推动。更高的灵活性和更低的劳动力成本导致更快的发展,因此公司可以应对当今瞬息万变的商业环境。Node.js使用JavaScript,这是当今最流行的编程语言之一,这意味着Node很容易接触到大量的开发人员。
应用程序开发规则正在发生变化。这是如何做:
1.模块化设计
考虑一下PayPal的经验,它参与了一个新应用程序的并行开发,其中一个团队使用Java而另一个团队使用Node.js.
据杰夫·哈勒尔, 工程总监和首席架构师贝,Node.js的内置应用程序需要更少的代码33%%的线路,处理每秒请求数的两倍,并缩短响应时间的35%%相比,Java版本。
Node团队在两个月内完成了他们的项目,而Java团队在八个月后仍然试图完成。此外,Node团队由两名开发人员组成,而Java团队编号为20。
PayPal使用Node.js来实现由庞大代码库负担的单片应用程序环境的现代化。它首先使用Node.js重新设计现有的Java服务。通过这样做,PayPal直接解决了其业务所带来的僵化,并使其能够继续快速创新并继续使服务适应其需求。
Java应用程序开发框架鼓励构建大型单片应用程序。虽然这是15年前的既定最佳实践,但今天,模块化,面向服务的体系结构被认为是处理复杂业务环境中复杂软件的更好方法。
PayPal使用Node.js将模块化推进其软件开发过程。Node.js鼓励模块化设计,并通过其生态系统和工具实现。PayPal早期做出的一个关键决策是在Node.js中建立一个内部包注册表,以便在内部管理代码并使团队更有效地进行协作。
由于每个模块都提供可以跨团队和跨应用程序轻松共享的特定功能,因此Node.js可以加快应用程序开发速度并实现更好的团队协作。
2.生态系统
Node.js代码的模块化设计创建了一个丰富的生态系统,您可以在开发应用程序时进行构建。
Node.js生态系统结合了低级系统程序员和前端JavaScript开发人员的工作,以实现服务器端开发。
Node.js生态系统中有许多依赖项,可以更容易地进行调整,合并和共享。
Node.js代码的包注册表npm是有史以来最大的包生态系统。据modulecounts.com报道,有近300,000个包裹 - 每天增加300多个新包裹,是其他生态系统的三倍。
3.合作
通过模块化设计和如此庞大的生态系统,Node.js开发人员可以享受更多的协作。Java倾向于使用面向对象编程创建大型单片系统和深度联盟,这使得共享离散功能组件变得困难。代码在Java中共享时,通常采用大型库的形式。Node.js使用更小,更集中的组件使构建应用程序变得更容易,更快,团队在整个公司范围内可以协作生成。这些组件具有特定功能,可以更轻松地在团队和应用程序之间共享。
通用JavaScript - AKA同构JavaScript - 是跨前端和后端Node.js代码共享JavaScript代码的实践。这创建了新的协作方式,并允许团队更有效地利用时间和精力。
4.上市时间
要了解Node项目如何将开发人员,运营团队和管理人员聚集在一起以缩短新应用的上市时间,您可以参考上面的PayPal示例。更少的代码行,模块化设计和跨组织协作都有助于缩短产品上市时间。
在雅虎,Reid Burke 在Node Summit上分享了Node.js如何通过利用模块化设计与小模块和内部注册表来更有效地协作,使开发团队能够在短短30天内发布全功能,生产就绪的Node.js应用程序。
JavaScript的动态特性使PayPal,Yahoo和Netflix的团队能够更快地进行迭代,并更快地向市场提供解决方案。这意味着团队可以开发,测试,构建和部署新服务和新用户体验,以跟上客户需求。
5.运营成本
由于Node.js可以更轻松地创建软件应用程序,因此它还可以更加经济高效地运行它们。
部署Node应用程序的公司报告称,他们通常需要的计算能力要低得多,而Node.js在IT环境中的占用空间要远远小于使用Java构建的系统。典型的Java安装将位于具有32个内核和64GB RAM的服务器上。在同一硬件上,最多可以运行32个Node.js应用程序实例。
Node.js可轻松映射到现代云环境,使运营团队在计算资源和服务器之间实现近乎一对一的关系。相比之下,Java服务器通常严重过度配置以补偿资源使用的高度差异。
Node帮助Netflix在云计算的现有节省基础上发展。与Java相比,该公司现在仅在Node上使用四分之一的Amazon EC2云实例。更好的是,它为相同数量的用户提供服务,但提供了更低的延迟率。
“我们通过Node改善了性能并降低了基础架构成本,” Netflix的Node.js平台架构师Yunong Xiao表示 。
由于Node.js团队可以更快地构建应用程序,因此可以降低总人工成本。在之前的PayPal示例中,该公司只有两个Node应用程序开发人员,而在Java上只有20个。因此,每个Node项目不仅需要更少的开发人员,项目的完成速度也比Java快。
节点社区
对于那些刚接触Node的人来说,了解它得到了供应商中立的Node.js基金会以及专注于商业Node.js产品和NodeSource等支持的公司的强大社区支持。NodeSource产品组合包括N | Solid,用于生产环境的实时检测,无需更改应用程序代码,从而为大规模构建Node.js应用程序的团队提供更好的洞察力和生产力。
NodeSource - 与Joyent和StrongLoop一起 - 对Node.js来说,Red Hat对Linux,Cloudera和HortonWorks对Hadoop是什么,而Datastax对于Cassandra。这些供应商帮助确保公司获得解决问题所需的产品和支持,并使Node.js计划取得成功。