如何选择正确的UI组件库

513 阅读7分钟

适合你的可能不是别人都在用的那一种

使用组件库而不是自己编码,对任何项目来说都是一个伟大的时间节省者。它允许你专注于建立你想要的东西,使用预先设定的基本构件列表。

这相当于拿到一套乐高积木就可以立即开始玩,而不是先3D打印所有的部件,然后再开始玩。

虽然第二种选择可能会给你一种成就感,因为你是自己做的,但它会花费你更多的时间和精力。而且很可能在制作的过程中,你会发现你还需要更多的部件,所以你不得不回去打印更多的部件。

所以,是的,使用预定义的组件库肯定是十有八九的办法。

但你如何为你的项目挑选合适的?它们都是一样的吗?让我们来看看组件库的属性和特点是什么,在为你挑选完美的组件库时,你要注意这些。

谁在背后支持它?

这就是说,我们谈论的是一个由单一公司建立并主要由其维护的库?还是我们谈论的是一个社区的努力?

如果你关心这个库的未来和发展,这就很重要。如果你想把它作为你公司未来几年的标准,那么你就会希望它能够随着行业的发展而发展。对我来说,这听起来应该是社区驱动的东西,或者至少是有一个大社区和一个大公司在背后支持的东西。

比如说,开始使用Base Web,这是Uber的组件库,在Github上有将近8千颗星,背后有一个相当大的公司,这和开始使用一个由单个开发者建立的、没有真正用例的小库是不一样的。

不要误会我的意思,这只是一个标准,你最好用多个标准来做最后的决定,但是如果支持和可靠性对你来说很重要,那么你就会想用流行的库。

你怎么知道这个库背后是否有一个大的社区?有几个选择:

  • 如果它是开源的,你会很快找到他们的Github repo,检查一下,查看他们的问题,并看看他们有多少颗星。这些都是人们喜欢它和人们积极使用它的好指标。
  • 如果它不是开源的,那么你将不得不审查他们的页面。看看他们提供了多少文档。寻找一个Discord服务器或Slack频道,如果你找到了就加入他们。这样你就可以直接评估他们的社区有多活跃。
  • 在谷歌上搜索一下这个图书馆。人们在写关于它的文章吗?或者你几乎找不到任何结果?这也是它受欢迎程度的一个很好的指标,如果没有人写它,那么它可能还没有被广泛使用,所以你可能想暂时跳过它。

使用的方便性

最后,一旦你把它们安装到你的项目中,大多数库的使用方法都非常相似。但是开始使用库可能需要一些额外的努力。

这就是你要看的东西:

  • 安装步骤是什么?
  • 我是否需要安装额外的依赖性来使其工作?(Bootstrap, I'm looking at you!).
  • 他们文档中的 "入门 "部分对你有用吗?虽然这听起来很傻,但你会惊讶于有多少次这个部分对项目来说是过时的,然后将库安装到你的项目中的简单任务需要4倍的时间。这不是一个好的指标,特别是因为如果该团队不能保持这部分文档的更新,谁又能说其他部分也是呢?过时的文件就像没有文件一样。

基本上,任何需要超过一行代码才能安装的东西都会显得很可疑。如果他们确实需要更多的步骤,请确保这些步骤有正确的文档,如果它们不起作用,就跳过这个库。

可扩展性+许可

如果在使用这个库一年后,你发现你需要一些他们不提供的组件,会发生什么?你可以采取两种潜在的途径:

  1. 一方面,你可以发送一个带有新组件的PR。这样一来,整个社区都能从新的组件中受益,而且他们能够随着库的其他部分的发展而发展这些组件,而不需要你去维护那段代码。
  2. 另一方面,你可以创建你自己的库,以第一个库为基础,并在上面添加你想要的任何新组件。你甚至可以把它作为一个附加库提供给公众。

这两种选择都是在库可以被扩展的情况下进行的(通过开源和正确的许可类型),或者如果它们是闭源的,但它们的许可允许其他产品在它们的基础上构建。

记住,这是在你为你的工作选择一个组件库的情况下。意味着要考虑到法律问题,仅仅因为他们的代码在Github上,并不意味着这是一个自由发挥的类型。你需要仔细研究他们的许可,以确保你不会因为选择了一个不允许你扩展的库而把你的双手绑在背后,如果这是你想做的。

受欢迎程度

就其本身而言,我建议不要用这个指标来选择作为你整个项目的骨干的组件库。但如果你把它与这里提到的其他标准结合起来使用,那么它可能会派上用场。

流行度仅仅意味着了解人们有多喜欢这个库。就像我谈到的确保你选择一个背后有大公司或大社区的库一样,你会想:

  • 检查他们的Github星级,如果有这个可能的话。
  • 如果他们在Github上,检查他们的问题页。他们是否在积极工作,是否有很多问题被报告?问题数量多并不是一个坏兆头,事实上,这意味着它足够受欢迎,许多开发者希望它能正常工作。
  • 在谷歌上搜索他们的名字,看看人们对它的评价如何。

一个库受欢迎的好指标是有很多来自世界各地的开发者提供的教程。不过要小心,确保这些结果是最近的,因为你也可能偶然发现一个多年未被使用的库。你可以通过查看搜索结果的日期很容易看出这一点。如果你在谷歌前几页找到的大多数教程都是2、3年前的,那么也许可以考虑寻找另一个库。

如果你找到的所有教程都是过时的,那么你一发现这个库有问题--因为有可能如果它是过时的,它就不能在最新的开发环境下工作--你就不会在周围找到什么帮助。

留意这个细节,如果库是旧的,不要害怕否定它,我们的行业发展相当快,现在流行的东西,很可能在2或3年后就不流行了。

总结

组件库很有用,可以为你节省大量的开发时间和麻烦。但是,如果你不按照一定的标准来挑选,那么挑选一个合适的就会变成一个问题。

因此,在你开始寻找之前,请确保你确切地知道你想从它那里得到什么,而且不要选择第一个出现在你面前的。在分析它们的受欢迎程度、可扩展性、文档和易用性时,要权衡几个选项并持批评态度。

说到这里,当开始一个新项目时,你最喜欢/最常用的组件库是什么?