我是 MDC Web 的核心团队成员之一。如果您想了解从 MDL 切换到 MDC Web 的内容,我们有一个迁移指南。
通过转向 MDC Web,我们实现的其中一个目标是为 JavaScript 组件构建新的架构。MDC Web 的构建方式完全与框架无关,因此相同的代码库可以在原生 JS、React、Angular 等中使用。我们还以可插拔的方式发布组件,尽管如果您想获取全部内容,则大小为 164K。
本质上,我们将关注点分为两个概念:组件和基础。组件是一个可直接使用的 JavaScript 组件,而基础包含所有共享的 UI 代码。基础对于 React/Angular/Vue 等框架的低级别使用和更复杂的渲染逻辑非常有用。
拼图的最后一块是适配器的概念。在MDC Web中,适配器是一个配置对象,传递给基础组件。这将包括围绕数据绑定、模板化、键/输入处理等的任何逻辑。所有这些都可以归结为一组逻辑默认值,如果您使用像React或SSR这样的框架,这些默认值可以被覆盖,因为这些框架与在浏览器中使用纯JavaScript的做法有所不同。
最后,我们有一个公共Discord服务器,如果有人有兴趣与我们聊天。我们很乐意回答任何实现问题或解决任何问题。
MDL在按需使用方面有些不易消费。
虽然存在多个问题,但说它在与其他JS框架和库的无缝集成方面失败了有点苛刻。
Web材料组件(MDC-Web)希望易于迁移。时间会证明一切。
<button class="mdl-button mdl-js-button mdl-button--raised mdl-button--colored mdl-js-ripple-effect">Like on Facebook</button>
相对于 MaterializeCSS:<a class="waves-effect waves-light btn">Like on Facebook</a>
- NBTX