Android Compose has a lot of hype because it is declarative. The only problem is that it still lacks a lot of features. ConstraintLayout is by far the best layout to use to enhance the performance of an app and Android Compose still doesn't have ConstraintLayout in it. Not a lot of articles have made relevant arguments on whether to use or not to use Android Compose. In my opinion, Android Compose still has a lot to come, especially that it still isn't documented that well yet. Without all the essentials of a well-performing app, is Android Compose Production Ready?

推荐答案

UPDATE: In August 2021, a stable 1.0.0 release of Jetpack Compose shipped. By most conventional measures, Compose is production ready. The original answer is shown below in its original form.


Is Android Compose Production Ready?

I am going to assume that by "Android Compose", you mean "Jetpack Compose".

In 2019, Google has very consistently referred to Jetpack Compose as being in a preview state and not suitable for production use.

For example, on the main Jetpack Compose page, we have:

Note: Jetpack Compose is currently in Developer Preview. The API surface is not yet finalized, and changes are planned and expected.

Jetpack Compose Warning

On the main Jetpack Compose Tutorial page, we have:

注:Jetpack Compose目前处于开发者预览中.API界面尚未最终确定,不应在生产应用程序中使用.

Another Jetpack Compose Warning

In the Android Developer Summit keynote blog post, we have:

今天我们发布Jetpack Compose开发者预览版.你只需下载Android Studio的最新预览版本.Compose完全是在开放的AOSP中开发的.我们收到的持续反馈带来了许多API改进,我们要感谢您在我们的开发者研究和Kotlinlang Slack group中提供反馈.当我们进入开发者预览时,我们需要更多的反馈

(emphasis added)

Still Another Jetpack Compose Warning

所以,一年后再回来看看,我们将看看Jetpack Compose是否已经发展到Google个用户认为应该在生产应用程序中使用它的程度.

Kotlin相关问答推荐

如果一项工作失败,请继续在Kotlin 等待其他工作/子元素完成

在Kotlin中,有没有一种函数方法将一个列表(N个元素)映射到一个相邻元素之和列表(N—1个元素)?

如何访问方法引用的接收者?

某些公共函数显然不能在类实例上访问;Klaxon示例

jOOQ Kotlin Coroutines - Select all and exists查询

数据流弹性模板失败,出现错误&未知非复合转换urn";

Kotlin-elvis算子don';不使用map.get()

两个LocalDateTime之间的Kotlin差异

为什么我的通用Kotlin函数中的这个转换未经判断?

kotlin 父类具有依赖于抽象变量的变量

使用启动或使用 coroutineScope 启动协程之间的区别

如何将jooq multiset的结果映射到Hashmap(Java Map)?

kotlin 单例异常是好是坏?

Dagger 2 ContributesAndroidInjector 为模块提供活动

Koin Android:org.koin.error.NoBeanDefFoundException

在 Kotlin 中通过反射获取 Enum 值

Kotlin 枚举中的循环引用

如何解决此错误请Kotlin:[Internal Error] java.lang.ExceptionInInitializerError

应用程序在使用 Google Play 服务时遇到问题

Kotlin中的嵌套let块