00:00
哈喽,大家好,咱们在上个视频呢,主要给大家去阐述了什么是模块化,什么是组件化,了解了拈块化和组件化的一些区别,那么咱们这个视频呢,主要给大家去讲解一下在鸿蒙开发当中,我们如何去进行组件化的开发,在鸿蒙当中呢,我们要先进行组件化开发,首先呢,一般的流程呢,我们就会先拈块后组建,因为组建呢是在模块化的基础之上而拓展的,呃,首先呢,我们需要去确定一下我们所创建的业务模块,对吧,它是个运营包还是一个不可运行包,那么运行包呢,一般我们会选择是的,也就是动态共享包去创建,如果说它是,它只是一个被依赖的。
01:00
的包,就是被别的拈块去依赖的拈块,那么我们就可以去选择啊,去选择它是一个带共氧包,或者说是静态共氧包,这两者呢都是可以的,也就是说在我们再去创建拈块的时候呢,呃,如果说打算我们这个拈块呢,它是可以独立运行的,那么一般情况下呢,我们去去就去创建呃,Share的library,如果说当前这个模块仅仅是被其他模块所依赖,哎,我们选择哎stick library, 也就是静态共享包,我们目前所看到的架构图呢,是一个在鸿蒙开发当中实现组件化一个很通用的场景,那么从上到下呢,啊,依次是我们的一个业务层,那么业务层呢,可能有很多的拈块,比如说一个视频拈块,对吧,一个社区拈块。
02:00
或者说一个商城拈块,这些呢,都是我们的一个业务层的拈块,那么这些拈块呢啊,都是被我们的一个主拈块所依赖的,也就是说在最终打包的时候呢,只有我们的主模块entry是独立运营的,那么其他的业务模块呢,都是一个共动态共享包的形式,被主拈块所依赖,当然了,在主旋化的时候呢,我们这些右务层的拈块呢,也是可以单独去运行的,再往下呢,就是我们的一个中间层,那么中间层common它的作用呢,是从是从上到下的一个纽带作用。它主要是向业务层去提供哎,我们底层的一些能力,比如说你的网络请求啊,你的数据库啊,你的刷新啊等等,也也就是说,呃,我们的所有的业务拈块呢,就是上层的所有业务模块都会去依赖我们的一个中间层,中间层common,除了向业务层去提供一些技术能力之外呢,我们也会把一些共有的资源,比如说呃,你的社区拈块,你的商城拈块,你的用户信用户信息模块,有一些通用的,比如说字符串呀,比如说图片呀,比如说其他的一些资源,如果说遇到有共用的,哎,我们就可以放到我们的comment层,主要是用来,哎,可以复用我们的资源,对吧,复用我们的代码,再往下呢,就是一个聚合层,那么一般情况下呢,聚合层呢,只。
03:43
各有各无的,聚合同的作用呢,主要是呃,聚合了我们一些公用的能力,比如说聚合了我们的网络、数据库,刷新等等,当然这一层呢,我们可以使用,也可以不使用,如果说是不使用的情况下呢,直接让中间层去依赖我们呃技术库的一些能力,如果使用的情况下呢,我们中间层呢,只需要去呃依赖这个聚合层它就可以了,也就是说在实际开发中呢,我们具体问题具体分析,聚合层可以要也可以哎,不要基础库,这个就没有什么好说的,就是能力层对吧?我们开发一个项目肯定会需要很多能力,比如说网络请求对吧?每个模块可能都会用到网络请求对吧?数据库对吧?有的模块可能会用到数据存储呀,还有刷新对吧?列表刷新日志等等,呃,基础库存呢,就是。
04:43
为上层所提供能力的,那么再往下呢,就是我们系统的一个底层能力的,对吧,系统系统的一些原始的API的网络啊,什么动画数据库等等,那这个呢,只是一个很通用的一个场景啊可能嗯,在实际的开发中,可能有不同的一个架构的依赖啊,基本上都是大同呃小异的就是呃就是在实际开发中呢,呃,我们大家呢,可以按照实际的业务呢去进行修改,比如说对吧,我们的聚合层呢啊就可以省略对吧,直接让我们的中间层啊去依赖我们的一个底层,对吧,都是可以的。
05:24
呃,NT呢,呃,刚才已经说过了,作为我们的主拈块对吧?它是单独可以运行的,那么除了这个拈块之外呢,呃,其他所有的模块均是不可运行的,只能被作为依赖项所使用,对吧?刚才也已经说过了,最终包的时候对吧?一定是inttra是单独运行的,其他是不可运行的,但是在组件化运行的时候呢,哎,我们每一个业务层的模块呢,哎,我们可以进行单独运行,呃基本上下面的话都给大家去去说了啊嗯,比如说聚额层,它的作用啊,就是把多个技术库啊包装成一个整体的库,就是把一些分散的,哎我们聚集了成一个就是更目目的呢就是呃,更加方便上层的调用,但缺点呢,也是很明显的,可能来说就是说我们有一些上层可能用不到的技术库也被添加进来了,对吧。
06:25
会造成我们的包体增大,比如说我们上层可能用不到数据库,但是一旦你用了聚合层,那么因为它包含了数据库的能力,对吧?进而会造成我们包体积增大,还有就是基础库某个更新之后呢,那么你们的聚合层也需要更新,所以基于此呢,在实际的开发中呢,其实大家呢,也可以忽略这个聚合层,直接让中间层去继承我们底层的一些技术能力,那中间层呢,刚才已经说过了,对吧,它主要是一些公用的资源或者类的存放地,也可以作为各个拈块对吧,之间数据传递的一个纽带,哎,它作为一个枢纽,呃,是业务各模块的一个B1在向,也就是说中间层的上层业务,对吧,每个都需都需要去依赖我们的一个中间层comment门的,嗯,业务拈块呢,就是我们业务层的各个的单一模块,这个刚才已经说过了,嗯。
07:25
这个呢,就是我们实际的一个组件化的一个代码架构了,大家可以看到啊,对吧,可能你如果说实现组件化,可能会拆分出来很多个拈块,呃,咱们前面也也已经说过了,这个拈块呢,一定是独立的,对吧?如果说你不独立,我们也没必要去把它拆分出来一个模块,对吧?大家可以看到这个代码加构里面我们拆了很多个模块,比如说消息模块,我的模块等等,当然在实际业务中啊,大家根据自己的需求把独立模块拆分出来即可行,那么在鸿蒙开发中,对吧?呃,我们已经把各个模块进行拆分出来了,我们如何实现组件化运行?
08:13
那这个呢,我们就放到下个视频给大家去讲解啊,咱们这个视频先到这里。感谢大家,谢谢。
我来说两句