一.了解一门技术的历史,可以帮助我们更清晰地了解这个行业的动态
第一阶段: web的"原始社会"
1994 年的时候,网景公司 (Netscape Communications) 推出了第一款浏览器:NCSAMosaic,但是它只有少数的幸运儿才能使用。
NCSAMosaic界面它的初始作用,是为了方便科学家看文档、传论文。所以,到今天为止,学习前端的人在接触 HTML 的时候,都会记得它的第一句有个词是 Document。
这时候的互联网,它的开发者统称为程序员。因为前后端开发是一体的,前端代码是后端代码的一部分:后端收到浏览器的请求 ---> 发送静态页面 ---> 发送到浏览器
第二阶段:前端-火器时代
就在同一年(1994 年),PHP 出现了,有了将数据嵌入到 HTML 中的形式,这意味着互联网行业出现了钻木取火,不断朝石器时代发展
这时候的互联网,兴起了数据嵌入模板,模板直接写样式的开发模式,例如 MVC 模式:
*Model(模型层):提供/保存数据。
*Controller(控制层):数据处理,实现业务逻辑。
*View(视图层):展示数据,提供用户界面。
在此时,前端只是后端 MVC 中的 V,所以那时候的所谓 “前端工程师” 还没有对应的概念,前端开发人员都喜欢自称 “切图仔”。
后来,因为后端太忙,没空写页面样式让它长得更好看些,于是才有了前端编写页面模板后,让后端代码读取模板,替换变量,渲染出页面
以 PHP 框架的 Laravel 为例访问流程:
1.用户提交请求
2.根据路由不同请求对应的 Laravel 控制器
3.控制器与模型交互
4.控制器调用结果页面
5.在用户浏览器上渲染页面
第三阶段:铁器时代
1995 年,网景推出了 Java,形成了前端的雏形:HTML 为骨架,CSS 为外貌,Java 为交互。
而到了 1998 年前后,Ajax(Asynchronous Java And XML:异步的 Java 和 XML)得到了相对的应用,并且在之后逐渐被使用到各个页面上,从而促进了 Web 从 1.0 的静态网页,纯内容展示向 Web 2.0 模式迈进:
Web 2.0 时代:动态网页,富交互,前端数据处理
在 Web 2.0 的时代中,在 2006 年的时候,用于操作 DOM 的 jQuery 出现了,它快速地风靡了全球。大量的基于 jQuery 的插件构成了一个庞大的生态系统,从而稳固了 jQuery 作为 JS 库一哥的地位
第四阶段:工业革命时代
伴随着信息时代、大数据时代的到来,jQuery 在大量的数据操作中的弊端体现出来了,它在对 DOM 进行大量的操作中,会导致页面的加载缓慢等问题,这时,有些前端开发人员逐渐觉得力不从心了
Angular、React、Vue 等 MVVM 模式的出现,以及 Webpack 的前端工程化构建,加速了数据驱动前端工程化的发展
web的演化图何为 MVVM 模式?
Model:提供/保存数据。
View:视图
View-Model:简化的 Controller,唯一的作用就是为 View 提供处理好的数据,不含其它逻辑
在这个前端的工业时代中,Vue、React、Angular 三大框架并驾齐驱。其他框架虽然也有在陆续发布,但是脱离不了这三大框架的魔爪。而这三大框架的 UI 框架来说,也涌现了不少地技术,例如桌面端的 Electron、NW.js;移动端的React Native、Weex 等。
补充:
1.JSP 全称 Java Server Page,是 Java 企业应用的一种动态技术。Java 和 JSP 是运行在服务器端的,也就是说他两运行的结果生成 HTML,HTML 是静态页面,而 JSP 是动态页面。
缺点:项目简单可以,一旦项目复杂起来,维护成本比较高
2.jQuery 是一个轻量级的 Java 库。jQuery 能够使用户的 HTML 页面 和 JS 内容分离,也就是说,jQuery 的使用,更有利于 HTML、CSS、Java 三者的分离,使得前端代码得到更好的维护。
优点:一些 HTML5 的动画页面,一些需要 Java 来操作页面样式的页面。
缺点:会出现访问数据慢的现象
3.MVVM 等 MV* 概念的提出解决访问数据慢的现象
Vue、React、Angular 等 MV* 框架中,可以通过对数据的操作,从而完成对页面数据的渲染
vue:简单易学,灵活轻便(复杂数据操作的后台页面,表单填写页面)。相对于 React 和 Angular 来说,它的学习成本低,适合快速上手,且学习曲线比较平缓
React:灵活性很高,生态圈强大。相对于 Vue 来说,React 在数据操作方面更灵动;相对于 Angular 来说,它的学习成本更低。
Angular:完整的框架体系。相对于 React 和 Vue,它是一个成熟完善的框架。
微信小程序:简单轻便。相对于 Vue 来说,它更加便捷了,而且微信小程序有上传的代码大小限制,使得微信小程序是真的 “小”。而且微信小程序结合微信,提供了很多 API 供开发人员使用。
网友评论