跳转至

定义平台、框架与工具包

原文链接: https://www.nv5geospatialsoftware.com/Learn/Blogs/Blog-Details/defining-platforms-frameworks-and-toolkits

22198 给这篇文章评分:

2.8

定义平台、框架与工具包

匿名 2013年10月10日,星期四

随着围绕如何开发和部署地理空间情报(GEOINT)应用的讨论日益普遍,我经常被问及有关支持应用开发和部署的平台、框架和工具包的问题。这些术语经常被混淆,因此我着手寻找一些定义和区分。这些概念之间存在显著的重叠,并且这些术语常常与各种限定词互换使用。以下是我尝试提炼和定义它们的简短总结:

平台 传统上被定义为硬件架构和底层软件(包括操作系统和运行软件应用程序所需的基本运行时库)的组合。简单来说,平台就是软件应用程序运行的地方。例如,一个基础平台可能是 Red Hat Linux 和 Java。Windows 也是一个平台。

随着工具和技术的发展,平台也在演变。如上所述,这个术语的使用很简单,但它也被用来定义一个可能包含框架(见下文)的强大环境,该环境用于开发应用程序,包括用于构建和部署应用程序的工具,以及一个促进应用程序托管、发现、访问和使用的基础设施。这些强大的平台有时被称为 生态系统,它提供了一个完整的环境,既支持应用程序开发者也支持最终用户。这些生态系统利用了底层的硬件和软件平台。ENVI/IDL 和 ArcGIS 就是生态系统。

框架 是一个定义明确的环境,它暴露了一组例程、函数、算法或应用程序,可用于开发新的应用程序。框架,有时称为应用程序框架,用于构建应用。框架,或至少其中的一部分,会被包含在完成的应用程序中。除了用于构建应用程序的函数外,框架通常还包括创建应用程序的结构、构建应用程序可执行版本的工具,有时还包括部署或运行应用程序的机制。

框架加速了应用程序开发,因为框架中包含了一套基础工具集,因此开发人员只需编写自定义代码以满足应用程序需求。框架附带的环境也简化了构建应用程序结构的工作。有时,框架被称为应用程序框架。术语 开发平台软件开发平台 也用来描述框架,这也是造成混淆的部分原因。.NET 和 Ozone Widget Framework (OWF) 就是框架。

工具包 是一组函数或例程,它们被整合到其他应用程序中以简化开发。如果这听起来很像框架的定义,那确实非常相似。工具包本质上是框架的“小兄弟”。工具包只包含被整合到应用程序中的例程或函数。它们不提供框架中常见的开发和部署环境或基本的应用程序结构。工具包通常被称为 SDK,或 软件开发工具包。术语 API,即应用程序编程接口,可以用来定义如何调用工具包中的工具。工具包可以作为源代码交付,也可以作为二进制库交付,例如 Windows 上的 DLL。当工具包以二进制形式交付时,API 尤为重要。这是开发人员知道如何从其自定义代码中调用这些工具的途径。

我并不声称已经找到了所有可能的定义,但我希望这些定义能有所帮助。请告诉我您是如何定义这些术语的,以及您还遇到过哪些其他的模糊之处。

SAR Applications: Now in the Mainstream Science Stalls During Shutdown