最近被安排在公司推广 flutter,搞了几个月算是摸到了一些推广技术的门道。
私以为,一个框架级别的技术想在比较大规模的团队中推广应该是要经过下面几个 milestone:可行性调研,单人开发可用,多人协作可用,防劣化机制建立,开发质效提升。
涉及到的功能点主要有:文件&库管理,分支模型,语言&平台能力补强,基础通用组件,基础业务组件,代码规范,业务结构规范,CI,复杂组件。
具体来说可以列出下面的表,粗体表示工作完成一部分。
milestone | 描述 | 完成项目 | 平台主要工作 | 具体到 flutter |
---|---|---|---|---|
可行性调研 | 确保能够完成预设的目标 | 如果比较复杂,需要保证符合现有技术的最低标准 | 看文档,写demo,聊天 | 确保 flutter 能基本完成与 native 一致的使用和开发体验 |
单人开发可用 | 在先行者的完整参与下,能够开发中小型业务 | 文件&库管理,语言&平台能力补强,基础通用组件,CI中本地打包部分 | 写文档,撸外围代码 | 确定工程结构,能力方面,我们做了:buildAar、多语言、channel 代码生成、ioc、路由(不是页面栈,是对 navigator 的强类型封装) |
多人协作可用 | 先行者逐步退出业务开发流程,由业务自行接入开发 | 基础通用组件,基础业务组件,代码规范,业务结构规范 | 撸平台相关代码,主要集中在底层工具类。写规范性文档。优化之前工具的使用便利性。 | 页面架构,apm 中简单部分,页面栈,标准视觉组件,依赖管理,常见资源使用收口,分层级的库标准文档 |
防劣化机制建立 | 保证在大规模业务推广下,整体质量(主要是稳定性、可维护性和包大小)有保证 | 基础通用组件,基础业务组件,CI,复杂组件 | 撸平台相关代码 | 尚未开始,目前想到的是集中在 APM,CI 检查和脚手架搭建上。这时候理论上业务会开始大量提基础需求,平台无需自驱组件类需求了。 |
开发质效提升 | 精耕细作,把整体的开发质效提高 | 基础通用组件,基础业务组件,CI,复杂组件 | 杂事 | unknown territory |