8

嗯,这是大约一个星期,我正试图运行角度材料的应用程序。
对Angular Material和它的神经缠绕错误(这可能永远不会解决,因为它们尽快释放V2 for V2的里程碑)之后,如此之多的挑战,现在它在吹我的脑海,为什么我必须使用616KB JS+CSS Angular材料模块而不是254KB JS+CSS Materializecss。
据我所知(告诉我,如果我错了!):角度材料VS Materialisecss

这是最好的尝试,并避免改变DOM元素尽可能

但角材料基地引起了很多指令回流/重绘,并且实际上基于我所看到的演示,Materializecss比角度材料快得多和轻。
这是很明显的Angular材料更友好,并具有一些特定的功能,如$mdThemingProvider和...,但我对使用Angular Material或其性能有怀疑。
任何让我再次相信Angular Material的词语?
是否值得使用Angular Material而不是纯Angular + Materializecss?
因为我看不到他们的结果有任何重大变化?

+0

我可以确切地知道为什么我下了票? –

+2

我没有,但它可能是自以为是的问题风格。 – Iceman

回答

5

角度材料是一个包含角度指令的角度模块。它是专门为angularjs制作的,而materializecss是一个只有小javascript的CSS库。 YOu应该使用角材料,因为所有组件都可以在你的应用中使用,而不像materializecss那样,有些东西不会工作,它是为纯JavaScript或jQuery设计的。

4

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

然而Angular Material有一个大的待办事项列表,因此它可以赶上,但它看起来像不会发生在2018年或以后,根据他们的github readme status。目前没有计划在2017年底之前。

Materialize优点和缺点

  • PRO:有关物质化的好处是,您键入的内容就是你得到的,这意味着你把你的角模板的HTML和CSS是究竟如何它将在浏览器中,这意味着它很容易与CSS样式。

  • CON:关于materialize的坏处是需要jquery,这意味着在使用angular时需要特殊的设置。如果您使用的WebPack,它很容易使用提供插件

例子:

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

自动使可用的jQuery使用它的每一个模块中,所以它真的不是一件坏事毕竟。

  • PRO:的另一个好处是,它容易移植您的HTML/CSS从一个项目到另一个,因为它只是HTML和CSS,没有自定义指令。因此,如果您想从角度切换到反应,或者转换为纯html,那么使用Materialize可以轻松实现所有标记和样式。

  • PRO:非常发达,但很多部件,大量的款式,许多功能,真正给一个专业抛光到你的应用程序

  • PRO:很好的文档和很好的例子。

  • PRO:开发商是非常敏感的问题,GitHub的和永久居民

MaterializeCSS得分:+4

Angular Material优点和缺点

  • PRO:好东西就是它的内置棱镜,所以它有自定义指令的棱角风格。但是,这也需要设置,因为您必须导入模块,但这与任何角度模块没有区别。

  • PRO:开发商也非常敏感到GitHub上的问题和永久居民

  • CON:约角材料坏事是它翻译所有这些自定义指令到自己的HTML和CSS,这我发现可以很难覆盖和定制,但并非不可能。

  • CON:另一个坏事是代码它不便携。它只适用于angular2 +,所以你不能用这个来切换框架。所有标记和样式都卡在角度上。

  • CON:在成熟之前需要更多的进步,并且可以提供完整的材料体验。

  • CON:文档不佳。这些例子是有限的,关于例子的解释很少,没有给出每个例子可以做什么的选择,最好混淆。

角材质得分:-2

在此基础上简短分析,在我看来,Materialise的是,要在9月2017即使在使用Angular2 +应用程序的方式。我一直在我的角度4应用程序中使用Materialise,它效果很好。我希望这有帮助。

+0

注意:有AngularJS Material,对于angularJs –

5

去实现。

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

角材料还没有那么多的组件。实际上对于某些组件,它甚至没有适当的例子。

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

+0

这太奇怪了,它们都是谷歌产品,但它们仍然不能正常工作,就像firebase和angular一样,它很混乱 – Ruben