作为在开发领域飞了几年的老鸟,你是否遇到过前端后端都要管的苦恼?是否因为前后端的各种耦合,扩展非常艰难?还是说只会后端跳槽被鄙视?
Web发展至今技术非常成熟,主流有两种不同的开发方式:前后端不分离和前后端分离。今天,小编就为大家一一揭秘!
在发领域飞了几年的老鸟,你是
一、前后端不分离
前端页面看到的效果都是由后端控制,由后端渲染页面或重定向,也就是后端需要控制前端的展示,前端与后端的耦合度很高。
图 1-1 前后端不分离的数据交互
二、前后端分离
后端仅返回前端所需的数据,不再渲染HTML页面,不再控制前端的效果。至于前端用户看到什么效果,从后端请求的数据如何加载到前端中,都由前端自己决定,网页有网页的处理方式,App有App的处理方式,但无论哪种前端,所需的数据基本相同,后端仅需开发一套逻辑对外提供数据即可。在前后端分离的应用模式中 ,前端与后端的耦合度相对较低。
图 1-2 前后端不分离的数据交互
三、前后端分离的优势
1、加快整体响应速度。
前端/WEB服务器放的是css,js,图片等一系列静态资源,负责控制页面引用&跳转&路由,后端/应用服务器使用IIS/Nginx提供数据即可,职责拆分提升响应速度。
2、快速定位问题
发现bug,可以快速定位问题,页面逻辑,跳转错误,浏览器兼容性问题,脚本错误,页面样式等问题,全部由前端工程师来负责。接口数据出错,数据没有提交成功,应答超时等问题,全部由后端工程师来解决,各司其职!
3、同时水平扩展前后端服务器
在大并发情况下,可以同时水平扩展前后端服务器,比如淘宝的一个首页就需要2000+台前端服务器做集群来抗住日均亿级pv,同时后端服务器也是独立做集群扩展,做到每个环节都能水平扩展!
4、减少后端服务器的并发/负载压力
除了数据接口以外的其他所有http请求全部转移到前端服务器上,接口的请求调用IIS/Nginx。而且除了第一次页面请求外,浏览器还可以大量调用本地缓存,大大降低后台服务器的压力。
5、接口共用
也许你还有有微信相关的轻应用,还有 app相关的服务,那么只要通过一些代码重构,也可以大量复用接口,提升开发效率,真正做到一套后台多套客户端。
除此之外,前后端分离,增加代码的维护性&易读性,nginx支持页面热部署,不用重启服务器,前端升级更无缝。开发效率得到提升,因为可以前后端并行开发,而不是像以前的强依赖。正所谓术业有专攻,越来越多的大公司更看中前后端分离!
四、前后端分离的框架选型
当前,三大主流前端框架分别是React、Vue、Angular这三个框架,但是从 GitHub 趋势看,Vue 已经排在第一位,达到了 13 万的 Star。国内主流都是以Vue为第一选项!不管是 BAT 大厂,还是创业公司,Vue 都有着广泛的应用,可以说,对于任何一个全栈开发来说, Vue 属于“必修课”。
后端框架自然是Core3.1 跨平台的WebApi了。新年跳槽季马上到来,很多小伙伴儿还没有前后端分离架构的实战经验。
听了小编的这一番解读,是不是燃起了学习之心!
福利预警!!!
作为咱们 朝夕Net社区 的首批粉丝,福利当然不能少!!
(这是本文最重要的一句话 说三遍!!)
原价188元的Vue+CoreWebApi的移动商城实战开发课程,添加 助教Apple 微信,领取全套视频代码!
原价188元的Vue+CoreWebApi的移动商城实战开发课程,添加 助教Apple 微信,领取全套视频代码!
原价188元的Vue+CoreWebApi的移动商城实战开发课程,添加 助教Apple 微信,领取全套视频代码!
扫码添加可爱的小助教 Apple
我们会持续在此公众号上更新录播课,面试题,发布内推岗位。感谢大家的支持噢,转发这边文章,让更多小伙伴一起学习,和Eleven老师一起开发进阶吧!
更有新年福利课免费领取,名额有限速来参与 ↓↓↓↓↓