如果您还没有听说过Jetpack Compose,那么您最近去了哪里?Google 创建了这个声明式 UI 框架来替换 Android 中的标准 XML 布局引擎。Compose 允许开发人员在 Kotlin 中创建他们的布局和伴随的逻辑。Kotlin 背后的公司 JetBrains 也参与了 Compose 行动,并正致力于将其移植到桌面和网络。
JetBrains Compose for Desktop 和 Web 已经开发了一段时间。它有一个公开的 pre-alpha “技术预览”,开发人员可以使用它在 Compose 中创建跨平台应用程序。我个人将它用于我的三星固件下载器应用程序,它运行良好。
今天,JetBrains 正在将其 Compose 版本推广到 alpha。这意味着更稳定的 API,以及一些新功能和变化。
为 Web 撰写
先说网络。Compose for Web 甚至比 Compose for Desktop 更新,而且缺少很多。不过,这并不意味着它没有用。虽然开发人员可能无法获得适用于桌面和 Android 的精美核心 UI 元素,但开发人员仍然可以从使用声明式设计原则的 Kotlin 编写代码中获益。
现在 Compose 处于 alpha 阶段,Web API 应该更加稳定,随着时间的推移所做的破坏性更改更少(如果有的话)。
撰写窗口管理
回到桌面,开发人员在其应用程序中与窗口交互的方式发生了一些变化。
第一个是新的可组合窗口 API。这允许开发人员以声明方式与其应用程序中的窗口进行交互。例如,现在可以根据状态更改窗口标题,甚至可以根据状态打开和关闭窗口。
新窗口 API 的另一部分允许开发人员选择以自适应(而不是固定)大小打开新窗口。这意味着 Compose 将根据其内容计算窗口需要多大,自动设置初始大小,然后打开窗口。
插件
JetBrains Compose 一直有一个 Gradle 插件来执行编译和执行。在 alpha 版本中,这个插件的版本有所提升,并修复了一些错误。
不过,在 Gradle 插件之上,现在还有一个适用于 IntelliJ IDEA 和 Android Studio的 IDE 插件,以更好地支持 Compose for Desktop 和 Web。与 Compose for Android 类似,此插件允许开发人员将可组合函数注释为预览,并直接在 IDE 中查看布局预览。
该插件现在非常基础。它现在唯一的其他功能删除了关于将标题大小写用于可组合函数名称的 IDE lint 警告。但随着时间的推移,它将获得更多功能,例如实时预览。
架构支持
尽管 JetBrains Compose 的目标是跨平台,但它还不能完全支持所有 CPU 架构。alpha 将当前支持扩展到以下内容:
macOS:x86-64 (amd64)、arm64
Windows:x86-64 (amd64)
Linux: x86-64 (amd64), arm64
网络:最近的任何事情
虽然这当然不能涵盖所有内容,但未来的支持只会变得更好。
未来发展
JetBrains 选择将 Compose 转为 alpha 状态很重要。这意味着他们计划继续为它开发,最终进入测试版和稳定阶段。当然,还有更多功能。
结论
看到 Compose 带来的东西非常令人兴奋。在 Android 上,它取代了过时的(虽然完全可用)布局引擎。在桌面和 Web 上,它使用强类型语言带来声明式设计,这种语言比基于 TypeScript 的语言更易于使用(至少对我而言)。特别是在桌面上,Compose 有助于填补功能布局引擎的一个相当大的空白。
2021-08-11
2021-08-11
2021-08-11
2021-08-11
2021-08-11
2021-08-11
2021-08-11
2021-08-11