Web 前端的历史
Web 前端的由来
1991 年 8 月,Tim Berners-Lee 发布了第一个简单的,基于文本,包含几个链接的网站。但此后的网站发展一直很缓慢,这是因为早期的网页完全由单调的文本和图片所构成,对人们而言,毫无吸引力。到了 2005 年,互联网开始进入 Web2.0 时代,各种类似桌面软件的 Web 应用开始大量涌现,由此,网站建设发生了巨大的变革。与此同时,“前端”这个词开始在国内逐渐流行开来。
什么是前端
我们一直说前端,但什么是前端呢?前端可以笼统的解释为凡是通过浏览器把内容呈现给用户的统称为前端。相反贮存于服务器端的则统称为后端。
前端这个词是从网页制作演变过来的,名称上有着明显的时代特征。在互联网的演化过程中,网页制作是 Web1.0 时代的产物,那时网站的主要内容都是静态的,用户使用网站的行为也以浏览为主。在这个阶段,网站的内容主要是文字和图片为主,制作方法也主要是使用 table 和 ASP。后来发展到使用 HTML、CSS、JavaScript 等前端技术构建页面。到现在,前端技术已经发展到 HTML5、CSS3、EcmaScript6 等,以后也会继续发展、继续完善。
Web 前端虽然起步时间晚,但是发展势头迅猛,在各种新技术、新标准的推动下,各大互联网公司也开始重视 Web 产品的前端重构与开发,如淘宝、腾讯、新浪、百度、搜狐等都对自己的网站进行了重构并同时使用了 HTML5 中的新特性。现在开发的 Web 新产品的页面交互也越来越丰富,视觉效果也越来越绚丽。互联网公司除了重视前端开发之外,还在积极推动互联网技术的发展,2001 ~ 2012 年,腾讯、百度及奇虎 360 公司先后加入了万维网联盟(W3C),共同参与互联网技术标准的研究和制定,促进了国内互联网产业的发展。
Web 前端的技术与责任
Web 前端技术
Web 前端技术包括三个要素:HTML、CSS 和 JavaScript。 HTML(HyperText Markup Language)指超文本标记语言,是目前 Web 领域应用最广泛的标记语言,用来书写网页结构。CSS(Cascading Style Sheets)指层叠样式表,可以用来美化网页,也称为网页的表现层。而 JavaScript 则是网页的行为层,它可以用来书写页面交互效果。构建网页的一个最重要原则就是“结构、样式、行为”三层分离。
Web 前端的责任
Web 前端工程师的主要职责是利用 HTML、CSS 书写符合 Web 标准的语义化代码来搭建网页,通过 JavaScript 来实现网页交互功能,致力于通过技术改善用户体验。Web 前端,往后是技术,往前是体验。Web 前端工程师既要与项目下游的服务器端工程师沟通,又要与项目上游的交互设计师、UI 设计师和产品经理沟通,需要掌握的技能非常多。这就从知识的广度上对 Web 前端开发工程师提出了要求。
随着人们生活水平的提高,用户体验变得比以往更重要,而 Web 前端是后端数据的第一消费者,也是最贴近用户的程序员,因此提升用户体验是 Web 前端工程师的重要责任。
Web 前端的发展现状
行业的发展现状
第一,供求关系的不平衡。2015 年创业公司如雨后春笋一般冒了出来,而 2016 年下半年开始,更多的创业公司开始倒闭。与各个创业公司拔地而起同时发生的,还有大批其他行业工作者涌入 Web 前端这个当前比较火爆的行业。“公司数量的变化”与“大量从业者的涌入”这两点直接影响着供求关系。在当前以及未来的一段时间之内,会呈现典型的“供大于求”的行业状态;
第二,前端行业日益成熟。在最初前端行业刚刚起步之时,各类的内容、功能都不够完善,需要大量的人去做“重复的事”,也需要不少人去研究和探索新的事物和技术。随着前端行业逐渐走向成熟,前端当中的主流框架层出不穷,除了最为经典的 jQuery 之外,还有 VUE、React、Angular 等等。当下,“前端”已经开始步入模块化、工程化,曾经大量繁琐而复杂的工作逐渐被模板或工具所替代。
当一个行业日益成熟,势必会降低行业中的重复性工作,一个工作者在同一时间内完成的工作量也会大大增加,那么所需要的工作者数量自然会有所下降。整个 Web 前端行业之后将会进入一种趋于稳定发展的状态。
Web 前端开发体会
Web 前端开发是一个较新的职业,它是在 Web2.0 的热潮下成长起来的,要求开发者掌握较综合的技能,除了必要的软件开发技术,还要对可用性有一定的了解,而又对设计有一定要求,因此,对于数字多媒体技术专业的学生来说,有着天然的优势,是最适合不过的职业之一。
但是对于数字多媒体技术专业的学生,如果要在未来的就业中掌握主动权,单靠专业优势是远远不够的,还需要有深厚的技术功力,例如 HTML + CSS 技术,是必须要完全掌握精通的,JavaScript 更是要不断深耕细作,在专业达到一定的深度后,才有能力在工作中游刃有余,所向披靡。
同时,在学习研究的过程中,要不断增加自己的项目经验,为自己增加筹码,由于前端开发行业的特殊性,数字媒体技术的学生在大三就可以开始在社会中寻找工作经验了,一些学校项目,工作室项目,社会兼职实习等,都是这些经验的重要来源。Web 前端开发是需要在不断实践中学习的,拥有一定的项目经验,才能在学习中得以扩展深入,否则很多单纯意义上的学习更像纸上谈兵,没有意义。
浏览器发展对 Web 前端的重要影响
在 Web 前端发展的过程中,浏览器的发展起着至关重要的作用。浏览器厂商在这场 Web 浪潮中表现突出,具体表现在浏览器的版本升级周期短、对前端标准的支持也越来越好、浏览器的性能也有大幅的提升等。IE 浏览器也开始发力,最新发布的 IE 11 浏览器无论是标准的支持还是性能都比以往表现更好。浏览器的快速发展使得低端的浏览器如 IE 6、IE 7 等慢慢退出市场。
2006 年,John Resig 开发的基于 JavaScript 的 jQuery 框架发布,其最大的突破在于让老旧浏览器适配新的 Web 标准,jQuery 框架从某种意义上解决了 PC 端浏览器兼容性的问题。
目前,移动设备的普及率极高,用户已经逐渐习惯于通过移动设备来浏览网页。主流的移动平台主要为 Android 和 iOS 系统,对应的浏览器内核都是 WebKit,性能和对标准的支持都不错,这恰好也是移动 Web 应用的发展机遇。
Web 前端面临的挑战
Web 前端技术也面临一些挑战。如今大量旧的网站需要重构来提高网站用户体验和性能,这些网站的前端代码普遍存在的问题有:代码没有实现三层分离,代码不够简洁高效,页面布局随意,网站整体性能差,不利于后期维护。
Web 前端的未来机遇
Web 前端的发展方向
新标准的进化与稳定。目前前端三层结构已经形成了 HTML5、CSS3、EcmaScript6 标准规范结合的阶段,后面标准的新变化也会越来越小,至少迄今为止,我们无法预见 HTML6 的到来、CSS4 的特性目前也令人担忧、EcmaScript7 的特性更新也并不明显,这都显示出,目前前端项目实践规范将会相对稳定一段较长的时间,后面的修改不会像之前一样具有颠覆性,这也是技术标准发展到一定成熟阶段会发生的事情。
持续不断的技术工具探索。前端技术效率和性能的提升当然不是仅靠前端框架就能解决的,还需要其他各方面辅助工具的支持,比如高效的调试工具、构建自动化工具等。所以未来前端发展过程中各种高效工具的探索仍会不断地出现,来解决特定场景下的问题,最后进行优胜劣汰。
前端新领域的出现。除了目前浏览器、服务器、移动端上的应用开发技术变革和探索外,未来前端也会出现新的应用场景。比如 VR、物联网 Web 化、Web 人工智能等。这些虽然听着比较远,但一旦到来就会很快被使用,所以前端不仅自身发展快,推广使用也极其迅速,例如移动互联网 Web 的普及也就两三年时间。 近几年,Web VR 和物联网 Web 化的概念渐渐出现,国外甚至出现了以人工智能为支撑的 Web 应用。
前端的繁荣值得期待
Web 前端技术的发展日新月异,现在业内已经开始提出 Web3.0 的概念。最常见的解释是,网站内的信息可以直接和其他网站相关信息进行交互,能通过第三方信息平台同时对多家网站的信息进行整合使用;用户在互联网上拥有自己的数据,并能在不同网站上使用;完全基于 Web,用浏览器即可实现复杂系统程序才能实现的系统功能;用户数据审计之后,同步于网络数据。
现在的 Web 前端开发越来越注重用户体验。无论底层技术的支持上,还是跨平台兼容的需求上,都为迎来前端的繁荣局面做好了准备。预计前端主导的产品会越来越多,前端工程师的位置会越来越重要。最后引用乔布斯的话,“Web 就是未来”。我们作为前端开发工作者也是未来。相信 Web 前端的明天会更好。
附录:参考书籍和文章
《Web 前端开发最佳实践》 –党建 2015 年 1 月
《聊聊未来的前端时代》 –ouven 2016 年 12 月 11 日
《HTML5 行业现状与未来 - 2016 年终大盘点》 2017-01-20 19:03