-->

前端解决方案

Tags: js

今年 8 月份,由于机缘巧合、从工作了 5 年半的蚂蚁转到了阿里云交付技术团队。我们知道阿里云由于起步早、持续投入大,目前产品竞争力已经很不错,前几年也基本覆盖了国内绝大多数的“电商、互联网”等典型偏技术的客户群。最近几年数字政府、新金融、新制造等概念的兴起,以前相对传统的行业也普遍需要结合“互联网和云计算”等先进技术和组织理念,因此阿里云客户群行业范围也随之扩大。

同时阿里云发现大多数中大型客户、需要的不只是“云平台”等底层纯技术的产品,更需要阿里的电商/新零售/金融等方面先进的业务解决方案,比如阿里的“业务中台、数据中台”架构方案。整个社会各行业也从原来的“互联网+”进化到的“数字化转型”的浪潮里。而阿里云的交付技术团队,就是一群身处第一线、直面客户遇到的各类问题,帮助客户尽量顺利地完成数字化转型的前锋队员。

但就如战斗冲锋不能光靠人力和勇气,而是更需要先进的各类武器装备、战略战术。所以交付技术部需要做“交付平台、工具”,制定“标准化”的交付流程,设计和沉淀“可复用”的技术方案,攻坚重大项目里“个性化”的难题和优化技术架构,从客户现场孵化创新产品形成团队的价值闭环。参照黄金圈法则,当拥有了内在动力、即知道了 why,那 how 和 what 就能比较自然呈现了。这两个月,我们的第一步就是深入客户项目做调研、感受最实际的痛点。

调研

首先通过看了一些项目代码,发现了一些常见问题:代码库没文档,多套代码库,因为权限问题页面运行不起来,钉钉联系不到代码作者(ISV),前端代码技术栈混乱落后、jQuery 等老技术栈居多,代码趋于腐化。针对这个初步情况,设计了一些调研问题:

一、通用调查

  • 前端在项目中的重要性?造成多大比例的交付风险?
  • 前端应用类型?
    • 核心系统页 / 门户首页 / 可编辑的CMS / 营销活动页面
  • 前端技术方案选型依据?
    • GitHub star数 / 可维护性 / 上手门槛 / 个人喜好 / 社区普遍性
  • 前端“技术选型”和“难点问题”谁来负责并解决?
    • 原厂 / ISV
  • 前端技术“最佳实践”和 showcase 有没有?
  • 前端“项目文档”多不多?有无前端架构图?
  • 典型的“高优先级”问题和痛点?
  • ISV 同学前端工作年限?
    • 0-2、3-5、大于 6 年
  • ISV 同学技术能力评测?
    • 新技术使用情况 / 有无开源贡献

二、技术专项 (附评分 - 10分最高)

  • 开发语言: JS/css/html、es6 - 10、typescript - 10
  • 基础框架: React - 10、Vue - 9、angular - 8、jQuery - 6、…
  • 应用框架: umi.js、Redux、Vuex、Next.js
  • 组件库/图表库: antd、element、angular ui、echarts、antv
  • 构建: webpack、Gulp、Babel、Less / Scss、css module
  • 测试和质量: eslint、jest、lighthouse、CI / CD
  • 工程(平台)化: mock 平台、API 平台、DEF、basement、Web IDE
  • 发布部署: SPA / 多页应用、SSR、PWA,CDN、docker

三、工程方案

  • 前端搭建: 宜搭、斑马、云凤蝶、h5 和小程序 搭建系统
  • 代码生成: Design to Code、Code generator
  • 互动游戏: 动画库、游戏引擎
  • A/B 测试
  • Node.js 后端: BFF、SFF、小型创业公司 js 全栈解决方案?

解法

我们的调研问题,已经尽力覆盖前端研发各个环节、各个场景,在整理和细化过程中、也自然成为解决方案所需要的基础数据。再对这些数据进行“评分、打标、归类”,就有可能自动化地产出各类场景化前端解决方案。

当然首先要探索可扩展的 “分层次评分体系”、“打标方式”,比如:

  1. 对于“技术专项/技术栈/功能点”的垂直评分
  2. 相似解决方案的横向评分 (可依据垂直评分做推导 + 因子修正)

可能问题: 怎么保证“评分”的客观和公正性?是任何人都可以打分?分数的意义作用。

具体做法

  • 以开源方式在 GitHub 上跑通核心的功能、便于公司外的合作伙伴参与,同时吸引更多感兴趣的人。
  • 内部镜像做小数据验证,同时促进内部“前端技术/产品”对外服务,做成他们对外的一个“窗口”。
  • 自动生成解决方案架构图,自动生成或关联核心代码。

总结

虽然经过了许多思考、但以上解法其实并不完善,可行性和效果其实都很难说、而且确实还没有实际的产出。最后附上在这个过程里的思考图示。

最近文章

2024-08-06 » lerna 实践
2024-02-15 » 字节监控之旅
2024-01-06 » 如何做一个好的管理者