看看,Jetpack Compose是什么新东西

Google 在 I/O 2019 上宣布 Kotlin 成为 Android 开发首选语言(怎么又宣布了哈哈),并且以后会有新的 Jetpack API 和功能将在 Kotlin 中提供,值得注意的是 Google 当天开源了一个叫 Jetpack Compose 的东西,让我们来看看是什么。

这里是目前公开的资料:

总的来说,就是用 Kotlin 代码写 UI 了吧,而不是用 xml 来描述布局了。有点类似 Flutter,某些同学觉得这是倒退(毕竟无限嵌套加回调真的不好看),也有同学觉得这是进步。我暂时不予置评哈哈,不过能看出谷歌会在 Kotlin 和 Jetpack 上继续发力。其实大家多看看 medium 上老外写的那些技术博客,清一色都是用的 Kotlin 来实现示例了,学有余力的同学不妨尝试一下,官方文档很完善,语言很简洁,确实是一门不错的 JVM 语言。

这是 medium 上一个大佬总结的优点:

  • 100% Kotlin ?
  • It is not part of Android OS which would allow us to keep the same minSdkVersion when we face a bug in the library as it would be fixed
    separately in the next versions of Jetpack Compose Library.
  • No need to write XML anymore.
  • Can be part of our lovely Android Architecture!
  • Potential flexible reusability ❤
  • It is part of AOSP, therefore, anyone can contribute to it.

以下是我给官方文档的译文(取自Github开源 Jetpack 中文翻译项目):


Jetpack 组件

原文链接:Jetpack Compose | Android Developers

用于构建 UI 的声明性工具包

Jetpack 组件(Compose)是一个非捆绑工具包,旨在简化 UI 开发。它结合了响应式编程模型和 Kotlin 编程语言的简洁性及易用性。

注意: Jetpack 组件目前处于早期探索的 pre-alpha 阶段。它的 API 层面尚未最终确定,不应用于生产。

探索 JETPACK COMPOSE

核心理念

简洁易用的Kotlin

基于 Kotlin 带来的好处——简洁、安全、并与Java完全互操作。旨在大幅减少必须编写的样板代码量,以便您可以专注于应用程序代码,并帮您避免各种类型的错误。

声明性

完全声明用于定义 UI 组件,包括绘制和创建自定义布局。只需将 UI 描述为一组可组合函数,框架就可以处理 UI 优化并自动更新视图层次结构。

兼容性

与现有视图兼容,因此您可以混合搭配,并按照自己的意愿采用直接访问所有 Android 和 Jetpack 的 API。

创造漂亮的应用

从一开始就采用开箱即用的材料化设计(Material Design)和动画设计,因此可以轻松创建充满动感的漂亮应用程序。

加速开发

通过编写更少的代码并使用 Apply Changes 和实时预览等工具来加速开发。

快速浏览

Jetpack 组件正在 Android开源项目 中开发。它有两个主要组成部分:

  • 组件 UI 库,其中包含核心的 UI 工具包,包括布局、输入、文本、动画、样式、小部件和图形。
  • 组件编译器,一个自定义的 Kotlin 编译器插件,它采用可组合的函数,并自动更新 UI 层次结构。

组件(Compose)应用程序由可组合函数构成,可将应用程序数据转换为 UI 层次结构。只需一个函数即可创建新的 UI 组件。

要创建可组合函数,只需将 @Composable 注解添加到函数名上即可。在底层,组件使用自定义的 Kotlin 编译器插件,因此当底层数据发生更改时,可以重新调用可组合函数以生成更新的 UI 层次结构。下面的简单示例将一个字符串打印到屏幕上。

import androidx.compose.*
import androidx.ui.core.*

@Composable
fun Greeting(name: String) {
   Text ("Hello $name!")
}

Jetpack 组件 UI 库的 API 位于 AOSP frameworks/support/ui 目录中。组件编译器和运行时代码可以在 frameworks/support/compose 中找到。

组件 UI 库

Jetpack 组件 UI 库包含以下模块:

android-text/

Android 特定于文本堆栈的实现

android-view/

现有 Android 视图的包装器和适配器

animation/

动画组件

animation-core/

动画系统的内部声明

core/

系统中使用的基类包括基本元素、图形和绘画

framework/

基本组件由系统作为构建块公开。这包括绘图、布局、文本等。

layout/

基本布局组件

material/

根据材料化设计规范构建的 UI 组件集

platform/

内部实现,允许 Android 实现与主机端测试分离

test/

测试框架

text/

文本引擎

发布了91 篇原创文章 · 获赞 204 · 访问量 54万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览