我们又来了。我写过有关Google新的UI引擎Jetpack Compose的信息,当时它是进入alpha版本的,而当JetBrains将其移植到桌面平台时,我也写过它。今天,Jetpack Compose的Beta版发布了。如果您没有赶上现有的所有新UI技术(我不怪您),并且您不想通读其他文章(现在我也怪您),这里简要介绍一下这就是全部。Jetpack Compose是用Kotlin编写的声明式UI引擎,旨在取代(或至少是可行的)经典命令式UI引擎,例如Android的XML布局。我不会讲解声明式和命令式布局之间的区别,所以我们只说Jetpack Compose是一个功能强大的仅代码布局引擎,可以使UI的实现变得更加容易。
顺便说一句,Compose的beta版本到底意味着什么?走着瞧。
原料药
每个好的框架都需要一个API(根据定义)。在Alpha之前和Alpha阶段,Google努力构建Compose的API,以使其尽可能直观和有用。就像每个好的项目一样,它经历了许多修订。在这些阶段使用Compose可能会很困难,因为可以在没有太多警告的情况下删除或重命名API。
现在我们处于测试阶段,Google相信API的完整性和稳定性。这意味着无需再进行(激烈的)删除或更改,因此您可以花更多的时间在实际制作应用上,而不用跟上API的更改。
当然,稳定的API并不意味着一个不变的API。Google仍将添加功能并进行更改,但是现在将有适当的弃用通知和更换周期。
协程支持
还记得Google在Android中弃用AsyncTask时,每个人都感到担忧,然后完全忘记了它吗?您也许可以为此感谢Kotlin的协程框架。在最基本的形式上,它是AsyncTask的替代品,但它也更强大,更灵活并且具有更多的跨平台。
虽然Jetpack的撰写已经 有点 支持使用协同程序,它主要是被作为一个互操作层。不过,在Beta版中,协程内置于Compose中,因此您可以再次正确使用异步调用。
动画制作
在Android中制作动画可能会很烦人,有一段时间,它们也都在Compose中。不过,在测试版中,Google承诺使用“易于使用”的动画API来使事情变得更容易。他们还更新了Android Studio,以包括对预览这些动画的支持,因此您无需部署应用程序即可对其进行测试。
版面
Android Studio提供了一些漂亮的整洁工具来处理布局。一个是布局预览,可让您大致查看设备上的布局外观,另一个是布局检查器,可让您确切查看应用程序在设备上时的布局情况。
在此之前,布局预览确实适用于Compose布局,但是每次更改预览更新时都必须重新构建应用程序。不过,由于我们现在处于测试阶段,因此Android Studio已更新,其中包括您的Compose代码的实时预览。