程序员在解决实际问题时通常会采用三种方法:使用框架、使用库、创建自己的解决方案。不过创建自己的解决方案是一项耗时且昂贵的任务,因此使用框架或库是比较常用的做法。那么在使用框架或库时,应该如何选择呢?
众所周知,框架是一种将用户编写代码保存在一起的编程抽象,是一个通用的,可重复使用的软件环境,它提供特定的功能作为大的软件平台的一部分,这有助于开发软件应用程序、产品和解决方案;而库则是一组对象,函数和方法(取决于语言),可以在多个应用程序之间重用和共享。
在使用框架或库解决问题时,我们需要考虑以下因素:
1、项目规模
在选择使用框架或库是我们必须要考虑到项目的规模。框架倾向于小型项目并不适合大项目,在框架的直接控制下难以修改应用程序的流程。
2、团队专长和规模
团队自身的专长和规模是选择框架或库的先决条件。一个框架通常会给专业知识较低的团队带来好处,为他们提供丰富的功能和发展方式,减少犯错空间。但框架比库的学习曲线陡峭,采用陌生的框架来加快开发速度也可能会感到困难。在这种情况下,库可能是一个好的选择。而框架适用于较小的团队和较紧凑的期限,因为它提供了很多开箱即用的功能。
3、社区/商业支持
框架/库周围如果有一个活跃的社区或良好的商业支持,可那会是一个不错的选择。
4、安全性
一个很好的经验是在选择外部工具时,要检查它有多少安全补丁以及严重程度, 尤其是短期的安全补丁,补丁越多,表明稳定性越差。
5、技术锁定
有些公司会提供与其他框架或库紧密耦合的框架,但是这些生态系统往往对新的技术和方法支持很慢。