前言
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的着重点
- 加速开发
- 强大的UI工具
- 直观的Kotlin API
3. API 设计
4. Compose API 的原则
5. 深入了解Compose
- Core
- Foundation
- Material
6. 插槽API
[](https://blog.csdn.net/Android...)第二章 Jetpack Compose构建Android UI
1. Android Jetpack Compose 最全上手指南
- Jetpack Compose 环境准备和Hello World
- 布局
- 使用Material design 设计
- Compose 布局实时预览
- ……
2. 深入详解 Jetpack Compose | 优化 UI 构建
- Compose 所解决的问题
- Composable 函数剖析
- 声明式 UI
- 组合 vs 继承
- 封装
- 重组
- ……
3. 深入详解 Jetpack Compose | 实现原理
- @Composable 注解意味着什么?
- 执行模式
- Positional Memoization (位置记忆化)
- 存储参数
- 重组
- ……
[](https://blog.csdn.net/Android...)第三章 Jetpack Compose 项目实战演练(附Demo)
1. Jetpack Compose应用1
- 开始前的准备
- 创建DEMO
- 遇到的问题
2. Jetpack Compose应用2
3. Jetpack Compose应用做一个倒计时器
- 数据结构
- 倒计时功能
- 状态模式
- Compose 布局
- 绘制时钟
4. 用Jetpack Compose写一个玩安卓App
- 准备工作
- 引入依赖
- 新建 Activity
- 创建 Compose
- PlayTheme
- 画页面
- 底部导航栏
- 管理状态
- 添加页面
5. 用Compose Android 写一个天气应用
- 开篇
- 画页面
- 画背景
- 画内容
- ……
6. 用Compose快速打造一个“电影App”
- 成品
- 实现方案
- 实战
- 不足
- ……
对于Compose学习困难的小伙伴,希望这份《Jetpack Compose从入门到精通》可以帮助大家快速上手,有需要的朋友可以点击这里免费领取
今天的文章就到这里,感谢您的阅读,有问题可以在评论区留言探讨,期待与大家共同进步。喜欢的话不要忘了三连。大家的支持和认可,是我分享的最大动力。