选择语言
云原生应用
什么是 SDK?
软件开发套件(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 是免费使用的,开发人员只需下载就能立即开始编程。
需要考虑的方面
一些 SDK 可能附有相关的规则或协议,必须同意并提交后才能使用,尤其是处于 Alpha 或 Beta 阶段的新产品,或者包含不对外公开(非开源)的算法的软件。SDK 也可能受许可协议约束,因此创建的软件有可能无法在不兼容的许可证下发布。
开发人员在挑选使用哪些 SDK 进行开发时应仔细考虑上述问题。例如:
- 使用专有许可证的 SDK 不适合用于开发开源软件。
- 具有通用公共许可证(GPL) 的 SDK 不能用于专有应用。
- 利用较宽松公共许可证书(LGPL) 处理含有专有代码元素的项目时,应遵循相关的警告。
为什么选择红帽?
开源应用不断成为业余和专业人士青睐的开发首选,因为它们的 SDK 能够用于编写新颖的设计和功能扩展,同时也便于与社区的其余成员共享。
红帽汇聚了应用开发中出色的工具、解决方案和服务,而且采用开源方式。不论您是在寻找构建应用所需要的平台(红帽 OpenShift)或运行时环境(红帽运行时),还是开发、测试和部署应用所需的各种工具(红帽 CodeReady Studio),红帽都能满足您的一切需求。