官方服务微信:dat818 购买与出租对接

深入理解PayPal对Node.js的应用与开发:从浏览器层到服务器端的全方位解析

7245

主题

2

回帖

2万

积分

管理员

积分
21885
发表于 2024-12-3 07:41:58 | 显示全部楼层 |阅读模式
    本文主要讲解“如何理解Node.js的应用和开发”。有兴趣的朋友不妨看一下。本文介绍的方法简单、快速、实用。现在就让小编带你学习“如何理解Node.js的应用与开发”吧!

    为梅列及其他地区用户提供全套网页设计制作服务,以及梅列网站建设行业解决方案。主营业务为成都网站建设、网站制作、美烈网站设计。我们以传统方式定制和建设网站,并提供域名空间注册等一站式服务。我们坚持以专业、细心的态度为用户提供真诚的服务。我们坚信,只要满足每一位用户的要求,就会得到认可并选择与我们长期合作。这样,我们还可以走得更远!

    从历史上看,我们的工程团队的代码已分为浏览器层(使用 HTML、CSS)和应用程序层(使用 Java)。想象一下 HTML 开发人员要求 Java 开发人员将“A”和“B”页面连接在一起,但这就是我们。该模型的工作原理是引入全栈工程师,这些工程师可以创建良好的用户界面,然后构建应用程序来支持它。称它们为独角兽,但这就是我们想要的,因为主要的阻止者是我们在浏览器和服务器之间创建的人为边界。

    Node.js 通过构建浏览器和服务器端应用程序帮助我们解决这个问题。它团结了我们的团队,使我们能够理解并响应整个技术堆栈中用户的任何需求。

    Node.js 的早期采用者

    与其他事物一样,我们使用 Node.js 作为原型平台。与其他产品一样,它表现良好,我们决定在我们的产品中使用它。

    一开始我们使用nconf作为路由,nconf作为配置,grunt来建立工作流。我们特别喜欢该框架的流行,但却发现它不能很好地跨多个开发团队扩展。是可选的,允许您以任何适当的方式设置服务器。它非常灵活,但不利于大型团队的一致性。随着时间的推移,我们看到模式出现,越来越多的人选择 Node.js 并转变为 .js,它本身并不是一个框架,而是其之上的一个层,允许其扩展到更大的组织。我们希望我们的工程师专注于构建自己的应用程序,而不仅仅是构建自己的环境。

    我们已经在内部使用 .js 几个月了(很快,我们将开源它),我们的工程师团队正在寻求将其转变为实时的公司内部 Node.js 应用程序。

    将 Node.js 投入生产

    我们在产品中尝试使用 Node.js 的第一件事并不是一个小应用程序,而是我们的帐户概览页面,该页面的流量很大。我们要使用它,但我们也必须降低风险,

    所以我们同时构建了一个java应用程序。我们知道如何部署和衡量Java应用程序,因此如果Node.js程序出现问题,我们可以快速切换到Java。它提供了一些数据的设置。

    部署

    我们从一月份开始,花了几个月的时间来学习 Node.js 的必要基础知识。例如, , 。在此期间,我们有 5 名 Java 工程师。经过2个月的Java开发,2个工程师开始使用node.js并行开发应用程序。 7月初,他们相互沟通称他们的应用程序具有相同的功能。两个月后,node.js 应用程序以较小的团队启动,但很快就赶上了。在发现一些细节后,我们运行了测试用例,两个应用程序都通过了相同的功能测试。 Node.js 是:

    1) 构建人员更少,几乎是原来的 2 倍或更快

    2) 代码减少 33%

    3) 创建40%或更少的文件

    这提供了令人鼓舞的消息,即工作可以更快地完成。我们一致同意并做出了决定:搁置java应用程序。但问题是,Java 工程师对于在项目开始时切换到 Node.js 并没有信心,并且很乐意在我们的工作流程中提交代码,并使我们的生产力翻倍。

    表现

    性能是一个有趣而又有争议的话题,在我们的例子中,我们的一个团队有两组功能相同的应用程序:一组使用 Java,另一组使用 .js、dust.js 和其他开源代码。该应用程序包含3组路由,每组路由有2或5个请求。数据通过Dust渲染。

    在我们的测试路线中,我们收集的数据是吞吐量和响应时间

    您可以在我们的 Node.js 应用程序中看到这一点:

    1) 与 Java 应用程序相比,每秒请求量增加一倍。更有趣的是,Node.js 应用程序是单核的,而在 Java 中它们是五核的。我们希望进一步扩大这种分歧。

    2) 同一页面的平均响应时间下降 35%。这会导致响应速度加快 200 毫秒,一些用户肯定会注意到这一点。

    关于此结果的免责声明:我们的框架使用 2 个不同的应用程序,这只是对不同技术的点对点测试。可能你们的差距更大。也就是说,我们非常高兴看到 Node.js 能够提供的性能。

    :正在改变开发文化的 Node.js 框架

    (全球流行的在线支付服务)公司发布了Node.js Web开发框架-.

   


    它基于Node.js上目前最流行的Web开发框架MVC模型,通过提供一系列强大的功能帮助开发人员快速创建各种Web应用程序。在此基础上,提供了更加健壮的功能集合,支持本地化、环境配置、更加注重应用安全等。

    为什么?

    此前,公司长期存在“不是我创造的”文化,导致对新技术的采用态度非常消极,项目开发进度极其缓慢。正是因为动作缓慢,其他支付服务商趁机壮大,逐渐动摇市场地位。同时,当时的开发技术已经不能满足快速开发的需要,因为当时的开发基本上都是用Java来完成,不需要用Java实现的东西也会用Java来完成。

    2012 年 4 月,David 成为总裁,并责成工程师团队在六周内完成支付系统的重写,该系统已产生 35 亿美元的收入。最终,工程团队花了8周的时间完成了任务,他们选择了Node.js来重新开发系统。当然,大量的其他子系统也需要集成到 Node.js 系统中,所以一开始 Node.js 只被用作快速开发原型架构。

    后来,越来越多的新开发项目逐渐使用Node.js等开源软件完成,这就导致了可以快速开发Web应用程序的.js项目的诞生。

    下面我们对框架结构和特点进行简单的总结和分析,希望能够帮助大家更好的理解。

    框架套件

    一个框架套件由多个部分组成,.js只是框架的主要部分。该框架还包括其他模块(可以独立使用):

    lusca:支持的应用程序安全模块

    :支持Dust.js的国际化(i18n)模块

    Adaro:受支持的 Dust.js 视图渲染器

    Kappa:NPM 代理插件

    除了上述可以独立使用的模块外,该套件还包括一系列依赖项和实用程序:

    -:发电机

    :用于路由(route)配置中间件(初始化和配置模块)

    -:应用开发所需工具集合

    特征

    通过前面的介绍,我们已经基本了解了它的全部内容,那么吸引开发者的特点有哪些呢?

    1. 清晰的项目结构

    生成的项目的配置、内容、模板、路由逻辑都放在不同的位置,方便开发者组织和管理文件。下面,我们仔细看看创建的项目的基本结构:

    /,存储应用程序和中间件配置

    /, 控制器

    /lib,存放开发者定义的库文件和其他代码

    /、具体语言内容

    /,模型

    /、公网资源

    //、服务器端和浏览器端模板

   


    /test,存储单元和功能测试用例等。

    index.js,应用程序入口文件

    随着项目的不断发展,这种组织和策略将变得对开发人员更加友好。

    2.开发环境和生产环境的良好平衡

    配置文件为//app.json,运行时加载文件中包含的键值对。所有的应用配置都存储在这个文件中,极大的方便了开发者。 //.json是自定义的中间件配置文件。

    说到开发环境和生产环境,两者通常在端口号、主机名等参数设置上是不同的。允许创建开发模式下使用的配置文件,例如 //app.json 中的配置生产环境,//app-.json是开发环境中的配置,然后可以通过自定义环境变量来控制加载哪个配置文件(将环境变量定义为or)。这样开发者就可以在生产环境和开发环境之间快速切换了!

    3、注意安全

    安全性通过 Lusca 模块进行保护,并遵循 OWASP 安全原则。默认情况下,还会为所有调用启用多个请求/响应头文件:

    跨站请求伪造 (CSRF) 标头

    内容安全策略 (CPS) 标头

    隐私第一项目平台 (P3P) 标头

    X-FRAME - 防止点击劫持

    4.其他

    同时,它还具有以下特点:

    路由(route)和逻辑(logic)分离:方便在程序运行失败时快速锁定问题。

    模板()共享:模板语言选择Dust,服务端和客户端使用相同的模板。这样就可以实现代码的复用。

    支持本地化:可以在运行时()根据请求上下文加载内容包,因此可以在模板渲染之前添加上下文,为用户提供相应的本地语言支持,大大增强了应用的友好性。

    示例和文档

    对此,官方提供了以下两个例子来帮助大家学习和理解:

    示例1:本地化和国际化:为Web应用程序添加多语言支持,以便世界各地的用户都可以使用当地语言使用Web应用程序。

    示例2:部署中间件:创建一个网页计数器来解释如何在应用程序生命周期中部署中间件

    开源项目

    它是一个开源项目(分发协议为v2.0)。每个人都可以 Fork 并提交对项目的修改。它还提供了简洁的使用文档。页面上可以查看项目源码和文档。

    终于

    任何项目的诞生都有其背景,必然有相应的需求驱动。就像,正是因为有快速开发Web应用的强烈需求,所以选择了Node.js,这个项目也就应运而生了。

    同时,我们还需要关注工程团队中“不是我创造的”文化。我们必须对新技术采取积极的态度,不能一成不变,否则会阻碍企业的发展。

    至此,相信大家对“如何理解Node.js的应用与开发”有了更深入的了解,不妨实践一下吧!这就是创新的互联网网站建设。更多相关内容,您可以进入相关渠道进行查询。关注我们,继续学习!

    当前标题:如何理解Node.js的应用与发展-创新互联网
您需要登录后才可以回帖 登录 | 立即注册

Archiver|手机版|小黑屋|关于我们

Copyright © 2001-2024, Tencent Cloud.    Powered by Discuz! X3.5    京ICP备20013102号-30

违法和不良信息举报电话:86-13718795856 举报邮箱:hwtx2020@163.com

GMT+8, 2024-12-21 04:41 , Processed in 0.057760 second(s), 18 queries .