背景:前端组件库一直以来都随技术栈走,前端发展多年,无论大小公司,一般都存在各种技术栈 or 同种技术栈的不同版本,如果要开发某个通用组件(比如:营销弹窗),工作量就是 double+(不同技术需要分开开发/维护/上线,同技术不同版本也需要分开开发/维护/上线)。随着前端技术的不断发展,这带来了诸多问题!
1. 不同技术栈组件无法复用;
2. UI 视觉/交互无法统一;
3. 随着技术栈的版本升级(如 Vue2 升级到 Vue3),组件也必须跟着升级改造且成本大。
因此需要寻找一种能构建跨技术栈,无框架的组件解决方案,达到降本增效的目的。
方案选型 & 介绍:Web components 是浏览器原生标准,使用 Web components 书写的组件天然支持跨技术栈。
因此使用 Web components 技术作为跨技术栈解决方案是比较好的选择,但基于浏览器提供的原生 Web components api 来书写组件,有几点问题:
1.效率低;
2.不符合现代开发者习惯;
3.需要针对不同技术栈书写兼容代码等。
....
因此为了解决以上问题,哈啰共享前端团队自研 Quarkc,一个利用 Web components 技术构建跨技术栈、无框架组件引擎!Quarkc 面向未来,不会随着“前端框架浪潮”而跟随着不断迭代修改。
成果:利用 Quarkc 构建的跨技术栈组件库 Quarkd 开源第三天就登上 github 趋势榜第一;国内首个能应用于商业环境的跨技术栈构建方案。https://github.com/hellof2e/quark-design,https://github.com/hellof2e/quark-core
1. 背景介绍
2. Web components 技术介绍
3. Web components 常见问题&技术挑战&解决方案
4. 哈啰自研 Web components 引擎 Quarkc 介绍
5. 哈啰基于 Quarkc 引擎构建的跨技术、无框架组件成果及经验;
6. 总结 & 展望;
大前端行业多年从业经历,先后做过移动开发、Node 开发、前端开发等大前端相关工作。Quark Design 开源库作者,在前端基建、跨端/跨技术栈方面拥有丰富的经验,曾带领团队,从 0-1 打造 React Native 容器,支撑公司 15+ 跨端 App 开发。目前就职于哈啰出行平台前端团队,负责平台基建相关工作。