我们将在 Angular 12 上创建一个新项目。我需要建议来选择 UI 框架。
我们有 Bootstrap 5、Angular Material 和 primeNg 选项。
我做了以下研究:
Bootstrap 5 适合初学者开发人员,并且响应迅速,但对于创建任何复杂的组件没有用处。开发人员必须手动完成。
Angular Material 非常适合主题化,并提供良好的小部件,但没有任何类型的内置图表和响应式支持。
PrimeNg 适用于简单和复杂的组件,它提供所有类型的小部件图表、复杂的网格、选项卡。它拥有所有的软件包和响应能力。但是,它不提供任何定制。
这是我所做的分析。
我们的要求是,我们不想创建不必要的复杂组件,这样我们就可以专注于支持现成组件的数据,并希望避免多个库。我们还需要 i18n 的支持和辅助功能支持。
如有任何建议或建议,我们将不胜感激。
我已经使用了你提到的所有 3 个库和其他库。我对你的观察的看法。
Bootstrap - 浪费空间,非常老式且无聊的外观。它的网格系统使它出名,但 CSS 网格现在意味着它是多余的。
Angular Material - 专业组件,但定制和过于复杂的标记可能会成为真正的痛苦。例如,如果您想在日期选择器模式中添加自定义按钮,那么您需要一个学位和 2 天的时间来添加它们!如果你没有做任何超出正常范围的事情,那么这是可以忍受的。
primeng - 不错的库,易于集成,但几乎没有可用的定制。此外,组件可能不一致。例如,一个可能要求您使用 CSS 设置宽度样式,而下一个则提供宽度输入属性。此外,版本之间的升级确实会破坏应用程序的外观和感觉。
尽管我讨厌它(我真的很讨厌),而且我真的很恼火,因为顶级 Angular 库使用起来非常痛苦(真的很痛苦),而且由于缺乏像样的竞争,我会推荐 Angular Material。
但是,如果您想要一些其他想法,请查看新星。
特别是NG-ZORRO,非常受欢迎。然而,就我个人而言,它也遇到了与 primeng 类似的问题。
总而言之,组件库应该可以满足您的大部分需求。然而,总会有一些额外的古怪的事情需要你实现,对于这些一次性的事情,通常必须有专门针对该特定领域的额外库。
如果您的客户或组织准备购买高级版本,您可以使用 kendo 控件,它为您提供网络和移动响应控件。
使用kendo控件,您还可以添加bootstrap 5以进行其他CSS更改。
有了这2个框架,就可以满足你的需求了。
希望能解决您的问题。