1. 当前主流组件库不足
目前前端常用的组件库,如antd、elementUI都是和技术栈绑定的,如果你用antd,只能用在React项目里。
如果一个团队存在多个技术栈,那可能会有如下痛点:
- 多个技术栈,会对接多套组件库,每套组件库使用方式会有差异化
- 业界组件库一般不会完全契合本公司视觉规范,前端就要修改覆盖组件库样式,那多套组件库必然会带来覆盖成本
这些痛点会给我们带来开发成本,那如果有一套组件库,能用在业界前端任何框架里或无框架的项目里,真正做到和技术栈无关,不仅降低使用成本,组件库的维护成本也会降低,那会真正提高团队的整体开发效率。
2. 为什么选用Web Components开发组件库
目的是为了跨技术栈,Web Components是建立在Web标准之上的,它允许开发人员创建新的自定义、可重用、被封装的 HTML 标记在网页和 Web 应用程序中使用,可跨现代浏览器工作,并可与任何支持 HTML 的 JavaScript 库或框架(Vue、React、Angular... )一起使用。
关于Web Components这里不做过多介绍,网上很多资料。
3. Lit又是什么
如果纯Web Components开发组件的话,比较繁琐,类似使用Jquery,用过React都知道,其数据视图的驱动更新机制极大提升了开发体验。
Lit是Google开源的基于Web Components构建的前端框架,提供响应式数据,声明式模板,可帮助开发者快速构建Web Components组件。
Lit的学习可以去官网 Lit官网,简单,学习成本不大。
这里可以看下官方demo,
4. 后续
写文章,我不喜欢说一堆废话,每篇尽量做到精炼。
前提是大家具备Web Components和Lit的简单知识点。
接下来就开始从0一步步写每个组件吧。