01-前端发展简史

1.为什么要了解前端发展简史

说到前端很多人很多人觉得前端开发不就是切图吗?顶多在写点css,或者网上搞点插件,凑凑鼓捣出来一个网站,这不就是前端所有的工作吗?

前端可以说是最容易让人误解的行业了,我们了解前端发展的历史,有两个好处,第一个好处是知道前端发展的历史,可以清晰的了解目前用户自身的一个技术是否落伍,属于哪个时代,清晰的了解前端发展的历史,可以对我们清晰的职业规划,同时能够判断新技术的前景以及是否学习新技术有一个科学合理的判断。

2.前端发展的历史

虽然前端是一个年轻行业,却在短短的20年左右的时间经历了翻天覆地的变化。
石器时代
好吧,那是一个很蛮荒时代,1994年,Navigator1.0,IE 1.0还没出现,js也还没发明,一切都那么原始,原始到浏览器只能显示文字。然后1995年来了,1995年是一个创世纪的一年,javascript发布了,IE1.0出现了,Navigator 2.0浏览器正式内置了JavaScript脚本语言。程序员开始了刀耕火种……紧接着css1.0也发布了。
青铜时代
2001年,微软公司发布了当时最先进的浏览器,它后来统治了浏览器市场多年,没错就是屡屡被前端人员吐槽的万恶浏览器—IE6.
紧接着2004年2月9日,Mozilla Firebird改称“Mozilla Firefox”,简称“Firefox”,然后
chrome beta测试版本在2008年9月2日发布,如果说IE6.0是镰刀的话,chrome就是收割机,前端人员喜极而泣,哪怕他是一个beta版本。可喜的事情是终于有前端开发工程师这个职位了,可悲的是主要工作居然是处理浏览器兼容性问题。
铁器时代
2006年,jQuery诞生了,前端同学们奔走相告,喜极而泣,时至今日,jquery之所以这么成功,就是处理了大量的浏览器兼容性问题!武林至尊,宝刀屠龙,jquery一出,谁与争锋!
jQuery诞生之后,各种基于jQuery的组件扑天盖地而来,随着html5+css3的支持程度的加强,好日子终于来了。然而,基于过程和DOM操作的jquery面对日趋复杂的逻辑越来越力不从心。Ajax的出现,大幅度推进了单页程序的进程,也让jquery日趋尴尬。前端人员继续一种全新的方式编程,降低复杂度。
蒸汽时代
由于业务复杂度增加,数据交互等异步操作,数据规模加大,当时大部分项目,引用jquery已经成为条件反射,代码库由上千行jQuery代码组成,很难去维护并且包含如此多自定义功能,使新的开发变得具有挑战性。前端程序员陷于jquery的沼泽无法自拔,还好我们有无数的先知做了大量的尝试。
Enter Backbone.js.在2010年,开发者 Jeremy Ashkenas发布了他为单页应用程序开发人员编写的新工具集。轻量级的,快速的,不依赖jQuery(虽然开发者可以包含jQuery来解锁更多的Backbone特性),但是Backbone是专门用来解决“jQuery沼泽”问题的。Backbone的方法是将代码拆分为数据模型,用于处理该数据的操作集,并显示它的视图。它还提供了很多“自动的”处理一些幕后操作意义。通过连接他们的视图到他们的数据,开发者不再担心在数据改变时更新他们的站点。Backbone是一种优秀的产品,在一些非常大的、非常著名的Web应用程序中广泛使用。
但是backbone功能单薄,无法形成固有的mvc或是mvp模式,虽然让它变得好用,我们可以尝试增强它的功能,让它更接近我们想要的mvvm框架。但是会比较繁琐,新手根本无法驾驭它写出优良的代码。
然后angularJS来了,同样是2010年,AngularJS在某种程度上给出一个完整的前端架构解决方案, 它提供了强大的工具和基于组件的体系结构,这用普通的jQuery很难或不可能重新创建。正如Nelson所说,“我已经试着(或者失败)用jQuery和原始JavaScript构建有用的单页应用程序几年了。然后我偶然发现AngularJS,告诉我,一个应用程序的模型不需要活在DOM里。
双向绑定,自动更新,路由,指令,一切对于前端来说既陌生,又惊艳!从此前端可以不用活在DOM的世界里。
遗憾的是angularjs 并没有持续版本迭代下去,颠覆式的创新,破坏性的迭代,让前端人员再一次的体验了 一次Angular的陡峭,angularJS和Angular2.0及其以后的版本完全不是一个东西,这可以说让前端人员摔了一个大跟头,好在,谷歌意识到并安抚了这一情绪……
前端继续在波折中前进……
然后2013年,Facebook发布了React,一个体积很小但在渲染时极快的前端框架。2014年,他们采用基于事件的方法来组织和开发应用程序,Flux。这些东西以及围绕它们成长的相关技术,又一次改变了JavaScript应用程序开发。
对了,2014年2月VUE也发布了,vue以其易用、灵活、高效的特点,迅速获得大家的认可和青睐。
至此,vue、react、angular前端框架三足鼎立之势正式形成。
vue、react、angular大行其道,生产效率成数量级似的快速增长,Html5定稿,ES6定稿,一系列新的技术和方案井喷似的出现,前端迎来了一个逆天的时代,一个最美好的时代。

AI时代
在过去的几年里,在访问页面时,我们看到了稳步的多元化。仅限于家用PC的领域,目前是非常合理的用某个人的手机,平板电脑,笔记本电脑和台式电脑在同一天浏览一个网站。这些设备可用的带宽、处理器功率和屏幕分辨率差别很大。所以,vue、react、angular这些框架趋向的焦点在于解决同一个问题:为开发者创建一个多样化的工具,使他们能够快速构建在各种设备上都能很好工作的快速的单页Web应用程序。但是我们又面对着新的挑战。

具体体现在三个方面:
智能化:未来的AI将能够代替大部分前端人员切图、加特效,又快又好,而且不会有兼容性问题,但是决定如何使用这个特效,和页面是否这些特效能够完成

数据可视化:未来的前端讲不止步于网页 ,web vr 和更多的设备出现数据的呈现方式,就像10年前
说起前端没人会想到会包含运行在手里里面的app内页一样。钢铁侠中的可视化数据方式将会出现。

图形互动化:未来前端的交互方式将会更加多姿多彩,小到点头眨眼,达到一个体感动作,前端交互将会完成彻底的转变,未来坐在电脑前打字,用鼠标点击,将是看起来很愚蠢落伍的方式。
针对以上情况,更加多样化的技术、更加综合甚至是跨行业的技术整合将会十分普遍,如javascript + lot 物联网解决方案,智能家居将会十分普遍。
语音、体感、虚拟现实和webVR等结合会让前端的疆域推广到更加立体和宽广的空间。
前端进入了最美好最伟大的时代,当然技术从嘈杂、更新,也对前端人员提出了更大的挑战。

这是一个最坏的时代,因为技术永远比需求和设备慢半拍,这是一个最好的时代,因为每一个设备都将以最快的速度获得一个甚至几个最佳解决方案。
看未来的互联网,风景这边独好!

发表评论

电子邮件地址不会被公开。 必填项已用*标注