GMTC2018 《从AngualrJS走向Angular》 侯凡
2020-02-27 178浏览
- 1.华为云DevCloud 从AngularJS走向Angualr 侯凡 华为云DevCloud首席前端架构师
- 2.
- 3.
- 4.• AngularJS & Angular • DevCloud的挑战与困难 • DevCloud怎么做 • 新的挑战&总结
- 5.Hello World! 侯凡 Monk.hou@Huawei.com
- 6.https://www.huaweicloud.com/devcloud
- 7.引言 • 框架升级更多是一个前端工程化问题,而非技术问题
- 8.AngularJS & Angular
- 9.抛弃Angularjs
- 10.三剑客 没有最好的框架,只有最适合的框架
- 11.DevCloud如何选择? • 开发质量参差不齐 • 研发效率低 • 重复造轮子 • 体验一致性 • 性能
- 12.• 组件化 • Typescript • 严格的规范遵守 • 学习成本 • 业务迁移成本
- 13.决定选择Angular2之后 人力投入 开发工作量巨大 影响范围100%, 测试验证工作量 巨大 技术风险 全新技术栈,大 型团队人员学习 成本 版本现网交付压 力
- 14.HOW? 疯狂加班 发布上线 说服老板
- 15.做伟大的“填坑侠”
- 16.说服老板,争取资源 性能提升 先进技术栈 组件化 前端研发效 率/质量/可 维护性提升 Typescript “以前10个人,现在5个人”
- 17.寻找/创造合适的“Chance” • 找到你的“绿地项目” • 全新的视觉风格 • 新服务上线 • 内部服务整改 • “你看,我已经做好了一部分” • 各种对比
- 18.一种推荐的项目推进模式 早期专家 专家一带多 绿地项目 核心团队 飞虎队 棕地项目 棕地项目 棕地项目
- 19.学习成本&技术转型 • 提前储备专项技能与知识 • 专家一带多 • wiki知识体系积累 • 组件化减少业务工作量 ,专人干专事 • 现实比我们预想的好很多,技术人员对于先进技术的学 习热情远超我们的预估
- 20.撸起袖子就是干 Angular.UpgradeModule • 优点 • 完美的技术过度方案 • 风险可控 • 新老代码共存 • 缺点 • 要求老业务代码优秀 • 良好的组件化和模块化设计能力 • 对启动时间要求不高 • 不利于学习Angular2 重写 • 优点 • 代码重构 • 性能突出 • 无历史包袱 • 缺点 • 工作量大 • 无法新旧共存 • 替换存在技术风险
- 21.重写没有那么可怕-业务框架 • 组件化思维 • 基于angular,封装自己的业务 框架 • 纳管所有公共事务 • 定义公共交互模型
- 22.重写没有那么可怕-组件库
- 23.重写没有那么可怕-业务组件 业务组件 SERVICE … VIEW …
- 24.重写没有那么可怕-业务组件
- 25.重写没有那么可怕-组件生态 NPM component business1 business2 • NPM组件生态 • STORE • 业务复用
- 26.重写没有那么可怕-总结 • 业务组件化 • Angularjs的业务、计算逻辑仍然可以完全复用 • 将以前业务的工作量尽可能多的转移到公共框架与组件库中 • 利用好NPM
- 27.测试、质量是重中之重 • 自动化测试用例 • 用例库全量验证 • 内部吃狗粮,强制内部用户使用 • 灰度上线,邀请友好用户真实场景试用 • 容灾方案
- 28.小批量交付 • 前端portal层的微服务架构 • DEVCLOUD portal按服务粒度 拆分非常细 • 如何解决服务跳转的性能损耗?
- 29.• AB测试 • 蓝绿发布 • 灰度发布 • 新旧版本 发布 Devcloud/ Devcloud/new Devcloud/ Devcloud/old
- 30.新的挑战:Angular6 • 不怂,就是干 • 技术只是手段,不是目的 • 升级框架或技术更迭的目的是为 了解决产品当前的问题或者提升 产品的特性 • 做技术的主人 • 技术让产品更美好
- 31.总结 • Stop Starting, Start Finishing • 永远不要惧怕改变与挑战,他是值得的 • 参与变革的人都明白,他们做的事情当然会失败,但无论失败如何,他 们总要试试。尝试的最大意义在于,通过实践鼓舞他人。不承担风险, 创新是不可能成功的。 By《DevOps实践指南》
- 32.
- 33.
- 34.
- 35.