首页 > 到底什么是前后端分离?目的是什么?

到底什么是前后端分离?目的是什么?

这里说的前后端分离其实有两个分支

1. 开发上的前后端分离

具体可以看看这篇文章
简单来说,就是让前端不用再依赖后台进度做开发(当然后台亦然)

这个其实没有问题,好处和目的上面的那篇文章都有很好的说明
问题是下面

2. 逻辑上的前后端分离

可能逻辑上用得不太准确,但我实在不知道应该如何表达
我的理解是,为了让前端与后台都使用各自熟悉的技术栈
如后台使用的java,但前端却不会或者不想用(任性)用jsp或者其他模板引擎
而如果全都使用ajax请求,效率又会用问题
这时就就搭一个node service
前端模板就可以使用ejs,handlebars之流了
这个node service负责处理前端的路由渲染和请求转发
Java service则提供业务逻辑的接口供node service请求
前端页面获取到的所有数据其实都是由node service请求Java service后所得

那么,问题来了

  1. 我这样的理解有错吗??
  1. 如果就如上面所说的前后端分离,目的是什么呢?仅仅就是为了方便开发人员使用自己熟悉的技术栈?在node还没有火起来之前,我相信大部分前端都熟悉JavaPHP的技术栈吧?还是有架构或者效率上的问题?
  1. 这也是之前很火的一种说法,用nodejs做中间层吗?淘宝的做法?
  1. 要以这样来做前后端分离,也就是所谓的前端的职责就是html + js + css + nodejs吗?

求指教!

ps: 好吧,这里再提一个的一个bug
这是问题编辑区

这里实时预览区

而发布问题后显示效果则如上所示


说到底,就是不想受制于人。


http://ued.taobao.org/blog/2014/04/full-stack-development-with-nodejs/


个人拙见:

  1. 独立性更强,在商量好接口后,前后端人员就可以完全‘分手’了。
  2. nodejs异步编程的优势,nodejs处理请求是异步的(大多数后台语言处理请求是同步的,也即处理完A请求之后,才能处理B请求)。异步的好处就是并发性会上升一个数量级。

可能还有我不知道的别的优势。

【热门文章】
【热门文章】