之间的区别是什么一个框架和一个SDK?采取,例如,MS平台SDK。净框架。两者都有API的,这两个隐藏自己的内部运作,并且两者都提供的功能可能不够快速/方便,否则(换句话说,他们为一个真正的世界的目的)。

那么,有什么区别?是它主要是一种营销游戏的语义,或者是有实际差别在于如何开发均预期的互动软件(和相反地,开发商可以预计的软件的行为)?是一个预计将更高或更低的级别比其他,等等?

谢谢!

编辑:这个问题适用于软件开发工具包和框架,在一般情况下,不仅仅是两个以上提到。

有帮助吗?

解决方案

SDK应该提供针对特定系统资源或功能进行编程的工具。一个框架不一定(虽然.NET提供了一整套工具,如编译器等 - 但这些工具对于它无论如何都是必须的。)

因此,您可以开发一个仅由库组成的框架,但如果您将其称为SDK,则需要提供支持开发的内容。

其他提示

我只是复制从维基百科:

图书馆:

图书馆收集的子程序或类用来开发软件。库包含码和数据,提供服务的独立程序。这使代码和数据共享以及改变了在模块方式。

框架:

一个软件框架,在计算机编程,是一个抽象的概念,在其中共同的代码提供的通用功能的可选择性地复盖或专门通过用户代码提供了特定的功能。框架相类似的软件库,因为它们至关重要的抽象的代码被包裹在一个良好的定义。不像图书馆,但是,整个程序的流动的控制并不是决定调用者,但是通过这一框架。这倒置的控制的区别特征的软件框架。

SDK:

一个软件开发工具包(SDK或"开发")通常是一组发展工具,允许一个软件工程师创造应用某个软件包,软件框架,硬件平台、计算机系统、视频游戏机、操作系统或类似的平台。可能一些简单的应用程序接口在形成的一些文件界面对一个特定的编程语言或包括复杂的硬件进行通信的某些嵌入式系统。共同工具,包括调试艾滋病和其他公用设施往往表现在一个IDE。软件开发工具包还包括经常的代码样本,并支持技术票据或其他证明文件,以帮助澄清一点从主要参考材料。

所以:

  • 图书馆是代码应用程序的呼吁。
  • 框架是一个应用程序或库几乎已经准备好作出的。你只需填补一些空白点与自己的代码,该框架的呼吁。
  • SDK是一个更大的概念,因为它可以包括图书馆、框架、文件、工具,等等。
  • .净是真的更像一个平台,不是一个软件的框架。

总之差别是:

  • 你叫SDK功能。
  • 该框架呼叫你的功能。

一SDK就像是一个"工具箱",有很多的工具并选择其中的使用以及如何。你必须控制,但也有很多的决定作出。这是相当低的水平。

一个框架,使得很多的决定为你,所以你不需要重新发明轮;它更是一个"填补空白"的方法。小的自由,但是你救了很多时间和可能避免一些错误。

在特定情况。净框架,它也指的是运行时所需的文件应用程序的运行使用它但是它不是一词是用一种编程方面...

这是一个灰色区域,但Frameworks往往是您编写代码的库,SDK通常有额外的工具来帮助您从框架中获得更多。作为单独安装的.NET Framework SDK的一个很好的例子,SDK有额外的工具,如ildasm,cordb,它们实际上不是框架的一部分。

我是导致上 Zend框架 通过其1.0释放。我们往往有意见,这是不是一个"框架"在这个意义上,预期开发人员--他们说这是更多的一类图书馆。

他们期望一个框架,更像是一个组类, 必须 能一起使用为他们工作。框架还可以包括一套编码的公约,引导你去组织你的代码一定的方式。还有一个框架,可能对命名惯例的课程和数据库的实体。最后,代代的工具。

Zend框架的设计是松散耦合的,所以你可以使用的任何类独立的,如果你想。它实施几个公约上你的代码或是你的数据库。我们已经打算制定代码的发电机,但没有实现它们。

但我仍然认为,Zend框架作为一个合格的框架,而不是一个SDK,在一个其他的方式:一框架是 可扩展.它旨在作为一套面向对象的基类,并旨在使用的是开发人员无论是 extend 这些课程,或编写简单的插件类,添加功能。

一个传统的SDK 不可扩展.你只需叫API的方法在所提供的课程,他们做什么他们这样做,并处理的结果。任何自定义中使用的API和如何使用的结果。

开发人员可以使用Microsoft SDK来创建他们的程序。最终用户通常不需要它。

如果要在计算机上运行.NET应用程序,则必须使用Microsoft Framework。

类库提供的类通常共享相同的粗略应用程序区域(数学,渲染),但主要用于彼此独立。

框架提供的类一起构成了一个只能扩展和充实的应用程序的基础。

SDK包含使用SDK提供的技术所需的一切。它通常包含dokumentation,示例和工具以及实际的核心内容,可能是框架或类库,甚至是完全不同的东西。

在一次比较中,您可以说:
图书馆 - >框架 - > SDK结果 框架由几个库和一些工具(编译器等)组成,并不针对特定平台。对于一个平台,可能会开发几个框架,每个框架都有不同的用途。 SDK为您提供框架以及为特定平台开发软件所需的一切。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top