WEB前端的技术发展路线 - Go语言中文社区

WEB前端的技术发展路线


前端的技术发展路线

前端主要指客户端、App端、浏览器端,这里我们主要介绍浏览器端。
前端的技术发展是一个漫长的过程。

1、静态网页时代

最初在浏览器中主要展现的是静态的文本或图像信息,GIF图片则第一次为HTML页面引入了动态元素。

2、CGI时代

不过人们已经不仅仅满足于访问放在Web服务器上的静态文件,1993年CGI(Common Gateway Interface)出现了,Web上的动态信息服务开始蓬勃兴起。CGI定义了Web服务器与外部应用程序之间的通信接口标准,因此Web服务器可以通过CGI执行外部程序,让外部程序根据Web请求内容生成动态的内容。Perl因为跨操作系统和易于修改的特性成为CGI的主要编写语言。当然,CGI可以用任何支持标准输入输出和环境变量的语言编写,比如Shell脚本,C/C++语言,只要符合接口标准即可。比如你用C语言编写CGI程序,你把希望返回的HTML内容通过printf输出就可以发送给Web服务器,进而返回给用户。
web请求方式

3、Web编程脚本语言:PHP/ASP/JSP 、CSS1.0

这个时候我们已经可以在Web上提供动态功能了,比如网站访问的计数,表单的处理。CGI对每个请求都会启动一个进程来处理,因此性能上的扩展性不高。另外,想象一下用在Perl和C语言中的程序中去输出一大堆复杂的HTML字符串,是不是有点蛋疼,可读性和维护性是个大问题。为了处理更复杂的应用,一种方法是把HTML返回中固定的部分存起来(我们称之为模版),把动态的部分标记出来,Web请求处理的时候,你的程序先生成那部分动态的内容,再把模版读入进来,把动态内容填充进去,形成最终返回。举个例子,搜索一个关键词,搜索引擎的Web服务器可以先从后台索引服务器里拿到数据,然后把这些数据填充到返回结果的HTML模版中,返回给浏览器。但是这件事情自己来做显然太繁琐而且是重复劳动。于是1994年的时候,PHP诞生了,PHP可以把程序(动态内容)嵌入到HTML(模版)中去执行,不仅能更好的组织Web应用的内容,而且执行效率比CGI还更高。之后96年出现的ASP和98年出现的JSP本质上也都可以看成是一种支持某种脚本语言编程(分别是VB和Java)的模版引擎。

JSP是在传统的网页HTML文件中插入JAVA程序段和JSP标记,从而形成JSP文件。是一种服务端的网页模板技术。互联网后端开发模式一般是典型的MVC模式:共分为三层:Controller(Action)层、Service层、Dao层。其中Controller层主要功能就是接收参数、调用Service、装填数据、进行路由跳转、渲染JSP页面,并将页面内容返回浏览器。此时因为前后端的很多操作都要在JSP文件修改,很容易造成严重的业务耦合依赖。

96年W3C发布了CSS1.0规范。CSS允许开发者用外联的样式表来取代难以维护的内嵌样式,而不需要逐个去修改HTML元素,这让HTML页面更加容易创建和维护。此时,有了这些脚本语言,搭配上后端的数据库技术,Web更是开始大杀四方了,像电子商务这样的应用系统也可以通过Web技术来构建。Web已经从一个静态资源分享媒介真正变为了一个分布式的计算平台了。

前端模板

4、分布式企业计算平台:J2EE/.Net

Web开始广泛用于构建大型应用时,在分布式、安全性、事务性等方面的要求催生了J2EE(现在已更名为Java EE)平台在1999年的诞生,从那时开始为企业应用提供支撑平台的各种应用服务器也开始大行其道。Java Servlet、Java Server Pages (JSP)和Enterprise Java Bean (EJB )是Java EE中的核心规范,Servlet和JSP是运行在服务器端的Web组件,EJB运行在服务器端的业务组件,是一种分布式组件技术。2000年随之而来的.net平台,其ASP.net构件化的Web开发方式以及Visual Stidio.net开发环境的强大支持,大大降低了开发企业应用的复杂度。ASP.Net第一次让程序员可以像拖拽组件来创建Windows Form程序那样来组件化地创建Web页面,Java平台后来出现的JSF也承袭了这一思想。两大平台在相互竞争和模仿中不断向前发展。

在这里插入图片描述

5、浏览器端的魔术:AJAX

web应用同时涉及到浏览器端和服务器端,之前的介绍除了简单提到了CSS规范之外,主要关注的是服务器端的技术发展。

在客户端,1995年NetScape公司设计的JavaScript被用作浏览器上运行脚本语言为网页增加动态性。微软随后推出类似JScript,但是缺乏统一的语言规范,使得浏览器兼容性成为一个程序员的梦魇。JavaScript最终被提交到欧洲计算机制造商协会(ECMA),做为中立的ECMA开始了标准化脚本语言之路,并将其命名为ECMAScript。JavaScript可以响应浏览器端的用户事件,检测表单的正确性,动态修改HTML页面结构DOM,因此可以减少与服务器端的通信开销,并且做出很酷的页面动态效果。​2005年出现的AJAX这个概念使得JavaScript再次大放异彩​。

2004年前的动态页面都是由后端技术驱动的,虽然实现了动态交互和数据即时存取,但是每一次的数据交互都需要刷新一次浏览器。频繁的页面刷新非常影响用户的体验,这个问题直到谷歌在04年应用Ajax技术开发的Gmail和谷歌地图的发布,才得到了解决。

这背后的秘密就是Ajax技术中实现的异步HTTP请求,这让页面无需刷新就可以发起HTTP请求,用户也不用专门等待请求的响应,而是可以继续网页的浏览或操作。
Ajax开启了web2.0的时代。
另外ajax作为一种前后端分离的解决方案,也已经被国内大多数不很low的公司所采用,也间接导致了php等网页脚本语言的衰落。

NetScape在第一次浏览器之战中败给了IE之后,创办了Mozilla技术社区,该社区之后发布了遵循W3C标准的firefox浏览器,和Opera浏览器一起代表W3C阵营和IE开始了第二次浏览器战争。不同的浏览器技术标准有不小的差异,不利于兼容开发,这催生了Dojo、Mooltools、YUIExtJS、jQuery等前端兼容框架,其中jQuery应用最为广泛。

6、HTML5、V8引擎

2008 年,谷歌 V8 引擎发布,终结微软 IE 时代。

Mozilla和Opera在2004年6月提议W3C扩展HTML和DOM的Web Forms 2.0 草案被否决后,一些浏览器厂商便成立了网页超文本应用技术工作小组(WHATWG),提出了Web Applications 1.0规范草案,这两种规范后来合并成为HTML5。W3C在2007年接纳了HTML5草案规范,并成立了新的HTML工作团队,在2008年1月22日,HTML5正式草案发布。2014年10月28日,W3C正式发布HTML5.0推荐标准。

在HTML5新规范的指引下,各个浏览器厂商都为了支持HTML5而不断改进浏览器,第二次浏览器战争走向了良性竞争。值得注意的是,谷歌以javascript引擎V8为基础研发的Chrome浏览器发展迅猛。

引用一段话HTML5只是一个三人成虎的东西,它吸引的眼球远超过了它提供的功能,HTML5只是提供了一些新的API,就等于一个app从1.0升级到2.0增加了附近的人功能而已。而且其提供的API,也就是在移动端试一试水,在pc端因为兼容的问题,始终不能被明媒正娶。pc端的开发还是以HTML4.0+CSS2为基准渐进增强。至于css3,它最被人关注的动画,也是flash玩剩下的东西。

移动端的飞速发展催化了HTML5的发展,HTML5的发展也促使各浏览器趋于标准化。这条标准化路上,微信功不可没,1024,围住神经猫,淘宝十年,LEXUS NX这些融合了大量HTML5+CSS3元素的页面让人印象深刻。

此外,微软抛弃IE代号,开发edge,各大浏览器厂商的不断标准化,HTML5草案定稿,ES6草稿的不断实现与完善,前端之路看起来是一条荆棘坦途,我充满期待。

7、前端在服务气端的逆袭:Node

各大浏览器的竞争,使其引擎的性能不断提升,至今Google V8引擎的性能已经足以运行大型Javascript程序。在V8之上加以网络、文件系统等内置模块,形成了如今的Node.js。

2009年,Ryan Dahl以Chrome的V8引擎为基础开发了基于事件循环的异步I/O框架-Node.js。Node.js使得前端开发人员可以利用javascript开发服务器端程序,深受前端开发人员的欢迎。很快,借助Node开发的各类工具也越来越多,等同于原始人学会制作工具,脱离了刀耕火种的时代。如Webpack、NPM 等包管理器诞生了。大量的Node.js使用者就建构了一个用NPM包管理工具管理的自动化部署的Node.js生态系统。

其中,V8 和 node 的出现,使前端开发人员可以用熟悉的语法糖编写后台系统,为前端提供了使用同一语言的实现全栈开发的机会(JavaScript不再是一个被嘲笑只能写写页面交互的脚本语言)。

8、前端MVC:Angular、Vue、React

随着各大浏览器纷纷开始支持HTML5,前端能够实现的交互功能越多,相应的代码复杂度也快速提高,以前用于后端的MVC框架也开始出现在前端部分。React、Angular、Vue 等 MVVM 前端框架的出现,使前端实现了项目真正的应用化(SPA单页面应用),不再依赖后台开发人员处理页面路由 Controller,实现页面跳转的自我管理。这些框架的运用,使得网站从Web Site进化成了Web App,开启了网站应用的SPA(Single Page Application)的时代。

9、全能前端时代

2009年开始,大屏智能手机开始陆续出现,到后来 4G 移动网络的普及。使得前端从单一的基于的 PC 浏览器 展示的 web 应用,开始向手机、平板覆盖(HTML,CSS,JavaScript 也陆续推出了自己的新标准)。前端对于跨端浏览的需求越来越大,前端不再仅仅是 PC web 方面的开发,手机配置,与 app 进行 hybird 开发,变成了常态。

参考资料

参考资料1Web开发技术发展历史

参考资料2Web前端技术发展简史

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/dandan2810/article/details/104271898
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-04-10 19:21:34
  • 阅读 ( 725 )
  • 分类:前端

0 条评论

请先 登录 后评论

官方社群

GO教程

推荐文章

猜你喜欢