Angular Material VS Materialisecss [关闭]

问题描述 投票:19回答:3

嗯,大约一个星期我正在尝试使用Angular Material运行应用程序。 在使用Angular Material及其神经破坏虫之后面临如此巨大的挑战(由于它们的角色V2尽快释放V2的里程碑,可能永远无法解决),现在它让我大吃一惊,为什么我必须使用616KB JS+CSS Angular Material模块而不是254KB JS+CSS Materialisecss。 据我所知(告诉我,如果我错了!):

最好尽量避免更改DOM元素

但Angular材料基础是引起大量回流/重新涂饰的指令,实际上基于我看到的演示,Materialisecss比Angular Material更快更轻。 这显然是Angular Material更具角度友好性,并且具有$mdThemingProvider和......等特定功能,但我对使用Angular Material或其性能有疑问。 有什么话要让我再次相信Angular Material? 是否值得使用Angular Material而不是纯Angular + Materialisecss? 因为我看不出它们的结果有什么重大变化?

javascript angularjs material-design angular-material materialize
3个回答
14
投票

去物化。

我不知道为什么人们会低估你的问题。这是一个合理的问题。虽然Angular Material看起来更具吸引力,因为它的名字中有着名的“Angular”。但它绝对不是正确的选择。它可能有更好的角度集成,但一个优秀的程序员可以整合Materialise同样好。

Angular Material还没有那么多组件。事实上,对于某些组件,它甚至没有适当的例子。

我在Angular Material开始了一个项目,但后来转向Materialise a,因为截至2017年9月20日,它的图书馆更为全面。并且还有很多例子正确记录。


12
投票

现在,它感觉MaterialiseCSS更加成熟和发展,具有更多功能,动画和组件。

然而,Angular Material有一个很大的ToDo列表,所以它可以赶上,但看起来它不会发生在2018年或之后基于他们的github readme status。目前没有计划在2017年底之后。

Materialize优点和缺点

  • PRO:物化的好处在于你输入的内容是什么,这意味着你在角度模板中放置的html和css正是它在浏览器中的样子,这意味着它很容易用css打造。
  • CON:物化的坏处是需要jquery,这意味着在使用angular时需要特殊设置。如果您正在使用webpack,那么使用提供插件非常容易

例:

  new webpack.ProvidePlugin({
     $     : 'jquery',
     jQuery: 'jquery'
  })

这会自动使jquery在每个使用它的模块中都可用,所以它毕竟不是一件坏事。

  • PRO:另一个好处是它很容易将你的html / css从一个项目移植到另一个项目,因为它只是html和css,没有自定义指令。因此,如果你想从角度切换到反应,或者转换为普通的html,那么在保持所有标记和样式的同时使用Materialize会很容易。
  • PRO:开发得很好,很多组件,很多样式,许多功能真正为您的应用程序提供专业润色
  • 专业:非常好的文档和优秀的例子。
  • PRO:开发人员对GitHub问题和PR非常敏感

MaterialiseCSS得分:+4

Angular Material优点和缺点

  • PRO:好的是它的内置角度,所以它有自定义指令角度样式。但是,这也需要设置,因为您必须导入模块,但这与任何角度模块没有区别。
  • 专业版:开发人员对GitHub问题和PR也非常敏感
  • CON:角度材料的坏处是它将所有这些自定义指令转换为自己的html和css,我发现覆盖和自定义可能非常棘手,但并非不可能。
  • CON:另一个坏处是它的代码不可移植。它仅适用于角度2,因此您无法使用此方法切换框架。你的所有标记和样式都是有角度的。
  • CON:在成熟之前需要更多的进步,并且可以提供完整的物质体验。
  • CON:文件很差。示例是有限的,对示例的解释很少,没有给出每个示例可以做什么的选项,充其量是混淆。

角度材料得分:-2

基于这个简短的分析,在我看来,即使在使用Angular2 +应用程序时,Materialise也是2017年9月的出路。我一直在我的角度4应用程序中使用Materialise,它的效果很好。我希望这有帮助。


10
投票

Angular Material是一个包含Angular指令的Angular模块。它是专为Angular而制作的,而MaterialiseCSS是一个只有一点Javascript的CSS库。

您应该使用Angular Material,因为在您的应用程序中可以使用的所有组件都不同于MaterialiseCSS,其中某些东西不起作用,它是为纯Javascript或jQuery设计的。

© www.soinside.com 2019 - 2024. All rights reserved.