Jetpack Compose 作为 Android 的新一代 UI 开发框架,提供了非常强大的工具来构建用户界面。
前面几篇笔记讲了那么多内容,都是基于静态界面的展示来说的,即给我一个不变的数据,然后将它展示出来。如何在 Compose 中构建一个随数据而变化的动态界面呢?相信看完这篇就知道了。
在往期 #11WeeksOfAndroid 系列文章中我们介绍了联系人和身份、隐私和安全、 Android 11 兼容性 、开发语言、Jetpack、 Android 开发者工具 、 Google Play 应用分发与盈利 、 游戏开发新工具 ,本期我们 聚焦 UI 与 Compose ,下面就来看看您需要了解的内容。
准确来说,这才是本系列的第一篇文章。因为上篇文章只是个序篇,和大家聊一聊为什么我们要学习Compose。如果你现在仍然有这个疑惑,那么可以先移步上篇文章 写给初学者的Jetpack Compose教程,为什么要学习Compose?
State不光非常的重要,同时可以让我们的Compose学习之旅变得更加有趣。为什么这么说呢?因为在之前的学习过程当中,我们所实现的都是静止的界面效果,而有了State之后,则可以让界面开始动起来了。
Android Jetpack 是一套帮助你轻松构建高质量应用,兼容旧版本系统的类库套件。在 Jetpack 发布两年之后的现在,我们已经看到了很多 app 的广泛采用,并且更多的开发者开始使用了。这只是一个开始:今天,我们将发布过去一年的工作成果,一些新的类库以及现有类库的重大更新。
除了布局组件外,Jetpack Compose 还提供了一系列其他常用的 UI 组件。
JetBrains 工程师 Sebastian Aigner 在官方博客宣布,Compose Multiplatform(Kotlin 的声明式 UI 框架)已经发布了 1.0 版本,现在可以在生产环境中使用了。此版本主要解决质量和稳定性问题,同时修复关键问题和错误。
Jetpack Compose 是响应式 UI 框架。当我们更新 UI 状态时,Compose 会自动刷新 UI,将状态的变化同步到界面上。这个过程是自动的,不需要我们手动调用setText或setColor之类的方法。
Compose 编译后不是转化为原生的 Android 上的 View 去显示,而是依赖于平台的Canvas ,在这点上和 Flutter 有点相似,简单地说可以理解为 Compose 是全新的一套 View 。
目前为止,我们只在 Android 开发中看到 Jetpack Compose[2]。今天,我们将进入一个崭新的阶段,因为 JetBrains 宣布了 IntelliJ 的早期访问版本,允许你使用 Jetpack Compose 来构建 Windows 应用程序。
Jetpack Compose 是一个现代化的 UI 工具包,旨在帮助开发者通过原生平台 API 简单快捷地在全 Android 平台构建精美应用,它能大幅降低代码量并包含交互式工具,以及使用直观的 Kotlin API,为您的应用增添活力。现在,我们正式发布 Jetpack Compose 的 Alpha 版本,邀请您体验!
Android Jetpack 集合了一系列的开发库,旨在帮助开发者更容易地创作高质量的应用,同时也更好地兼容老旧版本的 Android 系统。在正式发布 Jetpack 两年后的今天,我们已经看到大量的应用开发开始采用 Jetpack 中的开发库,这其中既包括大型开发团队的产品,也有那些刚起步的应用。而这一切仅仅是开始,因为近期我们发布了一系列新的开发库,以及过去一年我们对于现有开发库的重要更新。
这是 #11WeeksOfAndroid 系列的最后一篇文章。感谢您在过去的时间里和我们一起深入探索 Android 开发的关键领域。下面来和我们一起回顾这些精彩内容吧:
compose正式发布已经一年多了,越来越多的开发人员选择使用它,声明式UI也是未来的一个主流趋势,本人也是一年前学习后,并没有真正的使用,所以本着边学习,边分享的心态,准备写个compose系列的文章 首先compose目前只支持kotlin,基于google对移动端的鸿图,未来应该也不会支持其他语言,和传统安卓的xml布局不同,compose是通过kotlin定义一个一个组件,由于是通过代码定义的组件,每个组件都可以很方便的重用,这点在UI开发时确实便利了不少。至于声明式UI和命令式UI的区别,相信你会在后续实际使用时有很大的感触
今天,我们发布 Android 11 Beta 版,并为开发者们带来了众多重磅更新。这些更新包括 Kotlin 协程、Jetpack Compose 工具包的最新进展、在 Android Studio 中更快地完成构建,以及 Play Console 的全新改版。
Jetpack Compose是Google I/O 2019 发布的Andorid UI框架,它不同于Andorid常见的Xml+命令式Coding的UI开发范式,而是基于Kotlin的DSL实现了一套类似React的声明式UI框架。Jetpack Compose目前仍然处于Alpha版本目标是2020年能够发布稳定的Beta版本。伴随React Native、Flutter等大前端框架的兴起以及Jetpack Compose、SwiftUI等native框架的出现,声明式UI正逐渐成为客户端UI开发的新趋势。
在往期 #11WeeksOfAndroid 系列文章中我们介绍了 联系人和身份 、隐私和安全 、 Android 11 兼容性 、 开发语言 、 Jetpack ,本期将聚焦 Android 开发者工具 。我们将为大家陆续带来 #11WeeksOfAndroid 内容,深入探讨 Android 的各个关键技术点,您不会错过任何重要内容。
Compose是Android官方提供的声明式UI开发框架,而Compose Multiplatform是由JetBrains 维护的,对于Android开发来说,个人认为学习Jetpack Compose是必须的,因为它会成为Android主流的开发模式,而compose-jb作为一个扩展能力,我们可以有选择的去尝试。今天我们先来了解一下使用compose-jb开发一个桌面端应用的流程。
在过去的 12 个月内,有约 1 亿台新平板设备被激活,Chrome OS 的激活量增长了 92%,是增长速度最快的桌面平台。这意味着在平板电脑、可折叠设备和 Chrome OS 设备上,有超过 2.5 亿台大屏幕设备运行着 Android 系统,而关于可折叠设备的使用数量也在不断增长,同比增长超过 250%,因此,"大屏" 正在成为 Android 设备中一个重要且增长势头最快的细分市场。这也让设备制造厂商们意识到,针对大屏做优化是让设备在高端手机细分市场中脱颖而出的机会。
今年的 Google I/O 大会推出了有关现代 Android 开发的大量更新。您最需要了解的三大亮点可以 点击这里 查看相关视频了解。
我们在后台和社区等各渠道收到了很多来自开发者们的反馈,也把一些开发者们常见的问题进行了简单的收集和梳理,整理成这一篇关于为折叠屏和大屏幕设备构建应用的常见问题和解答,如果您在构建过程中有任何其他的问题,欢迎通过留言的方式让我们知道。
最近 JetBarin 公司发布了 Compose Desktop[1]。是的,你没听错,就是 Google 用于 Android 上的 Compose[2]。
本次分享有录屏,可查看 BaguTree 组织地址,感谢校长、强哥、超哥提供的分享平台:http://jetpack.net.cn/#/blog/all[1]
在今年的Google/IO大会上,亮相了一个全新的 Android 原生 UI 开发框架-Jetpack Compose, 与苹果的SwiftIUI一样,Jetpack Compose是一个声明式的UI框架,随着了今年安卓和苹果两大移动平台相继推出自己的UI开发框架Jetpack Compose 和SwiftIUI,标志着移动操作系统正式全面拥抱声明式 UI 开发模式。
随着Jetpack Compose首个Beta版的发布,Google在上周四的时候发起了一个Android开发挑战赛的活动。
我们一如既往地搭建 产品路线图,现在已经发布了 Jetpack Compose 的 1.1 版本,这是 Android 的现代原生界面工具包。此版本新增了一些功能,比如经过优化的焦点处理、触摸目标值、ImageVector 缓存,和对 Android 12 拉伸滚动的支持。Compose 1.1 还让许多之前的实验性 API 过渡到了稳定阶段,并支持新版 Kotlin。我们已经更新了 示例、Codelab 和 Accompanist 开发库,以便您与 Compose 1.1 搭配使用。
回头去看 2021,过的似乎那么快,不敢相信我已经从事 Android 开发两年了,不免生出一些感叹。
Compose 能应用于跨平台,主要是基于 KMM 架构,KMM 的介绍可以查看官方文档《Get started with Kotlin Multiplatform Mobile[1]》,我们来看下 KMM 的简单架构:
此前我更新了Jetpack Architecture系列的文章,如果你还不了解Jetpack,可以移步至 Android JetPack系列文章 ,持续更新中
Row本身是不支持滚动的(Column同理),但是想要滚动的话,可以使用Modifier.horizontalScroll()来实现,代码如下
2020年11月5日 Jetpack Compose for Desktop 终于发布了第一个里程碑版本,作为新一代的 Kotlin UI 框架,Jetpack Compose 可快速地构建高性能和美观的用户界面。
做 Android 开发的都知道一个规矩:布局文件的界面层级要尽量地少,越少越好,因为层级的增加会大幅拖慢界面的加载。这种拖慢的主要原因就在于各种 Layout 的重复测量。虽然重复测量对于布局过程是必不可少的,但这也确实让界面层级的数量对加载时间的影响变成了指数级。而 Jetpack Compose 是不怕层级嵌套的,因为它从根源上解决了这种问题。它解决的方式也非常巧妙而简单——它不许重复测量。
作为时隔 3 年再次回归海岸线圆形剧场,谷歌这次 I/O 大会可以说是干活满满,特别是本次大会的“线上会场”,Adventure 用类似“元宇宙”的概念,让广大开发者可以在“游戏”中逛遍所“展厅”,同时通过完成各种有趣的小游戏来参与大会,甚至你还可以钓鱼挂机...当然,最重要的是可以和全球各个开发者线上交流,这无疑是本次大会最优秀的一环。
大家好我是黄林晴,也是图书《Android Jetpack开发:原理解析与应用实战》的作者。上一次在社区分享还是在三年前的Android 11见面会上,本次为大家分享的主题是Compose Multiplatform和KMM。这里是本次分享的文字版。
作者 / Anna-Chiara Bellini, Product Manager, Nick Butcher, Developer Relations
最近 Flutter 发布了官方关于 2022 的 战略 和 路线图 ,本篇主要针对内容做一些总结和解读,给正在使用 Flutter 或者正打算使用 Fluter 的人做个参考。
声明式 UI 的大哥 Flutter 已经出道很久了,再学习 Compose 还有意义吗?Flutter 还是 Compose?先抛出我的结论:如果你想运用到实际的生产环境中,Flutter 肯定是更好的选择,因为更多的人帮你踩过了坑。如果你想 Kotlin 一把梭,只是学习尝鲜,结合 Jetpack Compose 可以很好的作为你的技术储备。简单的聊聊 Compose 中还不错的地方:
作者 / Maru Ahues Bouza, Director, Android Developer Relations
对于每个Android开发来说,JetPack Compose应该早就不是陌生的单词了。
目前,超过 2.5 亿台大屏幕设备搭载了 Android 系统,其中包括平板电脑、可折叠设备和 ChromeOS 设备。仅在过去的 12 个月里,就有近 1 亿台新的 Android 平板电脑被激活,同比增长 20%;而 ChromeOS 的增长率为 92%,是目前增长最快的桌面设备平台。可折叠设备正在崛起,同比增长超过 265%!总的来说,目前有超过 2.5 亿台活跃的大屏幕设备搭载了 Android 系统。在这样的势头下,我们将继续努力让 Android 成为更好的操作系统,为用户和开发者提供更优质的服务。
作为开发者,大家构建的应用体验以超乎想象的方式为全球用户提供帮助。在 Android 开发者峰会 上,我们讨论了如何关注用户、了解他们的需求,构建令其满意的体验,并专注于 Android 的重要主题: 帮助开发者构建优秀的跨设备应用。我们对 现代 Android 开发 (MAD) 产品进行了更新,助力大家提高工作效率,以便您专注于构建出色的应用,进而将这些跨设备应用扩展到所有设备类型。其中一项重大更新是我们在可折叠设备和平板电脑上隆重推出 12L 功能更新,这是一组专为 Android 12 大屏幕设备优化的功能。点击这里《2021 Android 开发者峰会主题演讲》视频。
希望开发者们以及家人都平平安安,健健康康!也许有的开发者还暂时没法回到办公室工作,也许有的开发者的发布日程会因为这次疫情而受到影响,但请相信,在每一个人的努力下,疫情会尽早过去,我们熟悉的那个春天会重回每一个人的身边。
Jetpack Compose 1.0 正式版已经发布快一年的时间了,我们看到社区正以极大的热情采纳和使用 Compose: Kotlin 语法的简洁性以及使开发界面变得更快速、更简单的声明式开发方式得到了广大开发者们的赞赏。
上个月,Android 开发者峰会 为 Jetpack Compose 带来了许多 激动人心的更新,包括 Google 的新设计语言 Material You,Compose 现已对其提供支持。若您错过了某些内容,可以通过本文简要了解精彩内容,也可以 点击这里 查看精彩内容视频。
最近一直在看 Compose 相关的东西,也算是从了解到入了个门,在将近一个月的课后(下班)学习中,输出了 3 篇原理性相关的文章,从文章标题可以看出,我是从原生与 Compose 之间的交互进行探索的:
看到一款基于多端的 UI 调试工具,一套代码适应多端,真的是太棒了,下面分享给大家。
Hello 大家好,我是《Flutter 开发实战详解》的作者,Github GSY 系列开源项目的负责人郭树煜,目前开源的 gsy_github_app_flutter 以 13k+ 的 star 在中文总榜的 dart 排行上暂处第一名。
领取专属 10元无门槛券
手把手带您无忧上云