首页 > 其他分享 >学不动也要学,Jetpack Compose入门到入坟

学不动也要学,Jetpack Compose入门到入坟

时间:2023-06-19 15:07:51浏览次数:33  
标签:Compose 要学 Jetpack Material API UI Android


前言

在 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入门到入坟_职场和发展

为什么要学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入门到入坟_程序人生_02

Jetpack Compose从入门到精通

接下来,我将会给大家介绍一份由字节大牛整理出来的《Jetpack Compose入门到精通》,这份资料将会手把手带大家Jetpack Compose从入门到精通。


资料详情

第一章 初识 Jetpack Compose

  • 为什么我们需要一个新的UI 工具?
  • Jetpack Compose的着重点
    加速开发
    强大的UI工具
    直观的Kotlin API

学不动也要学,Jetpack Compose入门到入坟_移动开发_03

  • API 设计

学不动也要学,Jetpack Compose入门到入坟_composer_04

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

学不动也要学,Jetpack Compose入门到入坟_程序人生_05

  • 深入了解Compose
    Core
    Foundation
    Material

学不动也要学,Jetpack Compose入门到入坟_职场和发展_06

  • 插槽API

第二章 Jetpack Compose构建Android UI

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

学不动也要学,Jetpack Compose入门到入坟_android_07

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

学不动也要学,Jetpack Compose入门到入坟_composer_08

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

学不动也要学,Jetpack Compose入门到入坟_程序人生_09

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


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

学不动也要学,Jetpack Compose入门到入坟_移动开发_10

  • Jetpack Compose应用2
  • Jetpack Compose应用做一个倒计时器
    数据结构
    倒计时功能
    状态模式
    Compose 布局
    绘制时钟

学不动也要学,Jetpack Compose入门到入坟_composer_11

  • 用Jetpack Compose写一个玩安卓App
    准备工作
    引入依赖
    新建 Activity
    创建 Compose
    PlayTheme
    画页面
    底部导航栏
    管理状态
    添加页面

学不动也要学,Jetpack Compose入门到入坟_职场和发展_12

  • 用Compose Android 写一个天气应用
    画页面
    画背景
    画内容
    ……

学不动也要学,Jetpack Compose入门到入坟_composer_13

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

学不动也要学,Jetpack Compose入门到入坟_程序人生_14


标签:Compose,要学,Jetpack,Material,API,UI,Android
From: https://blog.51cto.com/u_16163442/6513726

相关文章

  • Jetpack组件库(含Jetpack Compose)从入门到精通全家桶【附Demo】
    前言开发应用程序就像搭积木。我们对产品业务及功能模块的划分和封装,就像在搭建积木一样。积木不能太大,这不利于修改和拆解;积木也不能太小,否则管理起来可能会很混乱。只有基于稳健、合理的架构,项目才能轻松应对需求的变化,才有可能健康成长。没有良好架构的应用程序,就像没有搭好底......
  • Compose能拯救安卓开发吗?Jetpack Compose入门到精通(附资料)含实战、附Demo
    JetpackCompose简述JetpackCompose是用于构建原生AndroidUI的现代工具包。JetpackCompose使用更少的代码,强大的工具和直观的KotlinAPI,简化并加速了Android上的UI开发。这是AndroidDevelopers官网对它的描述。由于Compose基于Kotlin构建,因此可以与Java编程语言完全互操作,并......
  • Jetpack从入门到精通全家桶(含项目实战 附Demo)
    前言开发应用程序就像搭积木。我们对产品业务及功能模块的划分和封装,就像在搭建积木一样。积木不能太大,这不利于修改和拆解;积木也不能太小,否则管理起来可能会很混乱。只有基于稳健、合理的架构,项目才能轻松应对需求的变化,才有可能健康成长。没有良好架构的应用程序,就像没有搭好底......
  • Jetpack从入门到几乎入门(一)
    前言Jetpack系列:Jetpack从入门到几乎入门(一)Jetpack从入门到几乎入门(二)Jetpack从入门到几乎入门(三) 本文是我在学习guolin大神的《第一行代码》第三版Jetpack部分的知识总结,文中代码参考自《第一行代码》第三版在阅读本文前,您需要掌握kotlin语言的基本语法且对Activity的生命周期有......
  • Android进阶宝典 -- JetPack Navigation的高级用法(解决路由跳转新建Fragment页面问题)
    相信有相当一部分的伙伴,在项目开发中依然使用Activity作为页面承载体,有10个页面就会有10个Activity,这种方式当然没问题,但是如果涉及到页面间数据共享,那么使用多Activity就不是很方便了,需要Activity传递各种数据,涉及到数据的序列化与反序列化;因此产生了单Activity和多Fragment架构,所......
  • 实战!如何在 Jetpack Compose 中拥有一个与众不同的 Modifier
    步入正题!相信大家既然已经学习了Compose,那想必也非常熟悉如何使用Modifer了,由于Compose被Android团推设计的非常容易上手,所以有不了解如何使用的朋友可以去看看文档,即可轻松掌握基础的使用!拥有一个与众不同的Modifier,其实就是实现一个特别功能的Modifier,然后使用它去修饰我们......
  • 谷歌内部流出Jetpack Compose最全上手指南,含项目实战演练!
    简介JetpackCompose是在2019Googlei/O大会上发布的新的库。Compose库是用响应式编程的方式对View进行构建,可以用更少更直观的代码,更强大的功能,能提高开发速度。Compose并不是像RecyclerView、ConstraintLayout这种做了一个或者几个高级的UI控件,而是直接抛弃了我们写了N年......
  • 从入门到精通,Android Jetpack 架构实战教程合集
    Jetpack是Google推出的一些库的集合,包含组件、工具、架构方案等,其优势众多:可以减少空指针异常崩溃、内存泄漏,为开发出健壮且流畅的程序提供强力保障;可以消除大量重复样板式的代码,加速Android的开发进程;可以统一开发模式,抛弃传统的MVC,MVP…对于谷歌而言,AndroidJetpack是他......
  • Jetpack系列-Lifecycle使用和源码分析
    1简介和简单使用1.1简介Lifecycle是Jetpack中一个生命周期感知型组件,可执行操作来响应另一个组件(如Activity和Fragment)的生命周期状态的变化。该组件通过感知Activity和Fragment的生命周期事件,在内部维护一个状态,该状态又可以转换成生命周期事件。主要作用就是进行系统组件......
  • Compose 状态保存:rememberSaveable 原理分析
    前言我曾经在一篇介绍ComposeNavigation的文章中提到了Navigation的状态保存实际是由rememberSaveable实现的,有同学反馈希望单独介绍一下rememberSaveable的功能及实现原理。我们都知道remember可以保存数据、避免状态因重组而丢失,但它依然无法避免在ConfigurationCha......