前言
Jetpack Compose大家都不陌生了,它是Google推出的一个新的UI工具包,旨在帮助开发者更快、更轻松地在Android 平台上构建Native应用。Jetpack compose提供了现代化的声明式Kotlin API(取代Android 传统的xml布局),可帮助开发者用更少的代码构建美观、响应迅速的应用程序。自2019年Google IO 宣布发布Compose 以来,备受Android 开发者的关注,我也在一直关注Compose的发展,并且一直看好它在原生Android开发上的应用。
Jetpack Compose 特点
根据谷歌官方介绍,Jetpack Compose 有以下特点:
- 更少的代码:使用更少的代码实现更多的功能,并且可以避免各种错误,从而使代码简洁且易于维护。
- 直观的 Kotlin API:只需描述界面,Compose 会负责处理剩余的工作。应用状态变化时,界面会自动更新。
- 加快应用开发:兼容现有的所有代码,方便随时随地采用。借助实时预览和全面的 Android Studio 支持,实现快速迭代。
- 功能强大:凭借对 Android 平台 API 的直接访问和对于 Material design、深色主题、动画等的内置支持,创建精美的应用。
Jetpack Compose VS 传统UI
Jetpack compose 提供了现代化的声 明式 Kotlin API,取代 Android 传统的命令式开发 xml 布局,可帮助开发者用更少的代码构建美观、响应迅速的应用程序。
命令式UI特征:
UI是可变的:控件接受命令后通过变化自身刷新UIUI持有State:控件的变化正是通过改变自身状态实现的
声明式UI特征:
UI不可变 : @Composable函数不返回任何可引用句柄,无法被外界改变。UI不持有State: @Composable函数无法持有状态的,显示的数据都需要通过参数传入。随着界面越来越复杂,控件越来越多,各控件 State 难以保持同步,UI显示不一致的Bug频发。而声明式UI与命令式UI的特点截然相反,正好可以弥补命令式的缺陷。
如何学习 Jetpack compose?
关于如何学习Jetpack compose 开发知识,最近小编搜集整理了GitHub开源项目这份Jetpack compose项目实战手册,部分知识章节发布到了在GitHub上竟然7.4K+,今天就拿出来分享给大家。
第一章 初识 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文档,有需要这份《 Jetpack compose项目实战手册》完整文档的可以私信我即可100%免费获取!