篇一:小爝 - 如何推动基础架构项目落地

基建经历

前端工程化 ===> 前端统一开发环境 ===> GUI 工程化环境 ===> CI/CD/Docker 服务

如何建设基建团队

需要什么样的人

爱折腾、善于总结、乐于分享、代码涉猎广泛、能够抽象归纳总结、沟通推广

需要做什么样的事

埋点、UI、jsBridge、SDK、打包上线、自动化测试、CI任务编写、各种管理平台、测试后台、新技术调研与应用、业务组件迭代、node 框架落地

需要掌握什么技能

语言层面不设限、开发领域(前后客户端)不设限、项目管理 UI/UE

需要什么性格的人

激进派?保守派?相互配合、换位思考

项目基建落地方法论

  1. 脸皮厚:主动推进,坚持不懈
  2. 亲耕策略:参与业务开发,体会业务痛点,基建有导向,减少试错成本
  3. 轮岗:参与不同工作内容,在实际中发现问题
  4. 奉献精神:勇于承担脏活累活
  5. 同理心:换位思考,真真切切有效用

实际案例

Nodejs Web Framework

Express JS ===> Koa ===> DARUK(ts、1.0开源)
使用 TS 避免低级 bug,规避语法层面问题
Web 服务两条线:Request way、Server init
基建链路:CI/CD 触发 tag 脚本驱动上线 ===> Docker 容器滚动代码更新 ===> 日志链路追踪 ===> SDK/中间件 ===> 业务代码标准化

Hybrid Release System

一个搞定 APP 和 Hybrid 离线包关系的系统(详见知乎live)
APP 启动时从 PHP 服务器拉取 Hybrid 配置 api

Gitlab CI/CD

Pipeline + Nodejs Cli + CI Lifecycle
搭建流程:CI server 服务器通过申请 Gitlab group token 与全组项目关联,项目中添加 gitlab-ci.yml 就可以出发对应 pipeline 中的 stages
CI 运行分析:CI-runner-script 是集合所有 CI 任务能力的 npm 包,即包含很多 plugin;包可以获取 git 信息,解析源码脚手架配置文件,从而驱动包中的不同 plugin 执行各种任务,即检查代码、上线等

Scheme Data Center

Scheme 的文档,案例,测试自动化

FE Statistical

性能,错误,业务等基础监控搭建
应对劫持前端能做哪些事(详见知乎)

Universal framework

编写跨端差异性代码

总结

  1. 落地必要条件
  2. 基建与业务的关系
  3. 团队意义

篇二:堂主 - 如何推动前端团队基础设施建设

理解技术基建

业务支撑 & 技术基建

业务支撑是当下,技术基建是未来

基建的意义

  1. 解决实际问题
  2. 团队练兵
  3. 梯队建设
  4. 影响力建设
  • 闲时练兵、战时亮剑,基建应基于解决实际问题

基建搞什么

研发流程闭环

开发准备阶段 ===> 编码&联调阶段 ===> 调试优化阶段 ===> 构建部署阶段 ===> 上线后数据采集&分析阶段

体系方向

  1. 开发规范:编码规范、命名规范、流程规范、权限规范、安全规范
  2. 基础资产:Node 工具、Web 工具、物料体系、DSL
  3. 研发流程:协作模式、解耦分层、面向接口、去依赖
  4. 工程能力:应用管理、领域解耦、单人单应用全流程控制
  5. 性能体验:加载效率、渲染效率、人机交互体验、用户感知引导
  6. 统计监控:异常监控、数据采集、响应时效
  7. 安全防控:代码合规、包安全、XSS、CSRF
  8. 质量保障:单元测试、UI 查验、链路测试

基建的目标

为业务赋能:提效、体验、稳定性

基建怎么搞

  1. 规范 & 文档
  2. CLI 本地工程套件(架构):差异抹平、自动初始化、重心分离
  3. 可视化工程辅助(GUI、架构)
  4. 项目工程管理(架构):项目创建、项目开发、项目发布、数据分析、环境依赖
  5. 组件工程管理:组件管理、组件创建、组件发布、量化统计
  6. 模板工程管理(架构):模板归纳、模板开发、模板发布、页面创建、环境依赖
  7. 物料体系结构:规范层、工具层、基础层、业务层、应用层、量化统计
  8. CI/CD 构建部署(架构):CSS lint、JS lint、死链接、合规检测
  9. 可视化搭建(结构、部署流程):外部服务、搭建服务、路由服务、反向代理、多型支持
  10. 性能检测(架构):针对业务设计检测模型、图片体积、懒加载;基础层、服务层、网关层、应用层、运维
  11. 数据埋点:PV、UV、链路统计、用户画像

基建之外

  1. 解决问题,从场景出发找方案(不是为了做而做,跟随业务成长)
  2. 业务阶段匹配性(不同的业务阶段会匹配不同的团队能力和产出)
    1. 初创期(0 到 1):满足一般功能
    2. 起步期(工具化):前后分离解耦、编码/联调/提测/选型等局部规范、单点工具/脚手架涉及/构建部署
    3. 快速发展期(工程化):标准化、自动化、系统化,工具串联等
    4. 成熟期(智能化):云端化、集成化、产品化
  3. 打破职业思维惯性:帮助业务解决问题,为业务赋能;不止于用户界面层 ===> 网关/应用/领域/技术设施
  4. 技术的价值,在于解决业务问题:业务架构、业务支撑、流程/制度、基础设施

因为你,什么会变得不一样?

篇三:Scott - 如何在人单力薄时立项推动基建

提效降本的基础就是基建

基建三要素

  1. 基建的真正价值:提效、降本、成长
    1. 研发实力 = 研发模式 + 工程师能力 + 基础设施
  2. 基建难点皆为现状,终点皆为管理
  3. 基建再高大上,也要有目标和节奏
    1. 基建也是项目,没有度量就没有共识

基建三难

  1. 判断与决策难:做不做、做什么、怎么做
  2. 共识与授权难:不给人、不给钱、不认同
  3. 实现与推广难:无大牛、无方向、无方案

定位:基建与前端团队的关系

什么是基建

广义:一切有利于研发效能提升,直接或间接助力于业务开展的能力建设皆为基建
Eg:技术方案、文当沉淀、技术培训;UI 组件、业务模板、集成框架、规范约定、Mock 工具、打包服务等等等

团队的生命周期

  1. 人肉时代:点式思维,个人视角
  2. 工具时代:线面式思维,团队视角
  3. 工程时代:面体式思维,部门视角
  4. 智能时代:生态思维,公司与行业视角

基建与团队的关系:稳、快、强

摸底:问题与场景的识别方法

  1. 从问题点归类出发
  2. 复盘现场
  3. 从现场到方案终局
  4. 从方案回到人头流程
  5. 从流程到团队基本面:开发、打包、推包、发布、上线
  6. 点状问题 => 线状思考 => 面状方案 => 体系化诊断
  7. 基于点线面定夺做事节奏

选人:如何提升团队基建氛围

  1. 高频 Review 代码:代码 review 是基建中的基建
  2. 中频技术分享
  3. 低频职责调整,能力意愿是基建选拔标准

推进:基建到底如何立项开发

  1. 获得授权之前形成有效判断
    1. 团队的技术现状
    2. 行业的参考对象
    3. 团队问题的识别
    4. 组织业务的了解
    5. 基建价值的衡量
    6. 做事节奏的理顺
  2. 有数字,量化结果,事实不可逃避
  3. 有优先级,规划的价值-基建紧迫性

篇四:芋头 - 大搜车大前端基建经验分享

核心基建介绍

应该有的

  1. 脚手架:工程规范、持续集成配合、常用工具集成
  2. 开发框架:简化复杂度、项目标准化
  3. UI 资产:抽象兼容性、设计标准化、开发提效
  4. 基础环境:开发和运行时、基础环境管理
  5. 客户端:客户端核心组件
  6. 基本服务:开发必备相关服务

日常沉淀

  1. 前端基础库:抹平三方平台差异、封装方法和最佳实践、开箱即用
  2. 开发工具、客户端基础库、Nodejs基础库、可视化

感悟

  1. 从日常痛点中积累:有积累意识、对复用敏感
  2. 主动挖掘业务痛点:为业务赋能,突破项目本身为更多业务场景赋能
  3. 适当时机打造正规军:正确理解基建团队职责
  4. 边界试探强化团队价值:从为前端赋能,到输出完整解决方案;了解行业动态,映射团队现状和未来

典型项目介绍

  1. 基础组件:差异抹平、UI 设计标准、主体能力、业务组件管理
  2. 社群生态服务:微信生态、直播生态、底层能力

组织架构探索

  1. 养成不断调整队形的习惯:脱离了业务场景不存在“架构”
  2. 基础设施逐步成熟后更多考虑对业务的直接影响

项目管理的探索

技术项目管理

  1. 立项方法:长远规划、调研、分析需求方案
  2. 推进方法:开发前确定产品、技术、迭代方案,管理上项目制
  3. 运营方法:文档/手册/站点/分享,生命周期、里程碑运营
  4. 规范和管理:里程碑分解,应该是功能产品的不断迭代优化,而不是割裂的独立模块

总结核心关键

  1. 贴近业务、商业、行业
  2. 组织架构保证
  3. 有意识的沉淀和积累
  4. 项目立项推进方式保障

篇五:崇志 - 如何设计大型前端团队的基建整合

前端工程化之路

  1. 混荒时代:前后端耦合、没有本地开发环境、依赖后端开发环境
  2. 工程化时代:前后端分离、开箱即用、完善的本地开发环境、接口管理平台、数据埋点统计、云端构建/部署
  3. 前端基建与工程化的关系:前端基建 ==整合==> 工程化 ==目标==> 提效

前端开发全链路中包含的基建

项目初始化 => 本地开发 => 接口联调=> 数据埋点 => 构建发布 => 性能监控
包含基建:代码管理、框架体系、组件体系、可视化搭建、本地开发服务、接口管理、字体图标、图表体系等

跨项目加载 view:微前端

接口 host 隔离、css 样式隔离、通用样式本地化、目录结构约定、组件共享、资源按需加载等

总结

工程化就是将散落在各个点上优秀的基建串联起来形成体系