为什么要前后端拆散

前后端拆散 语言

收场秀

有些路很远,走上来会很累。可是,不走,会悔恨。【酸了酸了】

故事开始

寒暄完结,开始明天的正题

前后端是什么:

顾名思义,前端指的是用户端也就是浏览器所能操作的程序,后端是运行在服务器提供软件服务的程序。只有这两个程序搭配起来能力造成一个残缺的软件操作。比方你在淘宝购物,你所能看到的都属于淘宝的前端。看不到的就是后端,看不到?什么鬼?

举个栗子:

以看电视为例,电视就是浏览器,电视节目就是前端程序,后端你应该可想而知了。对,就是那些节目制作者制作节目的过程。再反过来说和看电影一样的情理,谋女郎为什么是谋女郎,因为后盾导演情节设定的好,谋女郎演的也好。谋女郎就是干前端的,谋导就是干后端的。

那么在软件工程中这部分为什么才拆散,以前是怎么做的呢?别急咱们缓缓道来。

皮影戏还记得吧,我印象中的皮影戏就是1-2集体,一个那个皮影在幕后挥动,一个依据情节演奏乐器。几个人搭配的实现皮影戏这个节目。人少的时候可能一个人慌手慌脚的都能把这活给干了。起初咱们有了电影,有人专门表演,有人设置背景乐,尾声等等有了明确的分工,所以电影可不是一个人能从头到尾干完的事件。皮影戏就像前后端未分离的时候,电影就是前后端拆散的产物。

历史 - 前后端未分离

来我先讲点有历史性的货色:以 JavaWeb 开发为例,以前的时候美工只管设计图,将图片切好,编写css后转换成动态html即可,再把 html 文件给 Java 开发人员,Java 开发人员须要将 html 内容在不同的业务输入中依据特定格局返回给浏览器算是实现业务。也就是说前端切好图后给 Java 开发人员就高枕无忧了,剩下的由 Java 开发人员解决。这也是【前端切图仔】的由来。

可想而知 Java 开发者须要在不同的业务中将动态界面扩散在本人的业务代码中,请通晓,这样的程序外面有 Java css javascript html 甚至再来几段SQL 且还蕴含在一个class文件中,

如图:

以上图为例,jsp 文件中 包涵了当初的前端开发所有的文件格式之外 还有java代码

设想下,如果下面的代码中还有一段循环,循环中还套着sql 想想脑袋都大了。

所以那时候的java开发都是全栈大神,但呈现问题调试也是头疼的厉害,款式业务暂且不说,光浏览器兼容性这点就能逼死一半 Java 开发者。

新大陆

Angular

首先提出前后端拆散的是谷歌公司的Angular框架,当然这个期间前端大神也在寻找方向,AMD CMD 标准等等。

Angular首先提出了MVVM 的概念,当然Angular也并非一出世就是大牛,都是通过给大佬端茶倒水才变成大佬的。

用过Angular1的同学再降级到Angular2 的时候应该有种生不如死的感觉。当然当初Angular的高版本衍生的也很不错。

React

一个有Facebook 提出的编写一遍,跑遍全平台的想法实现的。对就是那个辍学的网瘾少年创立的公司 扎克马克伯格,对就是他,咱们的洋女婿。

Vue

Vue 是 鱿鱼须 大神 哦不 是 优雨溪 大神 在应用Angular和React之后 将两个框架的长处综合在一起。

抉择艰难症

一段美妙的经验

下面的我的项目粽子哥哥之前用过Angular 和 Vue

Angular 的确比拟零碎,零碎自身就提供了每个流程能用失去的组件和机制

Vue 就是一把梭,快 准 狠。指哪打哪, 什么?业务中很多的组件须要写?别着急,轮子可能曾经有人造好了。

尽管我本人也保持写轮子,然而在应用之前先查找下,毕竟github 和 Gitee 上有很多优良的开源我的项目啊。

前后端拆散前后的样子

完结

欢送关注微信公众号 东南大粽子 每周继续更新1-2篇原创内容,在学习和生存的路上一起闹闹磕。