前后端分离 前端需要负责什么 路由需要负责吗 有没有推荐的开发框架?

Mr_Fu
  • 291

前后端分离 前端需要负责什么 路由需要负责吗 有没有推荐的开发框架?

回复
阅读 9.3k
11 个回答
✓ 已被采纳

前后端分离的概念比较广泛,首先要明确前端的概念,才好说前端要做什么
1) 做页面,交互的前端,这是大部分人对前端最普遍的认识,这个时候前端一般服务view层就ok了,后端如果是spring mvc,前端只是负责view层这种,尽管不写controller层,但是一些后端知识还是必不可少的,比如HTTP的状态码,浏览器,服务器缓存相关知识,以及基本的服务器运维还有后端开发语言都要有一个了解。比如后端如果是php,可能你就要熟悉smarty,php常见的函数这些了。
2) 有的公司将页面展示都归结为前端,也就是说除了数据这一层的是后端,其他的都是前端。这种划分方式对一些复杂的系统比较常见。

常见的架构有几种:
   1) php+smarty,php可能是yii,tp等,后端就是c/c++, 后端跟数据打交道 
   2) node + swig(其他框架)  ,后端是c/c++/php/java等, node端mvc 架构一般是express/koa等
   
   3) java + 模板, 
不管哪种架构,前端都是要都写整个vc层的,有个会抽象一个service层,用来处理model 过来的数据

最近随着react的兴起,rn目前也在蓬勃发展,越来越多的公司,更倾向于前端做app 端的ui开发

说了那么多,前端并不是只是写页面,搞搞交互就可以的角色,前端可以做的 很多,以后也会更多

目前项目中使用到。web前端是angular,用angular的路由,前端负责所有工作。后端使用到playframework,只提供json,api接口

前后端分离, 一般有3种情况, 一种是由php等后端来定义路由, 前端只是根据ajax来请求数据, 渲染页面.
一种是用js框架, 用框架的伪路由, 还是根据ajax来请求数据并渲染, 因为是伪路由, 所以还是需要后端来定义路由, 或者伪路由用hash, 这个也就是现在比较热门的spa
最后一种是彻底分离, 比如后端用java提供api, 而前端用nodejs做代理,来定义路由,读取api,渲染页面...

我现在项目中用的就是前端spa单页面应用,用了riotjs来做。
后端使用PHP做restful API

具体要看后端用的是什么框架了,如果是java的spring mvc,那么前端只需要负责写view层,也就是界面相关的都要负责,路由和接口往往由前后端共同制定。

标准的前后分离是基于通信协议的,比如Android调用webapi,那么Android就是前端,提供webapi的就是后端,因为国内业界后端一直拿优化说事儿,拉住html模版不放手生怕别人发现后端工作量下,造成后端模板前端化,影响前后分离,所以前端的静态页面,后端web的服务,静态页面只是托管在服务器上而已。至于优化,可以仿照淘宝走个大大大前端,在Android/H5到web之间插入node,带来的问题就是node与后端数据的交互麻烦些,其次还得要调整前后人员结构,最后你会发现我android不受你node优化啊,要你有毛用。再过几年node又有新模板了,放弃jade模板么

所说的是模块化吧 框架有backbone angular
前端需要做的就是将普通的页面代码分割开来 换成视图 一个视图一个视图
路由就是定义了需要页面需要怎样跳转

后端只提供数据接口,剩余的交给前端

个人理解

前后端分离,并没有真正意义上的分离,需要定义一系列的接口规则,页面如何跳转,数据返回的类型,以及数据返回的格式等等,

前后端分离,基于莫一个协议处理数据,目前我的项目架构大概如下:
后台PHP+Java: 提供API接口, json形式
前端:包含controller 负责整个除了数据源之外的所有事情,采用的框架如下:(不是打广告)
thinkjs(国内75team):选择原因,传统的mvc,可以基于api和本地2种情况做事情.
vuejs,数据绑定页面渲染,减少dom的操作.

不知道我们现在的项目算不算前后端分离:
前端用的 React + React-Router + Redux
后端只提供接口,
我们的项目是一个微信平台的 Web App ,开源了:
YAOPAI

宣传栏