我应该在我的Angular 6应用程序中使用Angular Material还是Bootstrap Material?

26

我决定使用Material Design创建一个新的Angular 6应用程序。

问题在于要使用哪个材料库呢?

据我所见,其他Bootstrap材料库也有它们自己的版本用于Angular,以避免使用JQuery。 (https://mdbootstrap.com/angular/)

为什么需要避免使用JQuery呢?它是否存在bug或者只是难以开发?

针对Angular的MDBootstrap有免费和付费版本。 我不喜欢免费版本,也无法使用付费版本。

在我的新Angular应用程序中,我真的需要使用带有JQuery的Material Design for Bootstrap吗?


这是一个与编程无关的问题。 - Overflowrun
9
但这是一个非常好的问题,现今时代尤其如此。 - Vladislav Guleaev
2
这个问题更多地是关于在Angular应用程序中使用JQuery时我面临的问题是什么? - Vladislav Guleaev
提出这样具体的问题是可以的。你可以为此创建一个新问题。你将面临的问题是,JQuery绕过了Angular模型更新周期的一些东西。 - Carsten
关于您的偏好,也许最好的选择是选择您更有经验的那个。 - Ferus7
显示剩余3条评论
4个回答

15
如果你要使用Angular,一定要使用Angular Material。 它最初是用于Angular的Material Design实现。自Angular 6以来,Angular团队已将其集成到Angular发布计划中。
你会发现Angular的发布说明中讨论了核心功能和Angular Material的新功能。 Angular Material还集成到Angular CLI中,以使其更易于使用和升级(ng update)。另外,当您寻找示例时,您会发现比起Bootstrap的Material Design,有更多的Angular Material教程和资源可用。
我在一年半前开始使用它时,它只是另一个项目。今天,由于它被如此集成,我不会选择任何其他框架。

8

Angular Material搭配flex布局是一个非常好的选择。

  • 它与Angular-6非常兼容
  • 没有成本 - MIT许可证
  • 许多免费图标(无需麻烦地集成它)
  • 非常好的文档
  • 伟大的社区

我也尝试过与bootstrap一起使用,虽然可以运行,但是在集成时遇到了一些问题。


Angular Material是一种强烈倾向于设计风格指南的材料。如果您需要在其上应用自己的样式指南,可以使用Material的行为和模式,以获得更加“原始”的东西:这就是Angular CDK的工作。即cdk-table与mat-table组件相同,但没有任何样式。因此,您可以仅使用cdk拖放版本而无需使用Material开销,并在其上应用bs4、tailwind、bulma或其他CSS来获得您的样式。 - netalex

6

这是一个有趣的问题,但我认为这首先是品味和个人使用的问题。

我认为Bootstrap现代化,而Material则更加优雅,但这仅是我的个人观点。

至于使用方面,我发现Bootstrap更容易自定义和完整。

我还指出其他库或多或少相似,我在Angular中使用了NgBootstrap: https://ng-bootstrap.github.io/#/home

Nebular: https://akveo.github.io/nebular/


3
星云看起来非常漂亮! - Vladislav Guleaev
ng-bootstrap 是取代 jQuery Bootstrap 组件的一个工具,它并非独立的 Bootstrap 工具包:在 Angular 中使用它仍然需要使用 Bootstrap CSS。ngx-bootstrap 是 ng-bootstrap 的克隆。 - netalex

3

Angular在任何情况下都不需要jquery,而jquery本身会创建许多架构问题,破坏生态系统。事实上,bs需要jquery来处理其更复杂的组件,这将在一个angular应用程序中创建不必要的代码负担,但希望最终能够无需jquery。如果您在angular项目中使用原始的bootstrap,则只需包含CSS文件以避免使用jquery,并且可以轻松地使用相应的angular组件替代jquery bootstrap组件提供的任何行为。ngx_bootstrap和其他项目通过提供常规的angular组件来替代jquery版本,做得非常出色。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接