前后端分离 前端需要负责什么 路由需要负责吗 有没有推荐的开发框架?
前后端分离, 一般有3种情况, 一种是由php等后端来定义路由, 前端只是根据ajax来请求数据, 渲染页面.
一种是用js框架, 用框架的伪路由, 还是根据ajax来请求数据并渲染, 因为是伪路由, 所以还是需要后端来定义路由, 或者伪路由用hash, 这个也就是现在比较热门的spa
最后一种是彻底分离, 比如后端用java提供api, 而前端用nodejs做代理,来定义路由,读取api,渲染页面...
标准的前后分离是基于通信协议的,比如Android调用webapi,那么Android就是前端,提供webapi的就是后端,因为国内业界后端一直拿优化说事儿,拉住html模版不放手生怕别人发现后端工作量下,造成后端模板前端化,影响前后分离,所以前端的静态页面,后端web的服务,静态页面只是托管在服务器上而已。至于优化,可以仿照淘宝走个大大大前端,在Android/H5到web之间插入node,带来的问题就是node与后端数据的交互麻烦些,其次还得要调整前后人员结构,最后你会发现我android不受你node优化啊,要你有毛用。再过几年node又有新模板了,放弃jade模板么
前后端分离,基于莫一个协议处理数据,目前我的项目架构大概如下:
后台PHP+Java: 提供API接口, json形式
前端:包含controller 负责整个除了数据源之外的所有事情,采用的框架如下:(不是打广告)
thinkjs(国内75team):选择原因,传统的mvc,可以基于api和本地2种情况做事情.
vuejs,数据绑定页面渲染,减少dom的操作.
不知道我们现在的项目算不算前后端分离:
前端用的 React + React-Router + Redux
后端只提供接口,
我们的项目是一个微信平台的 Web App ,开源了:
YAOPAI
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
前后端分离的概念比较广泛,首先要明确前端的概念,才好说前端要做什么
1) 做页面,交互的前端,这是大部分人对前端最普遍的认识,这个时候前端一般服务view层就ok了,后端如果是spring mvc,前端只是负责view层这种,尽管不写controller层,但是一些后端知识还是必不可少的,比如HTTP的状态码,浏览器,服务器缓存相关知识,以及基本的服务器运维还有后端开发语言都要有一个了解。比如后端如果是php,可能你就要熟悉smarty,php常见的函数这些了。
2) 有的公司将页面展示都归结为前端,也就是说除了数据这一层的是后端,其他的都是前端。这种划分方式对一些复杂的系统比较常见。
说了那么多,前端并不是只是写页面,搞搞交互就可以的角色,前端可以做的 很多,以后也会更多