查看原文
其他

一起看 I/O | 将 Kotlin 引入 Web

Android Android 开发者 2023-07-05
作者 / 产品经理 Vivek Sekhar


我们将在本文为您介绍 JetBrains 和 Google 的早期实验性工作。您可以观看今年 Google I/O 大会中的 WebAssembly 相关演讲,了解更多详情:

https://youtu.be/RcHER-3gFXI?t=604


应用开发者想要尽可能地在更多平台上最大限度地吸引用户。当下,该目标意味着开发者需要针对 Android、iOS 和 Web 平台分别构建应用,并构建相应的后端服务器和基础设施来提供支持。

为了减少工作量,一些开发者会使用多平台语言和框架来开发应用的业务逻辑和界面。之前,将这些多平台应用引入 Web 意味着开发者需要将共享的应用代码 "编译" 成可在浏览器中运行且速度较慢的 JavaScript 版本。相反,他们通常会使用 JavaScript 重写应用,或者直接引导 Web 用户下载原生移动应用。

得益于名为 WebAssembly GC 的新技术,Web 社区正在开发更出色的替代方案: 直接支持现代语言的 Web。这项新的 Web 功能允许使用受支持的语言编写的跨平台代码在所有主流浏览器中以接近原生的性能运行。

我们很高兴在 Web 上推出对 Kotlin 新功能的实验性支持,这将让 Android 和 Web 开发者有机会以更快的性能分享新代码。



Web 上的 Kotlin 多平台开发



Kotlin 是一种高效且功能强大的语言,在排名前 1,000 的 Android 应用中使用率达到 95%。开发者表示自己在将编程语言切换至 Kotlin 之后,不仅提高了工作效率,也降低了错误的发生次数。

  • Kotlin
    https://kotlinlang.org/

  • 不仅提高了工作效率,也降低了错误的发生次数
    https://www.jetbrains.com/lp/devecosystem-2021/kotlin/#Kotlin_what-do-you-use-kotlin-for-project-type

JetBrains 开发的 Kotlin Multiplatform Mobile 和 Compose Multiplatform 框架有助于开发者在他们的 Android 和 iOS 应用之间共享代码。这些框架目前提供对 Kotlin 代码编译成 WebAssembly 的实验性支持。早期实验表明,在 Web 上使用 WebAssembly 运行 Kotlin 的速度比使用 JavaScript 快 2 倍。


  • Kotlin Multiplatform Mobile
    https://kotlinlang.org/lp/mobile/

  • Compose Multiplatform
    https://www.jetbrains.com/lp/compose-multiplatform/


如需了解更多内容,您可以参阅 JetBrains 所发布的 K2 编译器 1.8.20 版的版本说明,同时您也可以在文档中了解如何在自己的应用中试用 Kotlin/Wasm。


  • K2 编译器 1.8.20 版的版本说明
    https://kotlinlang.org/docs/whatsnew1820.html#new-kotlin-wasm-target

  • 文档

  • https://kotlinlang.org/docs/wasm-get-started.html



大功告成



将 Kotlin 等现代移动语言引入 Web 需要解决具有挑战性的技术难题,如多语言垃圾回收和 JavaScript 互操作性。您可以在今年 Google I/O 大会的全新 WebAssembly 语言演讲视频中了解详情:

https://youtu.be/RcHER-3gFXI?t=604


在此特别感谢浏览器供应商、相关学者和 W3C WebAssembly 社区小组中不同 Web 服务提供商的开放式协作。没有大家的共同努力,这项工作不可能顺利完成。在接下来的几周,我们将在 V8 博客中分享有关这项创新工作的技术详情。


  • W3C WebAssembly 社区小组
    https://www.w3.org/community/webassembly/

  • V8 博客
    https://v8.dev/blog



展望未来: Web 和原生开发



几十年来,开发者一直希望将 Web 打造为一种 "通用运行时",但与此同时,开发者明白 Web 与原生平台之间还具有一定的功能或性能差距。长期以来,开发者不得不在 Web 和原生移动应用之间进行切换。


但是,我们希望您可以将 Web 和原生体验相结合。这不仅能帮您减少工作量,还可以帮助您利用 Web 的独特优势。


在开放的 Web 生态系统中,您的应用距离吸引新用户仅 "一键之遥"。没有应用商店的阻碍,也没有收益分成影响您的盈利能力,用户可以像分享网页一样轻松发现并分享您的应用。


WebAssembly 具有跨平台开发的能力、原生移动应用的性能和 Web 的开放性,这就是为什么我们喜爱 WebAssembly。


我们期待看到您的下一个杰作!欢迎您持续关注 "Android 开发者" 微信公众号,及时了解更多开发技术和产品更新等资讯动态。




推荐阅读

如页面未加载,请刷新重试

 点击屏末 | 阅读原文 | 即刻了解 Kotlin 更多相关内容




您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存