SDK(英文:Software Development Kit,中文:软件开发工具包),是通常由硬件平台、操作系统(OS)或编程语言的制造商提供的一套工具。
sdk简介
编辑SDK(Software Development Kit的缩写,中文称为软件开发工具包,是通常由硬件平台、操作系统(OS)或编程语言的制造商提供的一套工具。一个基本的SDK通常由编译器、调试器和应用编程接口(API)组成,也可包含文档、库、编辑器、运行时/开发环境、测试/分析工具、驱动程序及网络协议等。
sdk的用途
编辑移动应用程序开发 | SDK为开发人员提供用于开发移动应用程序的工具、库和其他资源。这些资源包括用于调试、监控和优化移动应用程序性能的组件。开发人员可以构建UI元素、访问数据以及与第三方服务集成。借助SDK,开发人员还可更加轻松地在不同平台(例如iOS或Android)上部署应用程序。 |
Web开发 | SDK为开发人员提供构建Web应用程序前端所需的工具,例如HTML、CSS和JavaScript;同时提供各种后端资源,例如数据库、服务器端编程语言、框架和API。SDK还提供用于托管和扩展的部署工具 |
云计算 | SDK提供各种API库,用于连接云存储服务,或者用于访问数据库、分析或机器学习等云计算服务。开发人员使用这些API和库,采用其首选的语言与云环境集成 |
物联网(IoT) | 开发人员使用SDK创建与传感器交互的IoT应用程序,这样就能创建可以监控、收集和分析环境数据的应用程序 |
游戏开发 | 游戏SDK通常附带示例代码、教程和其他资源,以协助开发人员打造精彩游戏。3D图形库、音频库、物理引擎、人工智能库、联网库和开发工具都是标准的游戏组件 |
参考资料:
如何使用sdk
编辑使用SDK通常遵循三个步骤:
- 购买或下载特定平台的SDK,然后安装此SDK。
- 在集成开发环境中使用SDK开发应用程序。
- 利用SDK中包含的说明、文档、代码示例和测试工具进行高效开发。
sdk的优势
编辑开发高效
SDK通过提供可整合到应用程序中的预构建组件和库来提高开发效率。这些组件为开发人员节省以前从头开始编码和调试所花费的大量时间。
加快部署
SDK通过提供可让开发人员快速构建和集成应用程序的工具来加快部署。它们通常支持多个平台,可让开发人员在多个设备或操作系统上快速部署。
集成
SDK提供预构建的模块、组件、程序包和工具,供开发人员构建、测试和部署软件应用程序。它们简化开发和测试,以及与其他系统和服务、代码示例和教程、调试工具和代码库的集成。
节省成本
SDK减少开发应用程序所需的时间和资源。通过提供预构建的组件和工具库,SDK 可让开发人员快速构建特性和功能。SDK 减少创建新应用程序所需的时间和成本。它们还降低与部署和维护应用程序相关的成本,同时提供简化的安装过程和更新。
参考资料:
常见SDK类型及典型供应商
编辑知名SDK
软件开发套件的示例包括Java开发套件(JDK)、Windows 7 SDK、MacOs X SDK 和 iPhone SDK。
国内常见SDK及典型供应商
SDK分类 | 功能描述 | 典型供应商 |
广告类 | 提供广告展示和广告相关数据分析等功能,通过使用广告SDK,App提供者可以在App中展示广告商投放的广告,进而根据最终用户的点击赚取收益 | 广点通、力美、友盟、TalkingData、有米、多盟等 |
推送类 | 向用户推送各类消息、通知等 | 极光推送,个推推送,Mobpush,友盟推送,百度推送,云巴推送等 |
数据统计分析类 | 提供收集最终用户与App之间的交互行为的功能。根据用户使用App的情况,开发者可以有针对性地改进App | Appsee、Mixpanel、Google Analytics等 |
地图类 | 提供定位、优化路线、轨迹纠偏、图层绘制、AR、全景等功能 | 腾讯地图SDK、百度地图SDK、凯立德SDK、googlemap SDK等 |
第三方登录类 | 提供通过其他账号体系(如微博、微信、QQ)等第三方账号登录App的功能 | QQ互联、微信开放平台、微博开放平台 |
社交类 | 提供社交功能,如消息、分享、排行等功能 | QQ互联、微信开放平台、微博开放平台 |
支付类 | 提供付款、财务管理、分销等功能 | 微信支付、支付宝、百度钱包、银联、Apple Pay、Bmob支付SDK、万普支付SDK、Ping++ 支付SDK、Beecloud支付等 |
Crash监控类 | 提供App崩溃、App无响应、卡顿的数据收集与分析 | Bugly、Umeng、firebase等 |
人工智能应用类 | 人脸识别、人体识别、人像处理、文字识别、视频技术、AR与VR技术、语音或拍照翻译等等海量的功能 | 腾讯AI开放平台SDK、Face++旗下多款SDK产品、百度AI开放平台旗下多款SDK产品等 |
参考资料:
监管
编辑2020年7月,中央网信办、工业和信息化部、公安部、国家市场监管总局四部门启动2020年App违法违规收集使用个人信息治理工作,年度治理重点专门提到了对第三方SDK的治理。2021年3月12日,国家互联网信息办公室、工业和信息化部、公安部、国家市场监督管理总局联合制定《常见类型移动互联网应用程序必要个人信息范围规定》,按照基本功能服务分类明确了移动互联网应用程序所需的必要信息。规定对App集成的SDK收集个人信息同样具有约束作用。
2021年4月,在国家互联网信息办公室的统筹指导下,工业和信息化部会同公安部、市场监管总局起草的《移动互联网应用程序个人信息保护管理暂行规定》公开征求意见。其中,对APP第三方服务提供者应当履行的个人信息保护义务提出了要求。
2021年11月1日,工业和信息化部发布《工业和信息化部关于开展信息通信服务感知提升行动的通知》,通知规定:已收集个人信息清单应简洁、清晰列出APP(包括内嵌第三方软件工具开发包SDK)已经收集到的用户个人信息基本情况,包括信息种类、使用目的、使用场景等。鼓励应用商店为本平台APP提供检测服务,及时向APP开发者反馈相关问题并督促改正,防止违规APP上架。内嵌SDK在非服务所必须或无合理应用场景下,不得自启动或关联启动;APP开发者、内嵌SDK应提供相应功能,由用户自主选择是否开启关联启动。
SDK标准
编辑2020年11月全国信息安全标准化委员会发布了《网络安全标准实践指南—移动互联网应用程序(App)使用软件开发工具包(SDK)安全指引》,同期每日互动起草国家标准《信息安全技术移动互联网应用程序(App)软件开发工具包(SDK)安全要求》。腾讯牵头起草行业标准《移动应用软件开发工具包(SDK)安全使用要求》。
相关事件
编辑调查研究
2021年12月21日,中国信息通信研究院(以下简称“中国信通院”)主办的“2022ICT深度观察——数据安全产业分论坛”顺利召开。会上,中国信通院安全所数据部陈湉主任发布了与腾讯联合编制的《软件开发包(SDK)安全研究报告(2021)》,从场景分析、数据统计、政策标准方面分享了SDK行业发展现状,对SDK行业面临的合规风险、安全风险进行了分析,面向SDK及App开发者提出了安全措施建议,并从实践角度分享案例和经验,为促进SDK行业生态的健康发展提供参考。
隐私风险
2019年11月,上海市消费者权益保护委员会委托第三方公司对一些手机软件中的SDK插件进行了专门的测试,却发现一些SDK暗藏玄机。它们会读取设备的IMEI、IMSI、运营商信息、电话号码、短信记录、通讯录、应用安装列表和传感器信息。这些APP里的SDK来读取用户的隐私信息只是第一步,读取完成后,还会悄悄地将数据传送到指定的服务器存储起来。北京招彩旺旺信息技术有限公司的SDK,甚至涉嫌通过菜谱、家长帮、动态壁纸等多款软件,窃取用户更加隐私的信息。因为SDK能够收集用户的短信,以及应用安装信息,一旦用户在网络交易的验证码被获取,极有可能造成严重的经济损失。
2023年10月27日,央视网发文称:近年来,国家安全机关工作发现,境外一些别有用心的组织和人员,正在通过SDK搜集用户数据和个人信息,给国家安全造成了一定风险隐患。
百科词条作者:小小编,如若转载,请注明出处:https://glopedia.cn/6307/