Node.js学习心得 前后端分离

学习Node.js之前,我们还需要对前后端分离这个概念做出一定的了解

Node.js促进了前后端分离,具体是如何促进的

这里需要补充一个node的概念

Node百度认识:

Node.js发布于2009年5月,由Ryan Dahl开发,是一个基于Chrome V8引擎的JavaScript运行环境使用了一个事件驱动、非阻塞式I/O模型。

Node.js对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好,V8引擎执行Javascript的速度非常快,性能非常好,基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用

前后端分离

SPA(Single-page application)

前端:只负责View层 controller层

后端:边缘层Controller层  负责Model层,业务处理/数据等

SPA模式:后端通过异步接口(Ajax/Json)的方式提供数据,前端显示数据。

SPA模式在当时,从某种意义上实现了前后端分离,在当时是一种解决方案。但随着技术的不断精进劣汰,SPA开发模式在前后端分离上已经不能再作为一种通用的方法。他的局限性和存在的问题逐渐被人们发现。SPA认为的前后端分离,只在物理层做区分(客户端即前端,服务器端即后端),其次SPA开发仅能涉及接口异步开发模式,但更多情况下,项目开发需要同步/异步/同步+异步混合接口开发模式。

基于Node的前后端分离

前端:只负责View层 Controller层

后端:负责Model层,业务处理/数据等

将后端边缘层controller层划分为前端,而对于前端来说后端的controller层如何来实现呢?这时想到文章开头Node的特点。在这种高并发,I/O密集,少量业务逻辑的情况下,Node.js就是实现这个的桥梁作为controller层以实现后端与前端交互。使用Node.js路由将前端静态页面代码以字符串的形式发送到客户端(浏览器),Node路由提供给浏览器一组api接口,返回数据为页面代码的字符串。用Node.js作为桥梁架接服务器端API输出的JSON。

Node.js实现了前后端的分离

Web(浏览器)不再像之前请求JSP的API,转为 :

1)浏览器请求服务器端Node

2)Node再发起HTTP请求JSP

3)JSP根据API输出JSON给Node

4)Node收到JSON后渲染HTML页面

5)Node将HTML响应到浏览器

这里对出现的概念作简单解释:

1.SPA: 在计算机中称为:单页面应用,是一种Web应用程序的架构模式,目标是为了减少服务器的负载,减轻服务端压力的同时提高用户体验。在Web页面加载时,只加载一个HTML文件,通过JavaScript来实现动态更新页面,同时要利用到前端路由和数据驱动的视图模型。

2.前端路由:处理URL和页面之间的映射关系,用户事件与事件处理函数之间的对应关系。

3.数据驱动视图:数据与视图间的联动,双向绑定联系,数据的改变会对应视图的更新,视图的更新会对应数据的替换。

4.同步及异步:同步和异步在学习Ajax时会着重详解,在Node中先做了解

   同步(Synchronous):任务执行进行过程中,等待任务顺序执行,不能开启其他任务。

   异步(Asynchronous):任务执行进行过程中,当前任务执行缓慢(请求及响应),用户在此期间

   可执行其他任务,可以同时进行,在这里会涉及到线程的概念 。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值