回答
这一直是我的理解,你无疑会看到关于这个问题的不同意见:
API(应用编程接口) - 允许您在一个独立的FASION一个已经具有一定功能的应用程序使用的代码。
框架 - 为特定任务/应用程序类型(通常以设计模式的形式)提供基类和接口的代码。 (但不总是)
图书馆 - 相关代码,可用于在组件级完成任务, - 可以进出随意调换一处一流水平的
工具包来完成任务相关的代码。
这些术语有时会互相错误。
类似的帖子,阅读:
What is the major difference between a framework and a toolkit?
Framework vs. Toolkit vs. Library
我更愿意称之为一个库作为模块或命名空间的别名。工具包和A.P.I.通常是一组共同任务的库。 Altought,A.P.I.比面向对象编程更多地用于程序编程。
我更喜欢以下:
- 的API是如何使用的应用程序的抽象描述。例如,API可能会描述聊天服务器的函数语法(声明)。即login,publish_message,subscribe_messages。并且,它描述了使用该应用程序的任何协议。即在发送或接收消息之前必须登录,或者如果不发送或接收消息,则在2分钟后丢弃客户端。
- 库是一个API的实现,它包含实现函数和协议(维护使用状态)的编译代码。
- 工具包是一组库(API)和服务组合在一起,为开发人员提供更广泛的可能解决方案。例如,Globus Toolkit提供了开发人员可以在其服务器上安装并启动的服务(如文件传输,作业分段和调度)。他们还提供API来构建可能使用以集成方式部署的服务的应用程序。例如,开发人员可以构建一个使用作业提交API与作业提交服务进行通信的程序。
- 框架是一套防止不当使用或发展的指导方针。开发人员必须在框架的规则和边界内构建他们的应用程序。这是通过迫使开发人员扩展当前框架来开发新软件来完成的。通过扩展框架,你强迫对框架的坚持。
我不是说这些是完全正确的,但它迄今为止工作正常!
A API(应用程序编程接口)是一个术语,表示库中的函数/方法,您可以调用它来请求它为您执行操作 - 库的接口。
A 工具包就像一个SDK--它是一组工具(通常是代码库),您可以使用它们使访问设备或系统更加轻松。
A 框架是一个大型图书馆,提供许多服务(而不是像大多数图书馆那样只有一个专注的能力)。例如,.NET提供了一个应用程序框架 - 它提供了大部分(如果不是全部的话)你需要编写大量应用程序的服务 - 所以一个“库”为你需要做的几乎所有事情提供支持。通常,框架提供了一个基础,您可以在其上构建自己的代码,而不是构建使用库代码的应用程序。
A 库是一段代码,您可以从自己的代码中调用,以帮助您更快速/轻松地完成任务。例如,位图处理库将提供用于加载和操作位图图像的设施,从而使您不必为自己编写所有代码。
- 1. STL库vs JCF框架
- 2. 框架vs WebBrowser
- 3. ADO.NET vs实体框架vs LINQ vs .netTiers vs其他?
- 4. VS 2012上的实体框架入门工具包
- 5. Django vs ASP.NET MVC vs PHP框架 - 成本
- 6. Django vs GAE + Django vs GAE +其他框架
- 7. Servlets vs MVC框架
- 8. Yii框架vs Struts2
- 9. 纸VS画架VS面料VS动能
- 10. MVVM基金会vs MVVM工具包
- 11. 组合vs继承和GUI工具包
- 12. 在VS.2008中设置工具包
- 13. 框架Vs的划伤
- 14. ASP.NET AJAX框架vs jQuery
- 15. Turbolinks vs JS MVC框架?
- 16. Zend框架TDG VS主义
- 17. 打印VS Zend框架
- 18. zk ajax框架vs JBoss Seam
- 19. Subsonic 3 VS实体框架
- 20. TPL vs反应框架
- 21. 实体框架Vs的MVC
- 22. 实体框架VS Ado.net
- 23. 实体框架vs Spring.NET
- 24. 实体框架4 vs NHibernate
- 25. Phaser框架,这个vs var
- 26. 实体框架EF.Functions.Like VS string.Contains
- 27. Dojo dijit框架vs一些CSS框架
- 28. 第三方框架vs私人框架?
- 29. vs vs 2008 vs vs 2010
- 30. VS 2008 RTM的实体框架工具(.net 3.5 sp1)