1、互联网简史

最早的网络诞生于实验室和军事领域。
大概在七八十年代商业化之后服务于商业公司。
九十年代,windows NT/95相继发布,个人电脑业务急速扩张,开启了第一波互联网浪潮。
因为用户数量不足,市场容量小,大概到了2000年左右,这次浪潮就以泡沫的形式破灭了。
第一波互联网浪潮的互联网公司,基本都是门户网站。美国的雅虎网,国内的三大门户网,新浪、搜狐、网易等。
得益于硬件发展,价格降低,2000到2010年,个人电脑从欧美发达国家向发展中国家普及。
2010年之后,移动互联网,云计算,开启了第二次互联网浪潮。

互联网早期,提供服务的网站不多,很多网站用友情链接的方式提供入口。
门户网站整理了各种各样的信息,成为互联网的流量入口。
随着互联网的发展,相对于整个互联网而言,门户网站已经是沧海一粟,不能提供足够的服务。
搜索引擎就是在这种情况下,通过全网信息整理,实时呈现,抢走了门户网站的流量入口。
而随着互联网使用人数的增加,专业类网站开始从搜索引擎手中抢走部分入口。
购物的淘宝,娱乐的抖音,信息类的今日头条,视频网站爱奇艺等。
可以把这些网站看成门户网站专业化的转变。
而能够实现这些功能,得益于浏览器的发展。

在互联网的发展史上,浏览器扮演了非常重要的角色。
网景NetScape浏览器曾经在九十年代占据最多的市场份额。
微软用windows捆绑的免费IE打败了收费的NetScape。
网景破产之后成立了Mozilla基金会,维护Firefox。
苹果有自己的Safari。
谷歌在苹果的内核上开发了Chrome。
浏览器的内核即渲染引擎,大概分为三家。
分别是IE的Trident,Firefox的Gecko,Safari/Chrome的Webkit,还有一些小众浏览器内核。
国内的浏览器,基本都是在Chrome开源的版本中迭代。

2、前端的发展

前端的发展,跟浏览器的发展线性相关。
早期的浏览器,只能呈现很简单的内容,文字段落,图片展示,超链接,输入框,大概就没了。
那时候没有前端的概念,网页设计包揽了美工和网页开发,通过Dreamweaver导出页面就完成了开发。

JavaScript的诞生和发展,是浏览器发展中关键的一环。
如果说JavaScript使得纯展示的web网页拥有了人机交互的能力,相当于从步行到骑自行车。
那么异步请求的Ajax诞生,则给web应用安上了翅膀,拥有了上天的能力。
正是Ajax的诞生,更多业务可以在前端完成,极大地提高了用户体验,web前端作为一个职能,慢慢被独立了出来。
随着前端业务的增加,页面开始变得复杂,各种页面交互极大地增加了页面开发的工作量。

在这个时候,jQuery出现了。
jQuery统一和兼容了几乎所有的浏览器,操作DOM变得非常简单,网页开发的效率和业务上限得到非常大的提升。
随着jQuery的出现,各种jQuery插件也越来越多,web应用变得非常强大。
依赖于jQuery,还出现了很多UI框架,比如bootstrap框架,Ext.js等。
jQuery提升了web应用的上限,但是相对于互联网的发展,这个上限很快就显得太低了。

为了解决前端复杂度越来越高的问题,各种模块化开发方案被提出,requirejs和seajs,其规范是AMD和CMD。
出现了纯粹的前端框架,AngularJS、BackboneJS,数据驱动,视图管理,双向绑定等概念出现。
受益于NodeJS的发展,开始出现了前端构建工具,Gulp,Webpack开始发展。
基于NodeJS,有了前端可以参与的服务器管理,数据库管理,甚至还可以参与到桌面开发。
Reactjs,Vuejs打开了纯前端项目的开发模式。
不仅如此,还诞生了前端开发的App程序Uni-App,桌面程序Electron,3D游戏WebGL,web前端大有一统天下的趋势。
未来的前端开发,还有更多的可能。

3、工作和生活

前端的核心工作就是把页面内容呈现给用户。
第一点是效果还原。
第二点是用户体验。
效果还原是前端必须具有的能力,用户体验则是区分一个优秀前端和普通前端的分水岭。
一个优秀的前端,开发页面的时候应该能够理解自己要开发的产品功能,而不是只会按照效果图把页面写出来。
效果还原,包括字体、字号、颜色、间距、行高,图片尺寸等。
用户体验,包括页面加载速度、页面交互、动效、页面流畅度、异常处理等。

程序要的生活可能都比较单调。
但是前端和其他程序员不太一样。
前端需要和产品、UI、测试、后端或者其他部门交流,所以应该活泼一些。


陈其文
429 声望19 粉丝

前端