前言

在 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的着重点
  1. 加速开发
  2. 强大的UI工具
  3. 直观的Kotlin API

  • API 设计

    1. Compose API 的原则
  1. 一切都是函数
  2. 顶层函数(Top-level function)
  3. 组合优于继承
  4. 信任单一来源

  • 深入了解Compose
  1. Core
  2. Foundation
  3. Material

  • 插槽API

第二章 Jetpack Compose构建Android UI

  • Android Jetpack Compose 最全上手指南
  1. Jetpack Compose 环境准备和Hello World 布局
  2. 使用Material design 设计
  3. Compose 布局实时预览
  4. ……

  • 深入详解 Jetpack Compose | 优化 UI 构建
  1. Compose 所解决的问题
  2. Composable 函数剖析
  3. 声明式 UI
  4. 组合 vs 继承
  5. 封装
  6. 重组
  7. ……

  • 深入详解 Jetpack Compose | 实现原理
  1. @Composable 注解意味着什么?
  2. 执行模式
  3. Positional Memoization (位置记忆化)
  4. 存储参数
  5. 重组
  6. ……

第三章 Jetpack Compose 项目实战演练(附Demo)

需要这份《Jetpack Compose入门到精通》的朋友可以【点击这里】免费获取。

  • Jetpack Compose应用1
  1. 开始前的准备
  2. 创建DEMO
  3. 遇到的问题

alt

  • Jetpack Compose应用2

  • Jetpack Compose应用做一个倒计时器

  1. 数据结构
  2. 倒计时功能
  3. 状态模式
  4. Compose 布局
  5. 绘制时钟

  • 用Jetpack Compose写一个玩安卓App
  1. 准备工作
  2. 引入依赖
  3. 新建 Activity
  4. 创建 Compose
  5. PlayTheme
  6. 画页面
  7. 底部导航栏
  8. 管理状态
  9. 添加页面

  • 用Compose Android 写一个天气应用
  1. 画页面
  2. 画背景
  3. 画内容
  4. ……

  • 用Compose快速打造一个“电影App”
  1. 成品
  2. 实现方案
  3. 实战
  4. 不足
  5. ……

由于文章篇幅影响无法展示全部资料,需要这份《Jetpack Compose入门到精通》的朋友可以【点击这里】免费获取。