通常,您如何选择在您的应用程序中使用的框架或库?它必须是开源的吗?它必须是商业广告吗?它是否必须积极开发,有文档记录,或者有一个漂亮的主页?如果您的语言本身支持某些功能,那么您选择第三方框架或库会是什么?
您的标准是什么?
答案 0 :(得分:10)
答案 1 :(得分:2)
如果有一个开源选项可行,我会一直选择,没有更好的支持,然后有源代码,并能够进行更改,以满足您的需求。 如果没有api文档,我不会浪费时间。
修改:@ Josh Brown评论
是的,我实际上必须对我使用的开源库进行更改。我在项目的第一个版本中使用了库,然后对下一个版本的要求要求我添加新功能。自己修改库更容易,找到支持新功能的新功能,然后修改我的代码以使用新库。
答案 2 :(得分:1)
稳定是最重要的。如果你做了你需要做的事情,如果你能搞清楚,那么唯一剩下的就是它是否稳定。
如果它有一个清晰的界面文档并不那么重要 - 如果它有一个糟糕的界面文档更重要。如果这是一个庞大的项目,可以用它做很多事情,并且你的预期用途可能会在未来发生变化(例如TineMCE),那么就需要一个积极的支持论坛。
Opensource确实有帮助但不是必需的。如果它不是开源的,则需要一个演示,以便您可以在购买之前编写所需的所有代码以便与它进行交互。
到目前为止,我见过的库中最酷的liscence方案是Js-Ext。如果你的申请是开源的,它是开源的;但如果你想通过你的项目赚钱,你需要许可证。
答案 3 :(得分:1)
对于C / C ++,非工具开发:
对于工具开发: - 这段代码让我觉得自己像个坏人吗?
答案 4 :(得分:1)
所需标准:
重要,但可能不是交易破坏者:
可选,很高兴:
答案 5 :(得分:0)
无论哪个对你正在进行的项目最有意义。没有严格的规则。这就像决定使用哪种语言编写的。
答案 6 :(得分:0)
答案 7 :(得分:0)
我会选择一个基于以下内容的框架:
它应该是开源的(在大多数情况下,这将确保它的质量)
它的文档应该存在,更新并且易于访问
它应该有一个良好的学习曲线
使用
答案 8 :(得分:0)
它必须没有运行时许可证费用:我的雇主(ISV)可以支付每个开发人员的许可证,但通常不是每个客户或每个最终用户许可证。
我必须能够支持它(这意味着我有源代码):如果供应商破产,不会修复错误,或者不会添加我们想要的新功能下一个版本。
答案 9 :(得分:0)
关于何时购买新组件而不是使用您拥有的组件
答案 10 :(得分:0)
答案 11 :(得分:0)
按重要性排序:
符合这些条件的一些项目:
答案 12 :(得分:0)
我想要的东西:
答案 13 :(得分:0)
我喜欢上面的tvanfosson答案。
文档不好或看起来不好的主页是关闭的,但不会像快速的错误代码或糟糕的API那样把我推开。
至于使用语言已经支持的第三方库,我使用jodatime库而不是Java的内置日期处理(我认为大多数人都同意sux。)我很高兴听到他们正在重做日期处理更多就像Joda的实施一样。