Jetpack|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清晰简洁、方便测试、开发解耦等优势深得各开发大佬的青睐。
如何快速入门 Compose ? 对于广大开发者来说,Compose是Android UI的未来,现阶段你可以不会用,但是未来如果你还想留在Android平台的话,Compose就是你必不可少的技能之一。为了帮助大家系统的学习,在这里给大家分享一份谷歌大佬整理的《Jetpack Compose 入门到精通》,希望可以帮助大家快速入门Compose。
第一章
初识 Jetpack Compose
文章图片
1.为什么我们需要一个新的UI 工具?
文章图片
2.Jetpack Compose的着重点
3.API 设计
4.Compose API 的原则
5.深入了解Compose
文章图片
6.插槽API
第二章
Jetpack Compose构建Android UI
文章图片
1.Android Jetpack Compose 最全上手指南
【Jetpack|Jetpack Compose+架构=优秀APP()】
文章图片
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”
文章图片
由于篇幅有限,这里只能展示部分知识点,下面给大家展示目录,有需要这份资料的小伙伴文末有领取方式
文章图片
对于Compose学习困难的小伙伴,希望这份《Jetpack Compose从入门到精通》可以帮助大家快速上手,有需要的朋友可以 评论 或者 私信 888,我免费发你!
最后,麻烦看到这篇文章的小伙伴动动您发财的小手,给我点点赞,谢谢了!
文章图片
相关视频: 【 Jetpack进阶教程】——Jetpack架构之Compose函数式编程交流上_哔哩哔哩_bilibili
Android架构设计原理与实战——Jetpack结合MVP组合应用开发一个优秀的APP!_哔哩哔哩_bilibili
Android进阶必学:jetpack架构组件—Navigation_哔哩哔哩_bilibili
推荐阅读
- 程序员|【高级Java架构师系统学习】毕业一年萌新的Java大厂面经,最新整理
- 年薪30万的Java架构师必会的springboot面试题
- EdgeDB 架构简析
- 大众点评(redux架构)
- 架构的架构基础
- 从0开始学架构|从0开始学架构 - 高可用计算架构、异地多活架构、如何应对接口级故障
- (基础+优化+架构)太厉害了!华为大牛终于把MySQL讲的明明白白
- 3|3 台机器如何搞定一个 Redis 高可用架构
- 每日一书|每日一书丨学习微服务最好的方式(阅读《微服务架构设计模式》)
- Spring-Security-架构初谈