Compose是在Kotlin之上构建的Android版布局引擎

2021-02-20 17:00:22 来源: INeng财经

如果您进行任何类型的开发工作,您可能已经听说过JetBrains。他们是包括IntelliJ(Android Studio的基础),CLion,PhpStorm以及许多其他其他IDE的庞大套件的支持公司。他们也是创造Kotlin(广受欢迎的跨平台编程语言)的人。JetBrains又回来了。一年多以前,谷歌为Android推出了一个名为Jetpack Compose的新布局引擎。它经历了自那时以来不少大的变化,但它变成一个称职的(尽管仍然有些不稳定)替代Android的经典的XML布局。

Jetpack Compose与JetBrains有什么关系?好吧,其中之一是用Kotlin写的。而且,JetBrains一直在默默地致力于将Compose移植到桌面空间。作为早期的开发人员预览版已经公开,现在JetBrains准备正式宣布它的存在。

什么是Jetpack Compose?

我在简介中对此进行了一些讨论,但是我认为它应该得到更多的解释。如果您以前使用Android进行过开发,则可能已经习惯了布局的工作方式。首先,您在XML文件中设计布局,然后从Java或Kotlin与该布局进行交互。虽然功能正常,但有些过时了,很难将布局拆分成多种语言。

作为替代方案,Google开始开发Jetpack Compose。Compose是在Kotlin之上构建的Android版布局引擎。您所有的布局和逻辑代码都在一个地方,这使交互变得非常容易。它也是声明性的,而不是XML布局的命令式样式。

从命令式迁移到声明式布局引擎可能需要一些时间,但Compose绝对是对XML的改进,即使它仍处于早期阶段。

Jetpack Compose for Desktop

因此,Compose是本机Android应用程序的不错的布局替代方案。但这不是(通常)跨平台的。这就是JetBrains的用武之地。该公司已将Jetpack Compose移植到桌面空间,并支持Windows,Linux和macOS(Intel和ARM)。

尽管还有其他桌面布局引擎,例如Electron,JavaFX和UWP,但现在有点混乱。有些不是跨平台的,所以它们只能在一个特定的操作系统上运行。其他的在技术上是跨平台的,但是需要大量工作才能分发。而且,像JavaFX这样的其他人也很痛苦。

另一方面,Jetpack Compose for Desktop相对易于使用,支持显示比例缩放,具有内置样式,并且(几乎)完全跨平台。虽然您还不能从一个操作系统编译所有发行版,但是代码本身是完全可移植的。与Android一样,打包的应用程序也基于Java,尽管用户不需要安装JDK就可以使用它。

交叉兼容性

由于Compose for Desktop仍然是新功能,因此缺少某些功能。为了帮助开发人员解决这些限制,Compose for Desktop可与两种较流行的Java布局引擎JavaFX和Swing互操作。如果您使用其中一个(或两个)引擎开发了桌面应用程序,则可以在保持当前代码库的同时开始过渡到Compose。

Android +桌面

如果您要将Compose Android应用程序带到桌面怎么办?好吧,您也可以这样做。您的应用程序的UI元素可以轻松在Android和台式机之间共享。您将无法共享所有内容,但无疑会使开发变得更容易。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。