购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.1 何谓第三方组件

组件的概念兴起于20世纪初,它是近代工业发展产物,特指实现同一工序的模块的组合。组件为生产提供了模块化管理和标准化接口,提高了生产质量且降低了劳动成本。随着经济的发展,组件的概念被应用于更多的产业和领域,其在软件工程领域的应用和成就最令人瞩目。

在软件工程领域,组件是由一个或几个具有各自功能的代码段组成,其具有自己的属性和方法,属性用于访问组件内部数据,方法则是组件功能的外部接口。根据组件开发者的不同,组件可以分为第一方组件、第二方组件和第三方组件。第一方组件是由软件编制方开发,用于本项目的功能实现;第二方组件由平台提供,用于实现较为简单和基础的功能;第三方组件是由软件编制方和平台以外的其他组织或个人开发的具有特定功能的组件,可以实现更为复杂的功能。

各操作系统(Android、鸿蒙、macOS等)都有自己的第三方组件,其中Android的第三方组件应用最为广泛,生态发展最为良好。接下来就以Android为例,揭示第三方组件在系统架构中的作用,如图2-1所示。

在Android中,第三方组件主要以jar包和arr包的形式作用于应用层,jar包是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件,arr包是Android项目中的二进制归档文件,包含class文件和res文件等所有资源;jar包适用于比较简单的类库,而arr包适用于包含控件布局文件和字体等资源文件的UI库。组件内部方法可调取开发框架层(Framework)暴露的接口,帮助应用层完成某些复杂的功能。同时,第三方组件还可以帮助数据在应用层和开发框架层之间双向传递,应用层既可以将数据从开发框架层传递给用户,也可以将用户发出的指令数据传递给开发框架层。

图2-1 Android操作系统架构图

第三方组件目前已经被广泛应用于各类APP的开发,图2-2所示为目前国内热门APP使用第三方组件的数量统计。这些使用率极高且口碑载道的APP都大量应用了第三方组件,个别APP使用的第三方组件的数量甚至有100多个。

图2-2 目前国内热门APP使用第三方组件的数量统计

根据可以提供的功能不同,第三方组件可以分为12种,依次为工具组件、UI组件、多媒体组件、图形组件、数据库组件、维测组件、云组件、网络组件、通信组件、通知组件、跨平台框架组件和算法库组件。图2-3所示为国内热门APP中各类第三方组件的使用数量统计,从中可以看出,工具组件、UI组件、多媒体组件的使用数量最多。

图2-3 国内热门APP中各类第三方组件的使用数量统计

应用开发中使用的第三方组件,根据源代码的开放性,可以分为开源第三方组件和闭源第三方组件。

●开源第三方组件是指在版权限制范围内,任何人都可以学习组件的源代码,甚至对其进行修改并重新发放。

●闭源第三方组件是指使用者需与组件的版权所有方签订商业协议后才可使用,并且使用者只被许可使用计算机程序的一个二进制版本,没有组件的源代码。

闭源第三方组件涉及付费或者其他协议,不能被普通开发者使用,因此本书讲解的第三方组件均为开源第三方组件。 uZtTQ+sAwOXUmFtHqQmiBICiKotHj6NMYIVOAG7pjwkhJLzCLMrqONT1ZvwBEu5T

点击中间区域
呼出菜单
上一章
目录
下一章
×