前言
在Android中,UI工具包的历史可追溯到至少10年前,自那时以来,情况发生了很大变化,例如我们使用的设备,用户的期望,以及开发人员对他们所使用的开发工具和语言的期望。Google 针对不同的问题做出了很多的调整,但是唯独在 UI 构建方面,最初的那一套 UI 构建体系一直沿用至今,几乎没有做任何调整。
然而在2019年的 google I/O 大会上,Jetpack 团队首次为大家介绍了 Jetpack Compose,这是一种全新的 Android UI 组件库。
Google为何打造Compose
Jetpack Compose 是 Google 从17年到21年**耗费五年倾力打造,用于构建 Android 原生界面的全新 UI 工具包。**Android 诞生多年,UI 体系早已成熟,为什么这么要重造一个轮子?
众所周知,Android 传统的命令式UI开发存在以下问题:
-
XML 布局冗长、繁琐:遇到复杂的布局,把屏幕竖过来都看不全
-
View 编程方式的嵌套会带来性能影响:不合理的布局导致测量性能翻倍
-
手动更新视图复杂、易错
-
声明性界面模型逐渐流行:这种方式可以简化 UI 的构建和更新步骤,仅执行必要的更改
而顺势而生的 Compose 不仅解决了这些问题并具备更多的优势 :
-
声明式 UI:只负责描述界面,Compose 系统负责其余工作
-
状态驱动:界面随着状态自动更新
-
高效渲染:固定测量,层级嵌套性能仍是 O(n)
-
结合 AS 的 Preview 视图可实时查看和直接交互 UI
-
兼容传统 View 树编程方式,可混合使用
-
拥有 Jetpack 框架的大力配合
-
基于 Kotlin,代码简洁,大量 Kotlin 专属 API
Jetpack Compose 有必要学吗?
**声明式 UI 的大哥 Flutter
**已经出道很久了,再学习 Compose
还有意义吗,Flutter
还是 Compose
?我的答案是: 如果你还会继续在 Android 平台,Compose你必须要会!
首先 Compose 是 Jetpack 系列的全新 UI 库,Compose 是 Jetpack 系列的成员之一,所以可以被应用到 Android 界面开发中,但**Compose 是 Android UI 的未来,**现阶段你可以不会,以后肯定不行!
Compose 出生的目的:就是为了重新定义 Android 上 UI 的编写方式,为了提高 Android 原生的 UI 开发效率,让 Android 的 UI 开发方式能跟上时代的步伐。
如何玩转Jetpack Compose
compose作为一套全新的 UI 框架,可以说渲染、布局、触摸算法以及 UI 的具体写法全都是新的!然而从1.0版本发布到如今市面上也没有比较全面的资源,学习起来存在一些难度!
为了让大家能高效,快速,全面的学习Compose,小编搜集整理了GitHub开源项目这份Jetpack compose项目实战手册,今天就拿出来分享给大家。让你站在谷歌工程师的角度,深度理解Compose底层及如何解决项目实战!
第一章 初识 Jetpack Compose
为什么我们需要一个新的UI 工具?
Jetpack Compose的着重点
- 加速开发
- 强大的UI工具
- 直观的Kotlin API
- API 设计
Compose API 的原则
- 一切都是函数
- 顶层函数(Top-level function)
- 组合优于继承
- 信任单一来源
深入了解Compose
- Core
- Foundation
- Material
第二章 Jetpack Compose构建Android UI
Android Jetpack Compose 最全上手指南
- Jetpack Compose 环境准备和Hello World
- 布局
- 使用Material design 设计
- Compose 布局实时预览
- ……
深入详解 Jetpack Compose | 优化 UI 构建
- Compose 所解决的问题
- Composable 函数剖析
- 声明式 UI
- 组合 vs 继承
- 封装
- 重组
- ……
- 深入详解 Jetpack Compose | 实现原理
- @Composable 注解意味着什么?
- 执行模式
- Positional Memoization (位置记忆化)
- 存储参数
- 重组
- ……
第三章 Jetpack Compose 项目实战演练(附Demo)
Jetpack Compose应用1
- 开始前的准备
- 创建DEMO
- 遇到的问题
Jetpack Compose应用2
- Jetpack Compose应用做一个倒计时器
- 数据结构
- 倒计时功能
- 状态模式
- Compose 布局
- 绘制时钟
用Jetpack Compose写一个玩安卓App
- 准备工作
- 引入依赖
- 新建 Activity
- 创建 Compose
- PlayTheme
- 画页面
- 底部导航栏
- 管理状态
- 添加页面
用Compose Android 写一个天气应用
- 开篇
- 画页面
- 画背景
- 画内容
- ……
用Compose快速打造一个“电影App”
- 成品
- 实现方案
- 实战
- 不足
- ……
由于篇幅原因,这份纯手写笔记已经被整理成了PDF文档,有需要这份《Android Jetpack compose项目实战手册》完整文档的可以扫描下方CSDN官方认证二维码即可100%免费获取!