返回列表 发新帖

[其他] 【黑鲨研究所】API:我是软件的考核官

[复制链接] 0
回复
366
查看
打印 上一主题 下一主题

107

主题

590

帖子

2018

积分

极客达人

积分
2018

热心鲨粉

QQ
楼主
跳转到指定楼层
发表在  2022-9-11 17:10:48 来自PC端  | 只看该作者 | 只看大图 回帖奖励 |倒序浏览 | 阅读模式
本帖最后由 百事阔乐 于 2022-9-11 18:47 编辑


“什么?这个软件竟然商店里没有?嘿嘿,我去浏览器偷偷下下来,让你不提供这个软件的下载!😎”

相信无数人都会产生过这样类似的想法,当然包括我自己。你以为赚大了?那就大错特错咯。


首先是权限获取。主流软件获取权限后并不会从用户方面获益为出发点,但不知名的软件就没有任何保障。权限并不是今天的主题,这次要讨论的话题关乎软件对系统的适配问题:API

API

API,英文全称application programming interface,应用程序接口,是沟通两个不同的东西的一种媒介,也可以说是数据接口,给应用程序开发人员提供基于某软件或硬件得以访问一组例程(类似于函数)的能力。举个例子,一个游戏软件开发商想要获取某个游戏功能,获取的必经通道就是API,搭建了功能和开发者之间的桥梁。


SDK

如果对API有一定了解的小伙伴肯定也听说或知道SDK。SDK英文全称software development kit,软件开发工具包,是用于开发特定软件包、软件框架、系统版本等的开发工具,也就是第三方服务商提供的用于实现某项功能的工具包,因此开发者可以无需对软件的每个功能进行开发,简单常用的功能可以直接使用SDK即可,大大提高了软件编写的效率。


既然提到了SDK,那肯定SDK和API有很大关联,否则提及SDK就没有意义了。


两者的联系

SDK是集成开发环境,API提供了调用SDK部分功能的能力,SDK中也包含了对API的定义,因为上文说过,API定义一种能力,所以特定的SDK也会对应不同的能力进行软件程序方面的开发。说到能力,就要引出一个重要指标——API级别


API级别

每一个安卓系统版本都会分配一个唯一的整数标识符,这就是API级别(见上图)。API级别为开发者确定系统安卓版本,确保应用程序的兼容性和运行环境提供了极大的便利。例如targetSdkVersion,目标软件开发工具包版本,也叫做目标API级别,说的就是某个应用程序开发时基于的系统版本,开发工具包是基于该API接口实现的程序的运行,这可以充分调用该系统版本下的一些新功能特性,适配度较高;minSdkVersion,最低API级别,即应用程序可以运行的最低的系统版本,大部分功能就无法享受到,因为是基于新版本系统设计的,而且会牺牲性能去实现兼容低系统版本。理想下的应用程序是目标API很高,能适配较新的系统版本;最低API较低,照顾一些不升级系统的老手机,让尽可能多的人用得上这款应用程序。听起来很容易,但对于软件开发者来说,并不是触手可得的事情。


目标API级别是衡量一个应用程序是否跟进系统更新进度的重要指标与水准。但是,国内很多主流应用商店相比于Google Play商店,目标API级别要求仍停留在3年前,直接结果就是最新的系统特性不能被应用程序所利用,功能大部分被浪费,升级系统意义不大,系统开发人员付出的努力别忽视。我们最常用的QQ以及各种银行APP,本以为是最应该支持新功能的软件,目标API仅有26,也就是只支持到安卓8的功能特性,更别说杂牌软件的适配了,他们连国内商店非常低的目标API都达不到。


Google Play商店的要求是,安卓11版本正式发布两年后,所有商店中的应用必须是支持安卓11新特性的,也就是目标API级别至少达到30,否则不予批准上架,也就是今年,所有能在Google Play商店上架的APP都能做到目标API30及以上,完全拉开了与国内APP要求的差距。因此国内手机厂商也要发布相关文件对杂乱的应用市场提出API级别要求,促使开发者更新API级别适应新系统版本。


本期对API的简要介绍到此结束啦,下次为大家带来查看手机软件API的好用APP!


这里是黑鲨研究所,欢迎鲨粉和我们一起研究~
黑鲨未来可期
回复

使用道具 举报

发表回复

您需要登录后才可以回帖
登录/注册

本版积分规则

发表回复

提示 关闭

是否需要对本帖进行继续编辑,并重新设置首页贴的显示大图?如不需要,请直接点击左侧立即上首页按钮

立即上首页
继续编辑

107

主题

590

帖子

2018

积分

极客达人

积分
2018

热心鲨粉

QQ
楼主
发表在  2022-9-11 17:10:48 来自PC端  | 只看该作者 | 只看大图 回帖奖励 |倒序浏览 | 阅读模式
本帖最后由 百事阔乐 于 2022-9-11 18:47 编辑


“什么?这个软件竟然商店里没有?嘿嘿,我去浏览器偷偷下下来,让你不提供这个软件的下载!😎”

相信无数人都会产生过这样类似的想法,当然包括我自己。你以为赚大了?那就大错特错咯。


首先是权限获取。主流软件获取权限后并不会从用户方面获益为出发点,但不知名的软件就没有任何保障。权限并不是今天的主题,这次要讨论的话题关乎软件对系统的适配问题:API

API

API,英文全称application programming interface,应用程序接口,是沟通两个不同的东西的一种媒介,也可以说是数据接口,给应用程序开发人员提供基于某软件或硬件得以访问一组例程(类似于函数)的能力。举个例子,一个游戏软件开发商想要获取某个游戏功能,获取的必经通道就是API,搭建了功能和开发者之间的桥梁。


SDK

如果对API有一定了解的小伙伴肯定也听说或知道SDK。SDK英文全称software development kit,软件开发工具包,是用于开发特定软件包、软件框架、系统版本等的开发工具,也就是第三方服务商提供的用于实现某项功能的工具包,因此开发者可以无需对软件的每个功能进行开发,简单常用的功能可以直接使用SDK即可,大大提高了软件编写的效率。


既然提到了SDK,那肯定SDK和API有很大关联,否则提及SDK就没有意义了。


两者的联系

SDK是集成开发环境,API提供了调用SDK部分功能的能力,SDK中也包含了对API的定义,因为上文说过,API定义一种能力,所以特定的SDK也会对应不同的能力进行软件程序方面的开发。说到能力,就要引出一个重要指标——API级别


API级别

每一个安卓系统版本都会分配一个唯一的整数标识符,这就是API级别(见上图)。API级别为开发者确定系统安卓版本,确保应用程序的兼容性和运行环境提供了极大的便利。例如targetSdkVersion,目标软件开发工具包版本,也叫做目标API级别,说的就是某个应用程序开发时基于的系统版本,开发工具包是基于该API接口实现的程序的运行,这可以充分调用该系统版本下的一些新功能特性,适配度较高;minSdkVersion,最低API级别,即应用程序可以运行的最低的系统版本,大部分功能就无法享受到,因为是基于新版本系统设计的,而且会牺牲性能去实现兼容低系统版本。理想下的应用程序是目标API很高,能适配较新的系统版本;最低API较低,照顾一些不升级系统的老手机,让尽可能多的人用得上这款应用程序。听起来很容易,但对于软件开发者来说,并不是触手可得的事情。


目标API级别是衡量一个应用程序是否跟进系统更新进度的重要指标与水准。但是,国内很多主流应用商店相比于Google Play商店,目标API级别要求仍停留在3年前,直接结果就是最新的系统特性不能被应用程序所利用,功能大部分被浪费,升级系统意义不大,系统开发人员付出的努力别忽视。我们最常用的QQ以及各种银行APP,本以为是最应该支持新功能的软件,目标API仅有26,也就是只支持到安卓8的功能特性,更别说杂牌软件的适配了,他们连国内商店非常低的目标API都达不到。


Google Play商店的要求是,安卓11版本正式发布两年后,所有商店中的应用必须是支持安卓11新特性的,也就是目标API级别至少达到30,否则不予批准上架,也就是今年,所有能在Google Play商店上架的APP都能做到目标API30及以上,完全拉开了与国内APP要求的差距。因此国内手机厂商也要发布相关文件对杂乱的应用市场提出API级别要求,促使开发者更新API级别适应新系统版本。


本期对API的简要介绍到此结束啦,下次为大家带来查看手机软件API的好用APP!


这里是黑鲨研究所,欢迎鲨粉和我们一起研究~
黑鲨未来可期
回复

使用道具 举报

首页预览
正文预览
确认发布
取消
快速回复 返回顶部 返回列表