㈠ 话题 什么是前端工程化
虽然前端工程化的概念兴起还没几年的时间,但是对于“工程化”这个词并不是一个新鲜词了,在其他软件开发的领域很早就已经有了高度的工程化,例如Web服务端开发。只不过那个时候,前端工程师并没有工程化的意识,也没有必要对前端进行工程化的操作,毕竟在那个时期,前端的开发工作只能算是整个项目开发过程中的“附属品”。
实现前端工程化的基础——前后端分离
实际上,现在的前端工程化应该还处于早期阶段,毕竟前端工程师这个岗位也才诞生没几年。在互联网发展的早期,Web应用很多情况下都是由服务端工程师一肩挑,前端开发顶多是巧枝写写HTML代码,实现页面的布局,然后再把写好的HTML静态文件交给后端工程师套模板,因为当时大部分的Web应用都是使用的服务端渲染技术,例如Java的JSP。
这种传统模式下的协作开发效率非常低,如果在页面测试中发现了一个bug,这个bug是由于一个ClassName的值少写了一个字母,你说这种情况到底是前端工程师的错,还是后端工程师套模板时的粗心大意呢?毕竟一个网站上有成千上万个DOM节点,谁也不能保证一行代码都不会写错。再假如,项目上线后发现网页的实际像素和设计稿上存在1像素的偏差,这个时候就需要由前端工程师重新设计一次HTML静态页面,然后再交给后端工程师继续套模板,等整个流程走完之后,你会发现一个更橘铅加严重的问题,整个项目中仅仅是1像素的偏差,就有可能要调动整个开发团队来处理这1像素的问题,极大的浪费了团队资源。
上面的问题也仅仅是传统开发问题中的冰山一角,面对这么多的问题,前后端分离开发也就应运而生了。前后端分离开发,为前端工程化的发展提供了生存的土壤。随着市场需求的不断变化,前端开发从传统的WebPage模式,转变到WebApp模式,Web产品形态的变化也不断推动着前端工程师的工作内容发生变化。在应对各种“变化”,前端工程师们也要设计出自己的前端开发“方法论”。
前端工程化的主要目标就是解放生产力、提高生产效率。通过制定一系列的规范,借助工具和框架解决前端开发以及前后端协作过程中的痛点和难度问题。
前端工程师在未来的定位必然会发生变化,但是前端工程化唯一不变的原则是始终以前端开发为中心,前端工程化没有统一的行业标准,也没有固定的形态,更没有最合理的方案,只要前端工圆宽好程师的定位还在不断的变化,前端工程化的进程将会一直持续下去。
㈡ 前端工程化的理解
目前来说,web业务日益复杂化和多元化,前端开发从WebPage模式为主转变为WebApp模式为主了。前端的开发工作在一些场景下被认为只是日常的一项简单工作,或只是某个项目的"附属品",并没有被当做一个"软件"而认真对待(无论是产品负责人还是开发者)。
在模式的转变下,前端都已经不是过去的拼几个页面和搞几个jq插件就能完成。当工程复杂就会产生许多问题,比如:
前端工程化 是使用软件工程的技术和方法来进行前端的开发流程、技术、工具、经验等规范化、标准化,其主要目的 为了提高效率和降低成本,即提高开发过程中的开发效率,减少不必要的重复工作时间 ,而前端工程本质上是软件工程的一种,因此我们应该从软件工程的角度来研究前端工程。
"前端工程化"里面的工程指 软件工程 ,和我们一般说的 工程 是两个完全不同的概念。
前端工程化就是为了让前端开发能够“自成体系”,个人认为主要应该从 模块化 、 组件化 、 规范化 、 自动化 四个方面思考。
从UI拆分下来的 每个包含模板(HTML)+样式(CSS)+逻辑(JS)功能完备的结构单元 ,我们称之为 组件 。
其实,组件化更重要是一种分治思想。
页面上所有的东西都是组件。页面是个大型组件,可以拆成若干个中型组件,然后中型组件还可以再拆,拆成若干个小型组件,小型组件也可以再拆,直到拆成DOM元素为止。DOM元素可以看成是浏览器自身的组件,作为组件的基本单元。
传统前端框架/类库的思想是先组织DOM,然后把某些可复用的逻辑封装成组件来操作DOM,是DOM优先;而组件化框架/类库的思想是先来构思组件,然后用DOM这种基本单元结合相应逻辑来实现组件,是组件优先。这是两者本质的区别。
其次,组件化实际上是一种按照模板(HTML)+样式(CSS)+逻辑(JS)三位一体的形式 对面向对象的进一步抽象。
所以我们除了封装组件本身,还要合理处理组件之间的关系,比如 (逻辑)继承 、 (样式)扩展 、 (模板)嵌套 和 包含 等,这些关系都可以归为 依赖 。
目前市面上的组件化框架很多,主要的有Vue、React、Angular。Vue文档中的对比其他框架一文已经讲得很详细了。
规范化其实是工程化中很重要的一个部分,项目初期规范制定的好坏会直接影响到后期的开发质量。
比如:
前端工程化的很多脏活累活都应该交给自动化工具来完成。需要秉持的一个理念是:
㈢ 谁能介绍下web前端工程化
就是把一整套前端工作流程物稿中能用工具搞定的部分,用工具搞定。
比如:
以前创建配置初始项目罩仔孝文件结构和基本文件,以前靠复制,现在输入命令自动生成。
以前校验 JS 文件是否规范,你可能复制一下放到 jshint 上校验一下,现在配置 grunt 监听文件变动自动校验显示校验结果。
以前修改代码查看效果,要手动刷新浏览器,现在有一大堆插件可以监听文件戚简变动自动刷新。
以前压缩合并文件用手工复制到压缩工具然后复制到一个文件里面,现在配置一下 grunt 等自动监听文件变动,自动合并压缩。
以前发布到服务器上,要手动使用 FTP 软件上传,现在也可以用工具自动打包上传。
把这些玩意规范一下,给一堆通用的命令来调用这些功能,就是前端工程化。
㈣ 什么是前端工程化
前端工程化是指:在企业级的前端项目开发中,把前端开发所需的工具、技术、流程、经验等进行规范化、标准化。
企业开链搜含发中的 Vue 和 React 项目,都是基于工程化的方式进行开发的。
好处:前端开发自成体系,有一套标准开发方案漏吵和流程。
早期的前端工程化解决方案
目前流行的前端工程化解棚笑决方案
㈤ 什么是前端工程化
所谓前端工程化我认为就是将前端项目当成一项系统工程进行分析、组织和构建从而达到项目结构清晰、分工明确、团队配合默契、开发效率提高的目的。
工程化是一种思想而不是某种技术,前端工程化就是用做工程的思维看待和开发自己的项目,而不再是直接撸起袖子一个页面一个页面开写,所有能降低成本,并且能提高效率的事情的总称为工程化。
前端工程师是互联网时代软件产品研发中不可缺少的一种专业研发角色。从狭义上讲,前端工程师使用 HTML、CSS、JavaScript 等专业技能和工具将产品UI设计稿实现成网站产品,涵盖用户PC端、移动端网页,处理视觉和交互问题。
前端工程师,又叫web前端开发,前端开发是从网页制作演变而来。早期的网页制作主要内容都是静态的,以文字图片为主,用户使用网站也以浏览为主。随着互联网的发展,现代网页更加美观,交互效果更加显着,功能更加强大,于是网站开发细分成了前端开发和后端开发。
前端工程师通过前端技术完成界面设计、界面展现,交互效果,页面维护、网站优化等等。通俗点讲,就是设计、制作网页,实现网页上各种各样的特效和功能。
㈥ 既然jquery稳定,为什么还需要前端工程化
所谓前端工程化我认为就是
将前端项目当成一项系统工程进行分析、组织和构建从而达到项目结构清晰、分工明确、团队配合默契、开发效率提高的目的.
工程化是一种思想而不是某种技术
前端工程化就是用做工程的思维看待和开发自己的项目,而不再是直接撸起袖子一个页面一个页面开写
所有能降低成本,并且能提高效率的事情的总称为工程化。
虽然JQuery很稳定,但是,一个页面一个页面的开发太耗费时间。
工程化的推进只是为了提高效率和降低成本。这里说的效率和成本,并不只是公司层面,还包括个人。良好的工程化,能降低沟通成本,实现更好的协同,节省开发和测试人员的重复劳动,降低发布的常见问题等等,经过有效实践,工程化的推广还能极大地减少加班的时间。
㈦ 对前端工程化的理解
前端工程化
因为刚刚入门的时候,我们写页面会把前端的这三样放在一张页面上,工程化就是动态的HTML,CSSS,JS分离出来,将前端当成工程进行分析,组织和构建从而达到项目结构清晰,分工明确,团队配合默契,开发效率高等目的。
工程化是一种思想,不是某种技术。在只有若干页面的小项目中,我们只需要把简单的页面组织起来,而一个大型的web项目往往要更多的页面和复杂的结构甚至多个团队配合才能完成整个项目。我们需要更加严谨和复杂的工程化的思维去组织结构。从更高层次的项目组织来看我们的项的各种规范,技术选型,项目构建优化等等,在代码层次,需要用到js和css模块化,UI组件等。用句俗话说,工程化就是用工程的思维来做项目,而不是撸起袖子就写代码。
㈧ 前端工程化的小总结(PPT)
下面是我做分享时做的几页ppt,正好对前端工程化的一点梳理。(图片下面的文字是对其内容的补充,虽不是演讲稿,但属于其中内容)
时值当下,作为一名合格的前端开发人员,我相信你一定会有一个很明显的感觉:前端并没有想象的那么简单。越来越多的人开始称呼我们这个行业为“大前端”。之所以称之为大前端,自然是因为前端的职责越来越重要,战场越来越多样,应用也越来越复杂。
这4个方面思考,目的都是为了保证应用质量。
因为应用质量直接决定了工程师的工作和生活幸福感,一个质量不可靠的产品 一定会给用户和工程师自己带去麻烦,对于工程师来说,那势必打乱个体的工作与生活节奏。
㈨ web前端未来将会有什么样的发展趋势
趋势一:更加移动优先
响应式设计显然是目前Web前端开发领域的主要趋势之一,并且这一趋势在未来还将持续一段时间。虽然现在的响应式设计大部分还是以PC版优先,然而如果有一天我们把PC版放到比移动版次要的位置上,也没有什么好奇怪的。因为,目前许多Web前端开发者已经开始转向以移动优先方案来做他们的响应式设计和开发,这就象征着一个重大转变,值得我们跟进的。
趋势二:更多使用快速原型开发工具
众多Web前端开发者从2016年开始尝试使用快速原型开发工具,而在2018年将是这种技术真正爆发的一年。“UXpin、Webflow、Invision以及其它许多快速原型开发工具,让设计师不用写一行代码,就能为网站和服务快速创建低保真和高保真原型,便于设计师衡量它们的可用性和美观性。” Web设计师Jamie Leeson says如是说,“许多工具也允许你在浏览器中设计原型并从工具里真正启动网站自身。”
不管未来前端发展方向如何,可以肯定的是未来前端人才需求依旧很大。想学前端开发专业的机构也很多,你可以去线下试听课程了解一下,例如北大青鸟、南京中博软件学院、南京课工场等等都有试听课程的!