目前来说,Web 业务日益复杂化和多元化,前端开发已经由以 WebPage 模式为主转变为以 WebApp 模式为主了。现在随便找个前端项目,都已经不是过去的拼个页面 + 搞几个 jQuery 插件就能完成的了。工程复杂了就会产生许多问题,如何进行高效的多人协作?如何保证项目的可维护性?如何提高项目的开发质量?
前端工程化就在这个快速发展的时代下,应运而生。它存在的目的就是为了提高效率、节约成本。前端工程化是前端业务以及技术架构复杂度提升导致的必行之路,然而工程化并不是普适的技术或者理论,业务类型、场景、技术架构甚至团队组织架构均是决定工程化具体形态的必要因素。换句话讲,工程化是与实践密不可分的。
GMTC 全球大前端技术大会北京站特别设置了【前端工程化】专场,邀请了来自阿里巴巴的高级前端技术专家朱华军(阿大)担任专场出品人,为大家精心挑选了包括阿里、京东、快手在内的巨头互联网公司的工程化实战案例,可谓精彩多多,不可错过。部分精彩议题如下:
前端从最开始作为一个职责单一、配合型、边缘化的工种,经历了 PC 时代的前后端分离,到移动时代的多端开发,直到 Node.js 时代,工具与框架百花齐放,JS 似乎无所不能。而作为前端开发者手中的成长型武器 -- 前端工程,也在一步步升级进化。作为阿里巴巴历史最为悠久的 B 类业务事业部门,我们完整经历了以上各个历史阶段,并在从工具链到平台化再到云 + 端的研发工具演进实践中,逐步探索着前端工程化的更多可能。
1. 前端演进历史中前端职责与开发方式的转变
2. 阿里巴巴 B 类事业群前端工程的演进
(1)工具链时代(2)平台化时代(3)云 + 端时代
3. 前端工程中的实践批判
(1)【稳定 VS 高效】版本管理设计 & 卡点设计
CDN 资源版本控制实践
代码检查卡点设计
(2)【标准 VS 定制】研发流程设计
基于BPMN 的研发流程定制实践
(3)【多样 VS 易用】脚手架设计 & 构建服务设计
渐进式脚手架设计
云构建服务设计实践
4. 工程未来的一些臆测
京东购物作为第一批上线的微信小程序之一,两年多以来在工程化上的探索从未间断过。从最初的 Gulp 构建,到现在的自研 CLI 工具、持续集成系统,需要手工进行的操作大大减少,使得团队成员能够更加专注于业务开发。与此同时,我们在性能提升、多端支持、团队协作、自动化测试、监控告警等方面也有不少的尝试和积累,本次演讲将为大家带来完整剖析。
1. 项目初态
(1) 使用 Gulp、Gitflow、ESLint 搭建的工作流(2) 制定开发规范
2. 困难与挑战
(1) 手工操作过多(2) 多个项目间的代码难以复用
3. 模块化之路
(1) 公共模块 npm 包的统一管理(2) 多端方案 Taro、Wqvue(3) 自研 CLI 工具(4) 基础流程插件化
4. Node.js 数据层实践
(1) 精简小程序前端代码,性能优化(2) Hawaii 数据聚合方案
5. 持续集成系统
(1) Gitflow 工作流自动化
(2) 沙盒自动化测试
6. 监控告警
(1) 高度可配置化的警告系统(2) 监控和告警信息的有效送达
7. 展望与思考
本次演讲将会完整剖析快手游戏直播站的工程化设计方案,完整介绍直播站的发展历程,技术选型迁移,以及在这个过程中所诞生的基础平台方案(DevOps 系统,Sentry)以及思考。
1. Node.js 的应用
(1)Vue SSR 实践(2)面向数据的接口 VS 面向页面的接口
2. 状态管理
(1)为什么我不选择 Vuex(2)GraphQL + Observable
3. 持续集成与工作流
(1)基于 GitLab CI 的持续集成与持续部署(2)Git flow 工作流的应用
4. 监控方案
(1)错误监控(2)性能监控
5. 运维方案
6. 展望未来,我们还能做什么
除了上述热门议题之外,在 GMTC 全球大前端技术大会上还有关于前端框架、工程化、性能优化、Node、小程序、Flutter、移动 AI、前端团队管理等内容的 50+ 干货技术案例分享。
目前大会 8 折倒计时 10 天报名中,欢迎联系票务小姐姐:18514549229(同微信),赶快来现场与来自 Google、Twitter、BAT、字节跳动等大厂的技术负责人面对面交流吧。
1、头条易读遵循行业规范,任何转载的稿件都会明确标注作者和来源;
2、本文内容来自“InfoQ”微信公众号,文章版权归InfoQ公众号所有。