紧接着web2.0时代,由于网络市场的迅速扩大和厂商对于未来互联网世界的展望,浏览器市场不可避免地成为了各大厂商争相角逐的必争之地。2004年,当时市场占有率最大的浏览器Internet Explorer由于安全性问题占有率开始被Firefox、Opera等厂商蚕食。各大浏览器厂商和网站的开发商们也开始注意参照W3C所制定的标准进行开发。html与css将网页开发的内容与样式的职责进行了分割,JavaScript已经崭露头角,成为了前端页面开发的主要编程语言。Web前端的技术因为这场没有硝烟的战争有了突飞猛进的发展。也正是这个时候,用户们开始不仅仅满于简单的上网体验。他们对于兼容性、安全性、交互体验的要求也越来越高。Web2.0意义本来就区别于曾经的web1.0,它是一个利用web作为平台,由用户主导进行互联网内容生成的产品模式。与1.0时代厂商主导的地位完全不同,用户成为了web市场上的主角。在Web2.0时代,内容是由用户产生,由于用户之间的参与而出现内容的互动,出现了新的个人化的内容,最后这些内容又是通过用户与用户之间进行分享和交流[3]。Tim O'Reilly将Web2.0定义为互联网的交易平台,是新的平台,是一种互联网的商业。
在这个时代下,用户成为了互联网的主角,市面上开始出现十分丰富的web页面应用的产品,在这种复杂的web产品中,前端不再是以前和后台杂糅在一起的模糊不清的一个概念,它彻底的分离并且独立出来,在web应用中的作用也越来越大,在一些以前端为主的产品里面前端甚至于可以全栈的处理和开发项目。而这一切,也同时意味着前端技术的愈加博大精深,前端项目也变得越来越庞大,越来越复杂。一个庞大的前端项目,也意味着无法再是由一个或者小部分人去经营和开发的项目,现在的前端项目往往需要一个团队去进行实现。在这种情况下,如何进行有效的代码管理和代码开发效率的提升也变得尤为重要。在现在的前端项目开发中除了选择合适先进的开发框架进行高效开发外,对整个项目的打包、管理、压缩、版本控制都变成了十分重要的点需要去考究和设计。其中大量的第三方库和插件的引入和管理,方便而又快速的打包和编译,高效的代码压缩以减轻项目所占空间,是一个项目构建时的基础,也是能够最大程度减少重复劳动、提高工作效率的地方。正是这种需求,让市面上的前端的模块化管理工具和前端自动化构建工具不断的涌现,并且推陈出新,促进这整个前端开发环境都在欣欣向荣的发展[1]。
1.2 国内外发展现状研究
1.2.1 前后端混合开发
1.2.2 前后端分离开发
1.2.3 前端工程化
1.2.4 小结
1.3 主要研究内容和目的
本文的主要内容旨在研究前端工程化中的自动化构建方案。通过前文对于现如今前端开发的现状的讨论和看出,工程化是前端现阶段不可避免的要经过的一条的道路。在工程化中我们不免可以看到,其实前端工程化的主要特别已经有些类似于后端的概念。这其实也是开发者在升级前端技术时的一个突破口。对于集成框架无法为我们解决的问题,前端也开始寻求通过利用工具来帮助解决问题。如果是一个工程化的前端项目,那么在实际实现项目的时候,首先需要注意的点是将重复度较高而且重要的工作在工程化时要利用工具来实现前端的自动化管理。对于开发者而言要时刻注意代码组件化和模块化。将根据需求而出现的功能进行整理然后分目录进行管理,然后根据设计模式的规则将各个组件模块进行打包,然后需要对代码进行压缩以及整合来提高浏览器运行时的效率,通过较少的文件和大小来减小浏览器的压力和提高用户在访问时的速度,可以大大减小项目的体积。这些在工程化中的每一步只管重要的衔接工作都应该是由自动化工具来完成,从而减低工作人员工作量。