前端工程化的个人思考

在我的印象中,一提到软件工程,首先不会想到的是前端这一块,大概是因为以往工作偏向的缘故。这两年最大的感触就是前端发展的很快,时下的前端开发也远非从网络中抠一段jQuery代码就能搞定功能这么简单。

AJAX的出现第一次将前端的请求异步化,局部刷新使用户体验提升了一大截。NodeJS的出现则将前端的发展推向了高潮,一大批基于V8引擎、基于NodeJS之上的开发工具脱颖而出,极速的提升前端开发的效率、效果。

下面从几个方面,来梳理下近阶段关于前端的一些思考,仅供参考,欢迎在留言区讨论。

前端工程师岗位

但凡有点规模的团队,前后端分离开发是必然的。前端开发岗们之前多是由后端开发人兼职,由网页制作人员将静态效果制作完后,交由后端开发人员将动态功嵌入进去。现在这么做的团队也有,当然这样效率不是最高的。前端工程师独立岗位的出现,将前端工程化带近了一步。这一部分专职从事前端开发,而无须再关心后端数据如何组装、如何处理、如何存储,将更大的精力投入到终端展现上面。

面向浏览器编程

(之前一直准备写篇文章叫“面向工资编程”)这个词确实是最近一个月才接触到新名词,被ie6折磨过的朋友相信很能体会背后的意味。各种浏览器终端的出现,且不少以未遵守JS/CSS规范的形式出现,导致开发终端展现时不得不考虑各种浏览器、浏览器的不同版本的兼容性。时至今日,前端技术的发展亦足以解决这个问题。Babel的产生,编程时只关注语言即可,在构建时,由其产生低版本JS以满足低版本的兼容性。PostCSS的面世,也使CSS开发时无须担心多版本、多种类浏览器的兼容性,好消息时,各家浏览器也在积极的向规范、向标准靠拢,以使终端展现能够更加一致。

开发效率

一大批时下优秀的JS开发框架、脚手架,将JS开发提高到了前所未有的高度,用纯jQuery的朋友都少了吧,开始转向Vue、React、ng2的怀抱了吧。Yoeman、Vue-cli等脚手架工具,可以让你轻松搭建一个前端项目。CSS预处理、预编译框架更是将这个弱编程的语言中加入了编程能力,less、sass已经在很多项目中采用。任务处理器更是极大的解放了人力,gulp、webpack几乎成了现代化前端开发的必备。本地化开发时,通过事件监听,直接热部署将结果呈现到终端,而无须在反复刷新页面、清缓存刷新页面。Mock的出现更是将前端开发与后端开发隔离,不再相互掣肘。

模块化组件化

提到工程化总离不开模块化,提到了模块化,似乎组件化也很有必要,这是个一环套一环的依赖。但实施起来亦是相当不易,特别是有期限项目性工程,交付第一,交付结束如无后续升级,基本不会进行模块化组件化优化。产品化项目比较适用,随着功能迭代推进,模块化更有利于开发解耦,提高复用性,对后期维护也很友好。

Node的出现,使模块化更加简便,你会发现模块化项目中,require、import、export应用的如此频繁,CommonJS,AMD/CMD在ES6之前在模块化研发起着比较重要的作用。ES6中更是原生就支持模块化,(ECMAScript简称ES,JavaScript只是ES的一种实现方式)。

原文地址:https://blog.51cto.com/14392904/2409722

时间: 2024-11-03 19:44:54

前端工程化的个人思考的相关文章

腾讯IVWEB前端工程化工具feflow思考与实践

本篇文章主要介绍腾讯IVWEB团队从0到1在工程化的思考和实践.feflow的全称是Front-end flow(前端工作流),致力于提升研发效率和规范的工程化解决方案.愿景是通过feflow,可以使项目创建.开发.构建.规范检查到最终项目上线的整个过程更加自动化和标准化. 要解决的问题 项目的目录结构按约定生成 团队有一套开发规范进行约束 支持多种类型的构建,包括Fis构建和webpack构建 团队内部的代码贡献统计.离线包内置App等 为了解决上述问题,我们于17年2月底开始投入工程化fef

前端优化带来的思考,浅谈前端工程化

重复优化的思考 这段时间对项目做了一次整体的优化,全站有了20%左右的提升(本来载入速度已经1.2S左右了,优化度很低),算一算已经做了四轮的全站性能优化了,回顾几次的优化手段,基本上几个字就能说清楚: 传输层面:减少请求数,降低请求量执行层面:减少重绘&回流 传输层面的从来都是优化的核心点,而这个层面的优化要对浏览器有一个基本的认识,比如: ① 网页自上而下的解析渲染,边解析边渲染,页面内CSS文件会阻塞渲染,异步CSS文件会导致回流 ② 浏览器在document下载结束会检测静态资源,新开线

论前端工程化

在不知道什么时候,突然有人提起前端工程化这东西,一开始觉得又是某个大神故意提起的高深词汇,专门来吓唬人的. 继而我疯狂查找了很多的资料,在接近二十篇的相关资料,每一篇文章都写得神乎其神,大有唯我独尊的意味,但每篇看下来,总感觉不对经--就是大家都把自己一套比较规范的开发套路充当出前端工程化,前端工程化变成了前端优化,让人看了,"对啊,这样做规范多了,优化不错啊,巴拉巴拉",但又觉得工程化不应该只是这些,像缺什么,让人看得云里雾里,似懂非懂.这种文章虽不算误人子弟,但讳莫如深,妖魔化了前

前端工程化(摘抄)

目前来说,Web业务日益复杂化和多元化,前端开发已经由以WebPage模式为主转变为以WebApp模式为主了.现在随便找个前端项目,都已经不是过去的拼个页面+搞几个jQuery插件就能完成的了.工程复杂了就会产生许多问题,比如:如何进行高效的多人协作?如何保证项目的可维护性?如何提高项目的开发质量?... 前端工程化是前端架构中重要的一环,就是为了解决上述各种效率方面的问题的.而前端工程本质上是软件工程的一种,因此我们应该从软件工程的角度来研究前端工程. 那么前端工程化需要考虑哪些因素?我认为前

论前端工程化(转载)

在不知道什么时候,突然有人提起前端工程化这东西,一开始觉得又是某个大神故意提起的高深词汇,专门来吓唬人的. 继而我疯狂查找了很多的资料,在接近二十篇的相关资料,每一篇文章都写得神乎其神,大有唯我独尊的意味,但每篇看下来,总感觉不对经--就是大家都把自己一套比较规范的开发套路充当出前端工程化,前端工程化变成了前端优化,让人看了,"对啊,这样做规范多了,优化不错啊,巴拉巴拉",但又觉得工程化不应该只是这些,像缺什么,让人看得云里雾里,似懂非懂.这种文章虽不算误人子弟,但讳莫如深,妖魔化了前

58到家周俊鹏:webpack PK fis,实现前端工程化我更喜欢前者

责编:陈秋歌,关注前端开发领域,寻求报道或者投稿请发邮件chenqg#csdn.net. 欢迎加入"CSDN前端开发者"微信群,参与热点.难点技术交流.请加群主微信「Rachel_qg」,申请入群,务必注明「公司+职位」.另可申请加入CSDN前端开发QQ群:465281214. 2016年,SDCC(中国软件开发者大会)相继走进了上海.深圳.成都.杭州各地.11月18日-20日将在北京完美收官.作为大会的重要分专题,前端开发专题已邀请到58到家高级前端工程师周俊鹏担任大会讲师,现场将分

谁妖魔化了前端工程化

在不知道什么时候,突然有人提起前端工程化这东西,一开始觉得又是某个大神故意提起的高深词汇,专门来吓唬人的. 继而我疯狂查找了很多的资料,在接近二十篇的相关资料,每一篇文章都写得神乎其神,大有唯我独尊的意味,但每篇看下来,总感觉不对经--就是大家都把自己一套比较规范的开发套路充当出前端工程化,前端工程化变成了前端优化,让人看了,"对啊,这样做规范多了,优化不错啊,巴拉巴拉",但又觉得工程化不应该只是这些,像缺什么,让人看得云里雾里,似懂非懂.这种文章虽不算误人子弟,但讳莫如深,妖魔化了前

爆栈之前端工程化技术小结备案

ps,前些天一90后同事说,要我多写些blog,因为你的实力要show给别人知道,就要怎样怎样的.. 同时建议写个工程化架构来简化工作等等.有时觉得有点对,又觉得有点可笑,有觉得有点无奈... 由于本人是重后端技术,所以对前端技术了解并不深入. 由于很多都是原始pc的web,而且大多都是轻前端项目.所以这里先说下以前用到过的前端js技术大多是: jquery,extjs,easyui,ko,bootstrap,dorado等等,当然还有各种各样的,如日历,上传,富编辑器,报表等等js插件. 但现

HTML5移动应用开发为什么需要引入前端工程化

使用HTML5和Javascript开发的移动应用,和典型的现代Web前端项目一样,有着大量的Javascript,HTML和CSS代码,因此前端工程化在HTML5移动应用开发中同样有着重要意义,可以避免大量重复性的工作,提供效率和质量,优化产品的性能. 目前前端工程化比较通用的框架主要有国外的grunt,gulp,百度的F.I.S等,这些框架基本上都是基于Node.js实现的(百度的F.I.S最早是基于PHP开发的,后来切换到Node.js).Node.js对前端工程师有着非常强的亲和力,有各