关于 Web Widget
设计 Web Widget 的直接动机来自于无代码产品共同的需求驱动,因为这样的产品需要大量的、开箱即用的组件才能满足客户的需求,因此我们试图设计一个符合这样要求的标准方案。
传统组件系统面临的问题
- 开源社区大量的组件只能在特定的技术框架中才能运行,这种分裂是一种巨大的浪费
- 开发者需要花大量的时间研究每一个命令式组件的接口,写很多胶水代码、测试胶水代码后才能完成一个应用,这些组件难以直接在可视化编辑器中完成排版
- 开源组件的安全问题通常难以被察,这将随时威胁应用的安全
- 越来越多的应用使用了快速迭代的技术栈,如果没有及时更新版本将会降低软件的生命力
Web Widget 的目标愿景
- 所有人可以使用可视化编辑器与 Web Widget 来搭建网页应用,不需要写代码
- Web Widget 可以运行在不同的前端技术框架中
- Web Widget 的应用能够作为物料的格式标准
- 所有的前端组件都可轻松转换成 Web Widget
- 所有的 NoCode/LowCode 产品,都可兼容 Web Widget
- 公共 CDN 可以随时加载托管在 NPM 或 GitHub 的 Web Widget、无副作用的运行
目标约束
Web Widget 无法取代传统的组件系统。组件系统通常会有和外界交互的方法,例如事件和接口,但是它们都会增加和外部的耦合,这些会阻碍 Web Widget 实现自身的核心价值。