如何选择一个框架
如何选择一个框架
原文:https://medium.com/hackernoon/how-to-choose-a-framework-ea8b5b1e1f44

前提:本文不会告诉你必须选择哪个具体的现有框架。 在这篇文章中,我想提出一些需要评估的关键因素,以便做出选择,并且不会后悔自己的选择。
对许多人来说,它们可能是显而易见的,微不足道的。
因此,我将尝试用几个简单的步骤来解释在为您的项目合理选择一个新的框架时需要考虑什么。
框架是为了什么?
我认为第一个也是最明显的问题应该是:“框架应该做什么?”但是这个问题往往因为偏爱另一个框架,纯粹的懒惰或者其他原因而被忽略。
因为使用一个为实现特定目的而创建的框架比根据我们的需要修改另一个框架更容易。
这就像使用 jQuery 来操作数据结构,有什么意义呢?因此,如果你的最终目标还不清楚你想要实现什么,这篇文章将无法帮助你寻找一个框架。
关于我们想要实现的目标,我们掌握的详细信息越多,我们做出的选择就越好。
选择框架时,我应该考虑哪些主要特性?
- 时机
- 技术属性和特征
- 社区参与
- 选择的后果
上述特性没有按照优先级或重要性的顺序列出,因为它们都是一个好的选择的四个关键。
显然,每个框架都会有一些起伏,但是这些点应该在了解事实的情况下准确地考虑进去。
时机
在这个匆忙的世界里,时间是至关重要的。
选择框架时,时间因素非常重要。为什么?因为没有时间去研究它,测试它和编写框架代码,奋斗是没有意义的。
我们交付项目的时间通常很短,引入新的框架几乎肯定会导致延迟。因此,就提前计划时间而言,我们必须检查这个框架让我们编写的代码数量。不仅仅是我们写它所花费的实际时间,还有你和你的团队所要写的代码的复杂程度,因为这也将会造成不小的时间损失。
复杂程度也影响到它的可维护性。所以你写的代码越多,以后就越难支持它。
再来提醒一下编程的基本规则: e = mc(错误=代码多^ 2)
技术属性和特征
框架的选择会受到技术方面的影响,会受到基准测试所产生的错觉的影响,也会受到框架文档中美好词汇的影响。
不要被愚弄,因为知道承诺是否真实的最好方法很简单:测试。
然而,正如前面指出的,由于时间有限,测试一个框架可能是我们负担不起的奢侈品,所以让我们从可用的信息中提取最重要的技术特性。
框架是否适合我们已经拥有的或者我们想要实现的类型结构?使用一个为特定任务设计的框架比根据我们的需要修改一个更容易。
在性能方面会更好吗?一切可能看起来更好,但如果它最终比蜗牛还慢,那还有什么意义呢?
如果我们选择前端框架,检查跨浏览器兼容性是很重要的(记住关于时间的部分)。
最后同样重要的是:知识。你需要知道基础知识:为了能够正确地选择一个框架,你需要知道基础知识和完全理解它的需求。当你选择一个框架时,你显然需要知道你在说什么。我的意思是你需要知道框架的目的是什么。如果你没有基本的知识,学习一个框架是没有意义的,因为你不能完全理解它。
如果你还没有准备好,学习基础知识,重新审视它。
社区参与
什么使得框架值得考虑?使用它的人。好吧,但是我们如何确定一个框架是否有一个活跃的社区呢?有不同的因素可以让我们了解社区对某项技术的参与程度:
- 有多少人在网上谈论它?
- 有多少人一直在用?
- 开发人员多久回复一次问题报告?
- 有多少拉取请求?
这些只是一些问题,可以为您提供一些关于社区参与的信息。
“响亮”和“拥挤”的框架有什么优势?活跃的社区大大增加了某项技术的文档,从而减少了研究和学习这项技术所需的时间。
此外,如果你工作的公司正在成长,鉴于该框架的受欢迎程度,找到熟悉该框架的员工会容易得多。
很好,社区是活跃的,但是拥有一个活跃的社区并不是框架最重要的方面,我们需要的是一个满足我们需求的框架。
一旦建立了社区参与,我们应该问自己的真正问题是:这些人中有多少人(如果是科技行业的大公司就更好了)实际上在生产环境中使用这项技术?
找出谁使用了某项技术并不容易,但通常创建者自己会提到使用该框架的公司,如果他们提到了,就检查他们是如何实现这项技术的,以及出于什么目的。
通常,这些技术的开发团队会发布他们未来计划的路线图,所以检查他们的想法,如果没有计划,这可能是一个警告信号,表明“我们不知道如何进行”,这意味着他们将不再支持这个项目。
选择的后果
在最终确定选择之前,我们应该花一点时间考虑选择新框架可能导致的后果,在您的开发环境中的。
记住,如果你在团队中工作,对其他人来说可能会更难学会。
你认为他们需要多长时间来熟悉它,你认为他们能花多少时间来学习它?他们应该在学习之前知道其他的事情吗?
一开始一切都很好,但是如果你没有考虑到本文中提到的几点就做出了选择,那么有一天你将不得不面对你选择的后果。
这个选择必须经过深思熟虑和多次讨论,以了解最重要的是团队是怎么想的,以及如何做的。
结论
没有任何魔法可以保证完美、可靠的选择。
一篇好文章不会使选择万无一失,因为总有可能出现意想不到的错误。
但是请记住:
不是找到最好的框架,而是找到合适的框架。
翻译:Fabrice Tshipamba



