首页 > 其他分享 >谷歌使用Jetpack Compose逐步重写Android 14,不会你还不知道吧?

谷歌使用Jetpack Compose逐步重写Android 14,不会你还不知道吧?

时间:2023-10-18 22:32:26浏览次数:29  
标签:Compose 14 Jetpack 应用程序 UI 开发者 Android

前言

早在 2019 年,谷歌就推出了 Jetpack Compose,这是一种使用 Kotlin 开发原生安卓应用的编写方式,抛弃了常规基于 XML 的视图来设计应用 UI,而是让开发者以声明方式创建设计。

从那时起,谷歌就大力鼓励开发者在安卓应用中使用 Jetpack Compose,还使用 Jetpack Compose 重构了其 Play Store 应用商店。

根据外媒 9To5Google 的发现,谷歌正使用 Jetpack Compose 逐步重写 Android 14 的设置应用,代号为“Spa”,目前已重构了部分页面,其中包括与应用、通知和语言偏好相关的页面。

Jetpack Compose 是一个声明式、响应式的 UI 框架,其写法与 Web 框架 Flutter 较为相似,编写起来确实也较为简单,作为谷歌主推的开发框架,Android 14 乃至后续系统预计将不断扩大 Jetpack Compose 的影响力

Jetpack Compose的主要优点包括:

  • 开发过程简化和直观:Compose的UI模型使用可重复的代码块进行构建,使得开发者能够以最快的速度得到反馈。同时,Compose使得UI设计更直观,实时预览结果,从而更容易进行开发。
  • 实现一致的用户界面:Compose框架使得开发者能够实现一致的用户界面。开发者可以轻松地定义主题和风格,并与应用程序中的其他组件协调。
  • 减少代码量:相较于传统的Android开发方法,使用Jetpack Compose可以大大减少代码量,降低应用程序的维护成本,提高开发速度。
  • 提高性能:由于Jetpack Compose可以更好地减少运行时的布局计算,因此可以获得更好的性能。这意味着应用程序可以更快地响应用户操作,提高了用户体验。
  • 引入新的UI功能和动画效果:Compose框架引入了一些新的UI功能和动画效果,例如插值动画、矢量图形绘制和主题样式等,可以帮助开发者创建更加富有表现力和高效的界面。
  • 更好的测试能力:由于Jetpack Compose的UI代码是纯Kotlin代码,因此可以更容易地进行单元测试和UI自动化测试,从而提高应用的质量和可维护性。

Jetpack Compos 的使用

根据目前的信息和观察,Android大厂使用Jetpack Compose框架的情况是相当普遍的。Jetpack Compose作为Android开发领域中的一种新兴框架,具有许多优势,如简洁的语法、高效的开发效率和强大的可扩展性等,这些优点吸引了许多开发者和公司开始使用它。例如:

  • Google:Google Play Store的Android客户端应用就是使用Jetpack Compose构建的。这是一个复杂的、大规模的应用程序,它需要处理大量的数据和用户交互。Jetpack Compose帮助开发者更高效地构建这样的应用程序。
  • Walmart:Walmart是全球最大的零售商之一,Jetpack Compose帮助他们更快地开发Android应用程序,提高了开发效率。
  • Todoist:Todoist是一款流行的任务管理应用程序,他们使用Jetpack Compose来构建他们的Android和iOS应用程序,可以更快地开发出新功能,同时提高了应用程序的可维护性。

这些大规模、高复杂度的Android应用程序的成功案例证明了Jetpack Compose的实力和潜力。

Jetpack Compose的学习

为了大家更详细的了解Jetpack Compose,在此分享一份Jetpack Compose开发指南,资料内容不仅对知识点有详细讲解,而且还有大量代码和示例,非常适用于Android初/中级开发者学习。

有需要的小伙伴,可以点击下方课程链接详细了解!!!

https://edu.51cto.com/course/32703.html

第一章 初识JetPack

  • JetPack是什么
  • JetPack和AndroidX
  • AndroidX的迁移
  • 谷歌使用Jetpack Compose逐步重写Android 14,不会你还不知道吧?_开发者

第二章 Compose的设计

  • JetPack Compose环境搭建
  • JetPack Compose新特性和组件依赖
  • JetPack Compose编程思想总结
  • 谷歌使用Jetpack Compose逐步重写Android 14,不会你还不知道吧?_应用程序_02

第三章 Compose入门

  • JetPack Compose入门的基础案例
  • JetPack Compose基础实战
  • 谷歌使用Jetpack Compose逐步重写Android 14,不会你还不知道吧?_应用程序_03

第四章Compose布局

  • Compose State
  • Compose样式(Theme)
  • Compose布局核心控件
  • 自定义布局
  • Compose中的ConstraintLayout
  • 谷歌使用Jetpack Compose逐步重写Android 14,不会你还不知道吧?_Jetpack Compose_04

第五章Compose动画

  • Compose SideEffect
  • Compose动画概述
  • Compose Crossfade
  • Compose animateContentSize
  • Animatable
  • Compose自定义动画
  • 谷歌使用Jetpack Compose逐步重写Android 14,不会你还不知道吧?_Android_05

第六章Compose图形

  • Compose Canvas
  • Compose绘制API的分析
  • Compose自定义绘制
  • 谷歌使用Jetpack Compose逐步重写Android 14,不会你还不知道吧?_开发者_06

第七章Compose核心控件总结

  • Scaffold
  • LazyColumn
  • 谷歌使用Jetpack Compose逐步重写Android 14,不会你还不知道吧?_Android_07

第八章Compose项目实战

  • 使用Compose实现底部按钮和首页banner以及数据列表
  • 导航规整并实现登陆页面和个人中心页
  • 分类页面的实现
  • 实现搜索页面
  • 项目页面的实现
  • 谷歌使用Jetpack Compose逐步重写Android 14,不会你还不知道吧?_Android_08

有需要的小伙伴,可以点击下方课程链接详细了解!!!

https://edu.51cto.com/course/32703.html

标签:Compose,14,Jetpack,应用程序,UI,开发者,Android
From: https://blog.51cto.com/u_16163453/7923926

相关文章

  • LeetCode142. 环形链表 II
    题目描述给定一个链表的头节点head,返回链表开始入环的第一个节点。如果链表无环,则返回null。如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数pos来表示链表尾连接到链表中的位置(索引从0开始)。如......
  • 14.11 Socket 基于时间加密通信
    在之前的代码中我们并没有对套接字进行加密,在未加密状态下我们所有的通信内容都是明文传输的,这种方式在学习时可以使用但在真正的开发环境中必须要对数据包进行加密,此处笔者将演示一种基于时间的加密方法,该加密方法的优势是数据包每次发送均不一致,但数据包内的内容是一致的,当抓包......
  • 初学Bokeh:使用主题【14】跬步
    初学Bokeh:使用主题【14】跬步主题是一组预定义的参数打包集合,如颜色、字体或线条样式。使用Bokeh的主题,可以快速、方便地更改绘图的外观要素。Bokeh包含五种内置主题:caliber、dark_minimal、light_minimal、night_sky和contrast。此外,还可以定义自定义主题。要使用一个内......
  • [Compose] Async programming: Thunks
    ThunksSyncthunk:Ablockerofcodewhichhaseverythingreadyandcanreturnthevaluedirectly.functionadd(x,y){returnx+y}constthunk=function(){returnadd(10,15)}thunk()//25Ao thunkisprettymuchthesameasHighorderfunc......
  • Ubuntu 中Docker Compose的奇淫异巧
    在本教程中,我们将看到如何在Ubuntn16.04上安装DockerCompose。安装Docker我们需要安装Docker来安装DockerCompose。首先为官方Docker仓库添加公钥。$curl-fsSLhttps://download.docker.com/linux/ubuntu/gpg|sudoapt-keyadd-接下来,添加Docker仓库......
  • 性能更强还便宜100元!酷睿i5-14600K图赏
    这次发布的只有六款型号,分别是8+1624核心的i9-14900K/KF、8+1220核心的i7-14700K/KF、6+814核心的i5-14600K/F,都是基准功耗125W,继续兼容LGA1700接口的600/700系列主板。现在酷睿i5-14600K已经来到我们评测室,下面为大家带来图赏。i5-14600K面向主流用户,采用6P+8E,即14核心20线......
  • [914] In Python's datetime library, you can format dates using the strftime() me
    InPython'sdatetimelibrary,youcanformatdatesusingthestrftime()method.Thismethodallowsyoutocreateaformattedstringrepresentationofadatetimeobject,specifyingtheformatyouwant.Here'showyoucanformatadateusingstrft......
  • 14.10 Socket 套接字选择通信
    对于网络通信中的服务端来说,显然不可能是一对一的,我们所希望的是服务端启用一份则可以选择性的与特定一个客户端通信,而当不需要与客户端通信时,则只需要将该套接字挂到链表中存储并等待后续操作,套接字服务端通过多线程实现存储套接字和选择通信,可以提高服务端的并发性能,使其能够同......
  • 20231014
    //accordingly,inflation,limit,maintain,outpace,rise,sharply,skyrocket,soar,steeply,bringabout,exchangerate,rawmaterial,taxrebateaccordingly-相应地,因此Accordinglymeansinawaythatisappropriateorsuitabletotheparticularcircumstan......
  • lesson14-JFrameDemo
         packagecom.zym.lesson14;importjavax.swing.*;importjava.awt.*;publicclassJFrameDemo{publicvoidinit(){JFramejFrame=newJFrame("lesson14-JFrameDemo");//jFrame.setBackground(Color.orange);不起作用......