Dee*_*akV 70 material-design angular-material2 material-components
最近,MDL(Material Design Lite)项目的后续版本作为Web的材料组件推出.其目标之一是"与其他JS框架和库无缝集成".
还有另一个项目Angular Material2,专门为Angular(v2 +)提供材料设计组件.
这两个项目都在创建基于材料设计的UI组件.此外,它们具有类似的组件准备/在线开发,以及即将到来的相同组件(在此处和此处列出).
有人可以帮我理解2个项目之间的重叠,我应该选择哪个新项目?
从根本上讲,我确实理解Angular Material2将更加无缝地与Angular项目紧密集成,而Web的Material Components将为多个JS框架提供钩子.但我没有看到重叠的原因,哪一个会有更多的动力(阅读更多的组件).
Tra*_*man 50
完全披露:我在Web上使用Material Components,所以我的观点可能有点偏颇:)
TL; DR使用哪个库可以帮助您以最有效的方式构建UI,或者并排使用它们.查看我们的angular2集成示例 angular-mdc-web,了解如何使用ng2包装MDC-Web组件.
正如所提到的,Web组件的材料组件(缩写为MDC-Web)的目标是为整个Web平台创建Material Design组件的规范实现.Angular/material2是一个优秀的图书馆 - 包括我自己在内的材料设计团队中的许多人都为此做出了贡献 - 但它对非angular2应用程序是排他性的.此外,非谷歌图书馆和框架,如React,Aurelia,Vue等,没有正式的解决方案来满足他们的需求.
话虽如此,Angular2属于我们"整个网络平台"的范围,我们肯定希望因此而支持它.在这两个项目的这个阶段,我们可能有一些你需要的角度/材料2没有的组件,反之亦然.我鼓励您使用哪个库帮助您以最佳方式实现目标.这可能是角度/材料2,它可能是MDC-Web,或者老实说它可能是两者.例如,你可以在side material2的组件中使用我们的select组件,事情应该可以正常工作.如TL; DR中所述,angular-mdc-web是一个功能齐全的库,它将MDC-Web包装在一个惯用的angular2 + API中.
最后,MDC-Web是唯一由Material Design团队自己开发的库.因此,我们能够与编写Material Design规范的人员进行协作并进行迭代.
Vam*_*shi 17
更新(2018年3月16日):
从@elDuderino提供的评论Material2似乎有一种自定义方式.提供的答案是在材料有cdk之前.
https://material.angular.io/guide/customizing-component-styles
这两个框架现在都非常成熟.我在不同的项目中使用它们.我花了一个星期的时间才将项目从一个框架迁移到另一个框架.因此,我建议尝试两者,看看哪个你觉得舒服.
我将分享我的经验.它的观点和偏见.喜欢被纠正.
我们从头开始并使用Angular.我们决定选择Material.我开始寻找更好的框架,并尝试了所有这些:Materialise,MDL,Angular Material 2,最后是MDC for web.
以下是我的观察,特别是对于Material2与MDC for Web.
缺点
我知道我们可以添加主题,这就是全部.组件的所有HTML和CSS都添加在Angular Components中.所以它被编译为JavaScript并在运行时应用.因此,没有办法覆盖行为.我试了一个星期但是做不到.
以下是我提出的问题(其中一个标记为关闭,因为它似乎在征求意见 - .-)
当然他们没有得到任何答案,我无法自定义它们.如果我错了,请指导我.
检查上面提供的更新
文档很糟糕
让我们看一个例子.查看提供的示例数量.
缺点
如果你想以Angular的方式做,我们不能马上开始使用它.需要为每个组件编写Angular的包装器.可能需要一些努力.但每个团队都可以花一些时间进行定制,并且有第三方努力使其更容易.如果没有以角度方式做到这一点,我相信我们可以在没有包装的情况下开始.
优点