前言
在 2019 年的 Google/IO 大会上,亮相了一个全新的 Android 原生 UI 开发框架 Jetpack Compose。与 IOS 的 SwiftUI 一样,Jetpack Compose 也是一个声明式的 UI 框架,随着 Android 和 IOS 两大移动平台相继推出了自己平台专属的声明式 UI 框架,标志着整个行业已开始转向声明性界面模型,该模型大大简化了与构建和更新界面关联的工程设计
经过两年多的打磨,到了去年七月底,Google 正式发布了 Jetpack Compose 的 1.0 版本,这是 Compose 的稳定版本,可供开发者在生产环境中使用
引用 Google 官网对 Jetpack Compose 的介绍:Jetpack Compose 是用于构建原生 Android 界面的新工具包。它可简化并加快 Android 上的界面开发,帮助您使用更少的代码、强大的工具和直观的 Kotlin API,快速打造生动而精彩的应用
为什么要学Jetpack Compose?
在Android中,UI工具包的历史可追溯到至少10年前。自那时以来,情况发生了很大变化,例如我们使用的设备,用户的期望,以及开发人员对他们所使用的开发工具和语言的期望。
以上只是我们需要新UI工具的一个原因,另外一个重要的原因是View.java这个类实在是太大了,有太多的代码,它大到你甚至无法在Githubs上查看该文件,因为它实际上包含了30000行代码,这很疯狂,而我们所使用的几乎每一个Android UI 组件都需要继承于View。
GogleAndroid团队的Anna-Chiara表示,他们对已经实现的一些API感到遗憾,因为他们也无法在不破坏功能的情况下收回、修复或扩展这些API,因此现在是一个崭新起点的好时机。
这就是为什么Jetpack Compose学不动也要学的原因,同时也标志着移动操作系统将正式全面拥抱声明式 UI 开发模式。
其核心功能包括:
- 互操作性:Compose 可以和既有的应用进行互操作。您可以将 Compose UI 嵌入 View,反之亦然。您可以只在屏幕上添加一个按钮,也把自己创建的自定义视图保留在现在用 Compose 打造的界面中
- Jetpack 集成:Compose 和大家熟知且喜爱的 Jetpack 开发库天然整合。通过与 Navigation、Paging、LiveData (或 Flow/RxJava)、ViewModel 和 Hilt 的整合,Compose 可以与您现有的架构完美共存
- Material:Compose 提供了 Material Design 组件和主题的实现,使您能够轻松构建符合您的品牌个性的美观应用。Material 主题系统更容易理解和追踪,再也不需要翻阅多个 XML 文件
- 列表:Compose 的 Lazy 组件为数据列表的呈现提供了一种简单扼要且功能强大的方式,而且将模版代码精简到了最少
- 动画:Compose 简明的动画 API 让您可以更轻松地打造出让用户眼前一亮的体验
Jetpack Compose从入门到精通
接下来,我将会给大家介绍一份由字节大牛整理出来的《Jetpack Compose入门到精通》,这份资料将会手把手带大家Jetpack Compose从入门到精通。
这份资料旨在给希望了解、学习、应用Jetpack Compose的小伙伴一个参考资料,需要的朋友可以【点击这里】免费获取。
资料详情
第一章 初识 Jetpack Compose
- 为什么我们需要一个新的UI 工具?
- Jetpack Compose的着重点
- 加速开发
- 强大的UI工具
- 直观的Kotlin API
- API 设计
-
- Compose API 的原则
- 一切都是函数
- 顶层函数(Top-level function)
- 组合优于继承
- 信任单一来源
- 深入了解Compose
- Core
- Foundation
- Material
- 插槽API
第二章 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入门到精通》的朋友可以【点击这里】免费获取。
- Jetpack Compose应用1
- 开始前的准备
- 创建DEMO
- 遇到的问题
-
Jetpack Compose应用2
-
Jetpack Compose应用做一个倒计时器
- 数据结构
- 倒计时功能
- 状态模式
- Compose 布局
- 绘制时钟
- 用Jetpack Compose写一个玩安卓App
- 准备工作
- 引入依赖
- 新建 Activity
- 创建 Compose
- PlayTheme
- 画页面
- 底部导航栏
- 管理状态
- 添加页面
- 用Compose Android 写一个天气应用
- 画页面
- 画背景
- 画内容
- ……
- 用Compose快速打造一个“电影App”
- 成品
- 实现方案
- 实战
- 不足
- ……
由于文章篇幅影响无法展示全部资料,需要这份《Jetpack Compose入门到精通》的朋友可以【点击这里】免费获取。