一文读懂前后端分离开发模式
此篇文章阅读需要2-3分钟
今天小羊跟大家聊一聊前后端开发模式。目前,前后端开发模式是主流的趋势,相比于前后端一体的模板(template)式网站编程,它具有以下的优势:
1. PC端,移动端(安卓、IOS)多端适用
随着移动端App的兴起,逐渐成为主流的应用形式,传统的模板式网站是无法做移动端app的。但是前后端分离的开发可以让前端一次开发就覆盖了PC的网站,移动端包括安卓和IOS平台的App开发需求。
2. 对于前后端任务分配不清晰的情况下不复存在
传统的基于模板式的往往最头疼的环节在于template模板是由谁来编写的问题。如果是后端编写,后端就必须懂html,css,js的知识。如果是前端编写,那么前端又需要了解后端的语言和逻辑(因为template是有逻辑控制的,而且里面还可以内嵌后端的语言)。
3. 前后端分别独立开发,效率大大地提高
以往的网站模板开发模式。经常前端等后端,后端等前端。无论哪一方都想等另一方开发好之后然后更确定的开发自己职责范围内的代码。但是现在前后端规定好接口文档之后,前后端开发互不干扰,效率大大的提高。
4. 后端的语言或者框架的迁移变得容易
以往的模板开发,如果想要更改框架和语言(比如从java迁移到python),需要将整个工程全部重构。但是现在只要改动后端的接口框架就可以了,工作量大大地降低。
当然,前后端开发也不是没有缺点的。它有以下的缺点(但是当一个开发模式优势远远大于劣势的时候,它的缺点肯定有办法解决的):
1. 前后端的设计需要制定详细的接口文档
这个任务相当于增加了开发的工作量,但是现在的框架都可以自动化的生成详细的文档,我们只要在上面的做细微的改动就行了。
2. 前后端分离让SEO(搜索引擎优化)变得困难
因为大多数前后端分离都是js语言渲染的,那么搜索引擎爬虫在爬取网站的时候会什么关键词也爬取不到,所以制作的网站的排名只能靠后了。不过,现在SSR的工程就是专门来解决前后端分离开发的SEO优化问题的。而且如果是App的话天然就不需要SEO了。
3. 网站的改动流程更复杂
以往的开发模式,改动的话后端就可以一条龙全部都改了。现在哪怕是改一个字段,后端也要通知前端,然后修改接口文档。所以流程变得更复杂了。
接下来,咱们再聊一聊前后端分离的开发都需要哪些基础概念。
后端
直接用提供restful_api标准的框架即可。这里的restful_api是一套基于http协议的标准,专门用于前后端分离开发的接口标准的设定。
前端
1. 前端工程化:webpack
前端工程化指的是自从nodejs(服务器端的js)诞生以来,前端的项目体量大大地增加。原来的html,css,js单文件已经不能够支持功能开发。所以我们需要多文件的开发,用到了各种组件和框架。但是浏览器只能识别js文件,那么我们的webpack的任务就是将很多个组件,框架编译成一个js文件在浏览器中运行。
2. axios:http异步请求
现在前端是一个工程,那么它在运行的时候如何实时的向后端的接口要数据呢。这就是axios的作用了。类似于ajaxs,当顾客刷新页面的,不断地请求数据来渲染页面。
3. 前端的框架(以vue为例)
我们前端开发,不仅仅是要做网站的,还要做App。这样我们需要框架给我们做一些底层的事情(毕竟网站,和App是两个平台运行的截然不同的程序),所以vue的生态全家桶就显得非常重要了(当然Angular,react也能开发)。
今天的分享就到这里了,之后我会和大家陆续地分享有关于前端和后端的编码知识。这里有知识,有深度。欢迎大家在评论区留言讨论,也欢迎大家点赞或者点击在看。