无论是在家里使用预制菜包做一顿大厨级别的晚餐,还是使用IKEA套组装配出时尚的北欧风桌子,我们都熟悉这样一种概念:比起完全从零开始,使用工具包可以帮助我们更快、更高效地完成一件事。
在速度至关重要的商业软件领域,软件开发工具包(SDK)提供了标准化、易下载的基础平台,让开发人员可以在现有平台上构建新的应用程序。
例如,Apple希望吸引开发人员在iPhone平台上构建移动应用程序,Google希望开发人员在Android平台上构建移动应用程序。每家公司都创建了自己的SDK,目的是让开发人员尽可能轻松地编写在其平台上运行的应用程序。同样,所有大型软件供应商(比如Microsoft)和主流线上平台(比如Facebook)都创建和提供自己的SDK。
随着车辆架构的软件定义程度越来越高,用户体验更加个性化,对汽车SDK的需求变得清晰起来。汽车制造商没有将整个车辆的功能分散在高度专业化的电子控制单元中,而是将相关的功能整合到强大的域控制器,最终这些控制器很可能成为开放的服务器化平台,正如安波福在智能汽车架构SVA通过创建汽车SDK轻松支持OEM和其他第三方在这些平台上开发解决方案,我们可以激发大量创新,为有关各方创造价值。
工具包中有什么?
一般而言,SDK包括便于开发人员创建应用程序的构件、框架和工具包。它通常包含配置数据、文档、软件库、代码示例、构建自动化工具、代码编辑器、调试器、指南和程序,用于为该特定平台开发应用程序。
SDK 还包括应用程序编程接口(API)。API也称为 "挂钩" ,让软件组件彼此之间可以轻松地通信。所以,SDK帮助软件开发人员编写应用程序,而SDK中包含的API提供应用程序互连以及与平台连接的机制。
复杂环境让SDK变得更为重要
在简单的环境中,应用程序开发人员也许能够使用一个SDK来编写应用程序,但如今的应用程序过于复杂。可以想象这样一个电子商务应用程序:有些代码在云中运行,其他组件在本地运行,从多个源提取数据,查询数据存储,并连接到支付验证和发货应用程序。一个复杂的应用程序可能需要多个SDK,每个SDK都能帮助开发人员在开发过程中节省一部分时间和精力。
车辆架构正朝着同样的复杂程度发展,车辆上运行的软件潜在性地定期与车辆中的其他应用程序通信,或通过无线通讯与云中的其他应用程序通信。要朝着更完整的移动应用程序生态系统加速发展,汽车SDK将是一个关键的要素。