MDL 失败了3 个高级目标中的哪一个:
- 以单点方式消耗的可生产组件
- 一流的性能和对材料设计指南的遵守
- 与其他 JS 框架和库无缝集成
或者在弃用 MDL 的背后还有其他一些原因吗?
这里是 MDC Web 的核心团队成员之一。如果您对从 MDL 切换到 MDC Web 感到好奇,我们有一份迁移指南。
我们通过迁移到 MDC Web 完成的一件事是 JavaScript 组件的新架构。MDC Web 的构建方式完全与框架无关,因此可以在惯用的 JS、React、Angular 等中使用相同的代码库……我们还以可以按点菜方式安装的方式发布组件,不过如果你想抓住一切,那就是 164K。
本质上,我们通过将关注点分成两个概念来实现这一点:组件和基础。Component 是即用型 JavaScript 组件,而 Foundation 包含所有共享的 UI 代码。Foundation 对于 React/Angular/Vue 等框架的低级使用以及更复杂的渲染逻辑很有用。
最后一个难题是适配器的概念。在 MDC Web 中,适配器是传递给 Foundation 的配置对象。这将包括围绕数据绑定、模板、键/输入处理等的任何逻辑......这一切归结为一组逻辑默认值,如果您使用像 React 或 SSR 这样的框架,这些默认值可以被覆盖事情与它们在浏览器中的 vanilla javascript 中的完成方式不同。
最后,如果有人有兴趣与我们聊天,我们有一个公开的 Discord 服务器。我们很乐意回答任何实施问题或解决任何问题。
MDL 只是未能以点菜的方式轻松消费。
尽管存在多个问题,但说它未能与其他 JS 框架和库无缝集成有点苛刻。
Web 的材料组件(MDC-Web)有望很容易迁移到。时间会证明一切。