it-swarm.cn

库还是框架还是API?

库,框架和API有什么区别?在我看来,它们都一样。我想听听人们对此的想法。

33
Bob Dole

库是为特定目的服务的功能/对象的集合。您可以在各种项目中使用库。

框架是模式和库的集合,以帮助构建应用程序。

API是其他程序无需直接访问即可与您的程序进行交互的接口。

换句话说,将库视为应用程序的附件/片段,将框架视为应用程序的框架,将API视为该应用程序的外向部分。

35
GSto

到目前为止,答案很好,但是它们错过了一个关键点-框架使用 IoC 。您的代码被框架包围。它生活在里面。相反,您的代码仅使用库或API。它住在外面。 IoC是不同的。

14
Scant Roger

库是为执行常见任务而构建的代码的集合。库代码往往相对稳定且无错误。使用适当的库可以减少需要编写的代码量。它将倾向于减少应用程序的代码行数,从而提高功能交付的速度。在大多数情况下,使用库例程比编写自己的代码更好。

API(应用程序编程接口)是某些功能的接口,该功能允许应用程序访问可用功能。 API可以被称为接口。 API存在于许多级别,包括系统,库,框架,程序和应用程序。应该在实现实现API的代码之前定义API。

尽管应该出于各种原因弃用部分API,但API应该保持稳定。 API使用得越广泛,更改它就越困难。即使不是全部,大多数Java 1.0 API)仍然可用,尽管已经淘汰了许多方法。

框架是旨在简化应用程序构建的API的集合。框架提供了可重用组件的实现。好的框架往往专门用于它们的应用程序。

Java集合框架是各种类型的对象的API的集合,可用于处理集合。它提供了各种集合的API的层次结构。Java Collections Framework的SortedSet接口扩展了Set接口,而Set接口又扩展了Collection接口。这些API是抽象接口,实际的实现具有不同的名称。CollectionsFramework使实现Collections变得简单,并简化了开发过程中不断变化的实现。

框架可以由较小的框架构建,如Java)针对J2EE开发的Spring框架所示。Spring由十几个框架组成,其中许多框架可以单独使用或替换为其他框架。构架。

使用适当的库,API和框架可以简化开发。这些组件负责处理常见问题,并允许开发团队专注于特定于应用程序的问题。

3
BillThor

框架是从库升级的。如果您的工具箱是一个库,那么您的研讨会将是一个框架。

维基百科说

API是一种抽象,描述了与软件系统组件所使用的一组功能进行交互的接口

API和用户界面之间的重要区别在于,API使其他软件/服务可以通过编程方式与您的解决方案进行交互。

可以为应用程序(通过dll或插件)或网站和服务(通过REST和webservices))构建API

2
Homde

去图书馆开始读书。如果您是应用程序,那么书籍就是图书馆。架子,橱柜和容纳所有这些的化合物构成了框架。 API是您执行阅读书籍任务时接触到的所有东西。

1
explorest

API根据可以从源中使用哪些对象和方法来定义如何使用其他内容。例如,将Twitter或Facebook集成到站点中使用Twitter或Facebook中的API来确保更新正确的数据。

从某种意义上说,框架往往会比较庞大,因为有时它几乎可以形成自己的语言。 jQuery是一个框架示例,该框架具有自己的语法,并且在某种意义上在进入我的代码方面更具分量。框架也可以是使它们在某种意义上类似于API的平台。 Win32API或.Net Framework每种都有许多用于构建应用程序的方法,因此可以有其中包含API的Framework和也被视为Frameworks的API。

库通常是实现API或框架的二进制文件,因此在某些情况下它们是必须使用API​​或框架的位。至少这就是我如何看待这些术语以及它们之间的差异。

1
JB King

该应用程序是使用基于框架的库开发的,并通过API进行通信。

如果您在构建应用时说一个在线图像处理应用,

  • 您可以使用一些预先编写的图像处理库。
  • 在任何您知道的框架上,它将指导您构建应用程序。
  • 您将为应用程序提供某种与外界交互的方式。这就是您与世界其他地方的应用程序API。

当有电话打入您的应用程序时

  • 它会以您在框架指导下的设计方式进行处理
  • 处理图书馆携带的电话
  • 这些功能将通过您的API从外部访问

给主叫人

这些存在的原因:

  • 库:避免您重新发明轮子
  • 框架:除非框架本身存在缺陷,否则可以避免系统设计和处理的意外陷阱
  • API:通过与现实世界的访问接口核心来确保应用程序的安全性
0
ganesh

库是用于简化常见任务的代码集合-它可以是类,函数或特定于您的语言或平台的任何东西。一个很好的例子可能是一个字符串处理库,它为常见任务(构建,拆分,搜索或排序字符串等)提供帮助。

API(应用程序编程接口)是如何与另一个应用程序,系统或技术一起使用的定义(“接口”)。它实质上定义了可用于与该其他系统进行交互的操作。 API可以是库(意味着该API包装在一个库或一组类中),但是区别在于API始终引用一个外部系统-无论是数据库,Web服务,另一个应用程序还是操作系统本身。

框架是一个较大的概念-它通常包含许多库和API,以执行常见任务。它在较高的概念层次上存在-它不仅是工具的集合,而且是设计模式,最佳实践和方法的集合。软件框架是通用 framework 的扩展-它的含义包括作为构建事物的基础,提供支持和结构以及为需求提供指导和定义。

0
Kirk Broadhurst