前言最近翻了很多应聘者的简历,看到了很多关于前端工程的描述:>《我一直在做前端工程……》>》在公司的前端工程规范中,自动化..做了很大的改革...”...首先我抱有很大的希望(谁能不爱才..)然后通过交流和讨论,会带来我更多的反馈是失望。当然,这个领域属于`非主流前端领域`。但我个人认为还是很有趣也很有必要学习的;所以今天就简单说一下前端工程,希望对大家有所帮助。回顾前端发展史为了照顾不同时期融入前端大家庭的读者,这里简单回顾一下前端研发“方法”的发展历程;审查经历了几个阶段,以了解“工程”性的必要性。前后端不分离的时代:那时候所谓的前端更多的是负责写页面。然后是一些技术(ASP,JSP...)用数据填充页面;这部分技术比较偏向于后端,所以前端可能不会参与这部分工作。(当然也会有没人愿意做的时候,就是看谁没有发言权)前后端半分离时代:在一些工作被谈的背景下大约同时,我们也在研究如何进行前后端分离,方便团队之间更好的协作和分工。许多技术解决方案已经问世。比如在node开发的背景下,出现了SSR(serversiderender)+Node的技术方案;即服务端直接将处理后的HTML模板发送给前端,由前端负责展示。前后端渐进彻底分离:随着各种技术的进步,逐渐出现了各种前后端渐进分离的架构方案,比如RESTful架构;即调用双方通过协议(http/https/socket)进行通信数据传输。这样一来,彼此的工作可能不会有太多的扯皮。但是,仍然存在一些问题,例如谁来决定API设计。如果前端定义接口可能更理想(服务端内部有跨集群等大的技术架构服务,在这种背景下实现起来可能比较困难【我也想帮助后台-结束兄弟哈哈。]);所以我个人认为更多的是双方合理的讨论设计来推动。....什么是前端工程?在研发技术方案不断更新的背景下。前端从“页面开发工程师”逐渐转变为“APP研发工程师”;随着业务的复杂化,提升用户体验不再是一件简单的工作,面临着合作问题、性能问题等。所以模型的转型也伴随着很多问题:如何提高效率团队发展?如何提升项目研发质量?如何加强项目的可维护性?需要选择一个好的技术架构方案来推动前端工程的落地。工程大概包括几个方面?整体标准化编码规范:项目结构规范;html、js、css编码规范;命名规范;接口规范等。协作规范:文档规范;资源管理规范;视觉|交互规范等开发模式组件化模块组件化:公共css抽取;公共js提取;公共资源提取等技术组件化:基础函数库组件化;公共页面组件业务型组件化:类似业务重叠功能组件化等&自动化研发工具化:资源加载、集成、自动化、研发生成环境搭建、自动化部署、单元测试持续集成...技术优化、性能优化,解决方案优化...技术优化在大前端的背景下,必须进行技术创新和进步。冷兵器时代不要只用Jquery;MVCMVVM设计模式的优势不言而喻,何不选择progress。性能优化这是2C业务的必然阶段,用户体验越来越重要。不仅要考虑程序的实施,还要考虑用户体验。简单来说,首屏加载时间可能会导致用户流失。解决方案优化在这方面,例如,团队不一定有机会实施工程的每个细节。强行推动这个总体方向可能会适得其反;没有最好,只有最合适。工程能解决什么?下面我们通过一个简单的日常现象,看看能为我们解决哪些问题。首先,很多开发者会在非工具化(webpack构建生成)的背景下遇到一个问题。每次部署项目时,用户(测试、产品、用户)都需要手动清除浏览器缓存;这是一个很麻烦的问题;每一个解释也很累。“静态资源需要清缓存...”那么如何从工程角度解决这个问题呢?...
