Jetpack Compose+架构=优秀APP?
Posted 冬天的毛毛雨
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jetpack Compose+架构=优秀APP?相关的知识,希望对你有一定的参考价值。
Jetpack Compose是android推出的新一代声明式UI框架,Compose库是用响应式编程的方式对View进行构建,用更少更直观的代码拥有更强大的功能,同时还能提高开发速度。随着alpha版本的发布,其API也逐渐稳定,此时谁先掌握这一项新技术,谁就能在这一行业中抢占先机。
但一些使用过Compose的小伙伴反馈说Compose的实现效果不好,其实是他们没有搭配框架使用,任何代码都是需要依托于框架实现的,使用框架可以降低程序之间的依赖性和耦合性,使重复性达到最高。
那么Compose应该在哪个架构中实现呢?
目前市面上主流的几个架构有MVP、MVC、MVVM,那么在 Compose 项目中哪种架构最合适呢?
首先我们先来了解一下各大架构的特点。
MVP
MVP主要特点是presenter与View之间通过接口通信,presenter通过调用View的方法实现UI的更新。Compose无法获得Presenter 持有一个 View 层对象的引用,因为用来创建 UI 的 Composable 必须要求返回 Unit。所以MVP这种依赖接口通信的解耦方式无法在 Compose 项目中使用。
(图片来源网络)
MVC
MVC重要特点就是两种分离:视图和数据模型的分离和视图和表现逻辑(Controller)的分离
**优点:**耦合性低;重用性高;生命周期成本低;部署快;可维护性高;有利软件工程化管理。
**缺点:**没有明确的定义;**不适合小型,中等规模的应用程序;**增加系统结构和实现的复用性;视图与控制器间的过于紧密的连接;视图对模型数据的低效率访问;一般高级的界面工具或构造器不支持模式。
MVVM
MVVM(Model-View-ViewModel)其实就是MVC(Model-View-Controller)的增强版,本质上和MVC没有什么区别,只是代码的位置变动而已。
MVVM的的优点:
- 低耦合性
- 重复使用性
- 独立开发性
- 可测试性
(图片来源网络)
MVVM的出现解决了:
1.开发者大量调用相同的 DOM API时的繁琐,操作冗余。
2.大量的DOM操作会降低页面的渲染性能,导致加载的速度变慢,影响用户体验。
3.不论是用户的操作导致Model发生变化,还是Model频繁发生变化,开发者都需要主动更新将变化的数据同步更新,这样工作既繁琐又很难维护多变的数据状态。
总的来说与Compose最为契合的架构还是MVVM。MVVM凭借着Controller清晰简洁、方便测试、开发解耦等优势深得各开发大佬的青睐。
为了帮助大家系统的学习,在这里给大家分享一份谷歌大佬整理的《Jetpack Compose 入门到精通》,希望可以帮助大家快速入门Compose。
如需要参考学习的小伙伴可以直接去我GitHub查阅
https://github.com/733gh/Android-T3
第一章
初识 Jetpack Compose
1.为什么我们需要一个新的UI 工具?
2.Jetpack Compose的着重点
3.API 设计
4.Compose API 的原则
5.深入了解Compose
6.插槽API
第二章
Jetpack Compose构建Android UI
1.Android Jetpack Compose 最全上手指南
2.深入详解 Jetpack Compose | 优化 UI 构建
3.深入详解 Jetpack Compose | 实现原理
第三章
Jetpack Compose 项目实战演练
1.Jetpack Compose应用1
2.Jetpack Compose应用2
3.Jetpack Compose应用做一个倒计时器
4.用Jetpack Compose写一个玩安卓App
5.用Compose Android 写一个天气应用
6.用Compose快速打造一个“电影App”
由于篇幅有限,这里只能展示部分知识点,下面给大家展示目录
如需要参考学习的小伙伴可以直接去我GitHub查阅
https://github.com/733gh/Android-T3
对于Compose学习困难的小伙伴,希望这份《Jetpack Compose从入门到精通》可以帮助大家快速上手。
如需要参考学习的小伙伴可以直接去我GitHub查阅
https://github.com/733gh/Android-T3
以上是关于Jetpack Compose+架构=优秀APP?的主要内容,如果未能解决你的问题,请参考以下文章