Jump to section

什么是 SDK?

复制 URL

软件开发套件(SDK)是通常由硬件平台、操作系统(OS)或编程语言的制造商提供的一套工具。

SDK 可协助软件开发人员面向特定的平台、系统或编程语言创建应用。它就像是您购买梳妆台时随板材一同提供的工具包,让您能够自行组装,只是对象是应用开发而已。您所需的构建块或开发工具它都有,而具体所含的内容则因制造商而异。 

一个基本的 SDK 通常由编译器、调试器和应用编程接口(API)组成,但也可能包含以下任意内容:

  • 文档
  • 编辑器
  • 运行时/开发环境
  • 测试/分析工具
  • 驱动程序
  • 网络协议

优秀的 SDK 将为开发人员提供在为特定产品及其生态系统创建新应用时需要的组件。一些 SDK 还会包含示例或基本测试项目,帮助开发人员尽快上手。

软件开发套件的示例包括 Java 开发套件(JDK)、Windows 7 SDK、MacOs X SDK 和 iPhone SDK。例如,Kubernetes Operator SDK 可以协助您开发自己的 Kubernetes Operator。它包含高级 API、用于创建框架和生成代码的工具,以及涵盖常见 Operator 用例的扩展。 

大部分 SDK 都包含 API,用于通过命令行在源代码层面上连接新型移动应用或项目。通常也随附示例代码,让开发人员可借助示例程序和库来学习如何构建基本的程序。然后,他们可以更加轻松地继续优化和开发复杂的应用,并根据需要进行调试和添加新功能。

一些 SDK 包含阐述 API 用法的文档,以及教程、常见问题和示例图解,因为开发人员有时需要一些时间才能学会使用新的 SDK。因此,直观易用的编程或用户接口(或详尽的说明文档)有助于鼓励开发人员选用某一家公司的特定程序,而非竞争对手提供的方案。

同样,SDK 也是帮助提供商向开发人员介绍自己的产品的利器,并能鼓励他们利用其平台或 OS 来创建应用,而这可以在一个集成开发环境中实时进行。所以,大多数 SDK 是免费使用的,开发人员只需下载就能立即开始编程。 

免费试用红帽 3scale API 管理

应用编程接口(API)是在数字化世界中实现敏捷整合,并创造商业价值的关键所在。红帽 3scale API 管理能让您轻松地管理 API。

一些 SDK 可能附有相关的规则或协议,必须同意并提交后才能使用,尤其是处于 Alpha 或 Beta 阶段的新产品,或者包含不对外公开(非开源)的算法的软件。SDK 也可能受许可协议约束,因此创建的软件有可能无法在不兼容的许可证下发布。

开发人员在挑选使用哪些 SDK 进行开发时应仔细考虑上述问题。例如:

  • 使用专有许可证的 SDK 不适合用于开发开源软件。
  • 具有通用公共许可证(GPL) 的 SDK 不能用于专有应用。
  • 利用较宽松公共许可证书(LGPL) 处理含有专有代码元素的项目时,应遵循相关的警告。 

开源应用不断成为业余和专业人士青睐的开发首选,因为它们的 SDK 能够用于编写新颖的设计和功能扩展,同时也便于与社区的其余成员共享。 

红帽汇聚了应用开发中出色的工具、解决方案和服务,而且采用开源方式。不论您是在寻找构建应用所需要的平台(红帽 OpenShift)或运行时环境(红帽运行时),还是开发、调试、测试和部署应用所需的各种工具,红帽都能满足您的一切需求。

 

继续阅读

文章

有状态 VS 无状态

要判断一个应用为有状态或无状态,取决于交互状态的记录时长以及该信息所需的存储方式。

文章

什么是 Quarkus?

Quarkus 是一个为 Java 虚拟机(JVM)和原生编译而设计的 Kubernetes 原生 Java 堆栈,专门根据容器而对 Java 进行了优化。

文章

什么是无服务器?

无服务器是一种云原生开发模型,可使开发人员专注构建和运行应用,而无需管理服务器。

详细了解云原生应用

产品

企业级应用平台,包含一系列久经测试的服务,可在您选择的基础架构上将应用推向市场。

相关资源

电子书

云原生遇到混合云:策略指南

电子书

云原生应用的构建之路

产品规格表

以更低的成本和复杂性加速应用开发

培训

免费培训

利用微服务架构开发云原生应用