如何选择框架

2018-08-15  本文已影响105人  linc2046

框架的目的

我相信第一个而且是最明确的问题应该是: 框架应该做什么?

但这个问题会因为偏好另一个框架而忽略,或者纯粹是懒惰或者其他原因。

因为采用某种框架比其他框架更容易解决特定问题。

就像用 jQuery 处理数据结构,关键是什么?

如果你终极目标不清晰,不知道最终实现,本文对你搜索各种框架不会有任何帮助。

我们对于框架的需求越具体,找到框架的机会就更大。

选择框架时我该考虑哪些

时间选择

纷繁世界,时间就是金钱。

当选择框架时,时间因素非常重要。

因为不花时间学习、测试和使用框架写代码,直接使用框架没有意义。

我们经常没有时间交付项目,同时引入新框架几乎肯定会导致延期。

因此考虑时间计划之前,我们必须检查使用框架编写代码的质量。

不仅仅是编写代码的时间,还有代码的复杂度,可能会带来一些时间消耗。

复杂度也会影响后续可维护度。

写的代码越多,后续维护会变得更难。

让我回想编程的基础原则: e = mc2, 错误等于代码数量的平方。

技术属性和特性

技术框架的选择会受到技术层面的影响,你会在技术文档上面找到优秀跑分结果和描述。

不要被欺骗了,因为确定性能是否达到预期最好的方式很简单就是: 测试。

但是,如前面所提到的,由于时间的限制,框架测试会很费时难以实现,这里选取最重要的技术特性进行讲解。

框架是否适合我们既有的或者希望实施的类型结构?

采用满足特定任务设计的框架,相比根据需求设计自己的框架,会更容易。

性能方面是否有提升?一切看起来很好,但是如果最终性能更慢,会怎样?

如果选择前端框架,检验其跨浏览器兼容性十分重要。

最后你需要了解基础知识:为了正确选择框架,你需要了解基本知识和需求以便完全理解框架。

当你选择某个框架时,显然你需要知道关于框架的知识。这意味着你需要知道框架的目的。

如果你没有了解基础知识,学习一个你不能完全理解的框架就会没有意义。

社区参与

框架的使用者让框架值得考虑?但我们如何确定框架是否活跃社区?

有很多不同因素可以让我们某些技术的社区参与度?

这些只是考虑社区参与度需要考虑的一些问题。

流行框架的优点有哪些呢?

活跃社区会提供大量技术文档,可以减少研究和学习的时间。

另外如果你就职的公司正在壮大,会更容易找到会用流行框架的人才。

但活跃社区不是框架最重要的方面,我们需要时框架解决我们的需求。

我们应该问我们自己除了社区参与之外的问题:有多少人实际在生产环境中使用技术?

找出谁使用某项技术十分容易,创建者经常会提到使用框架的公司以及他们如何使用框架满足需求。

框架的开发团队一般会发布功能规划的路线图,所以检验他们的想法,如果没有任何计划,应该引起警示,

我们不知道如何处理或者他们不再支持框架开发。

框架的结果

最终确定选择之前,我们应该花时间思考选择框架在开发环境可能出现的结果。

记住如果你是团队开发,其他人学习框架会更难。

其他人需要多久熟悉框架以及全力投入学习?

他们在学习之前需要知道其他知识吗?

一切起初是很美好的,但如果你不考虑本文中提到的问题,做出自己的选择,未来你将会不得不面临你自己选择的结果。

选择应该是经过深思熟虑,多次讨论,以及确定团队考虑框架最重要的点以及思考方式。

总结

世上没有魔咒课可以保证完美而不失败的选择。

一篇好文并不能保证最正确选择,因为错误总有机会不期而至。

但记住:

我们不是为了选择最好的框架,而是最适合的框架

译者注

上一篇下一篇

猜你喜欢

热点阅读