Redian新闻
>
JetBrains 发布了 Kotlin Multiplatform 的首个稳定版本

JetBrains 发布了 Kotlin Multiplatform 的首个稳定版本

公众号新闻

作者 | Tim Anderson
译者 | 刘雅梦
策划 | Tina  

JetBrains 提供了 Kotlin Multiplatform 的首个稳定版本,支持跨 iOS、Android、桌面、Web 和服务器进行代码共享——尽管用于共享用户界面(UI)代码的部分,Compose Multiplatform,仅适用于 Android 和桌面。

Kotlin 是由 JetBrains 开发的一种 JVM(Java 虚拟机)语言,并被谷歌(Google)用作 Android 开发的首选语言。既然 Java 已经是为跨平台代码而设计的了,那么 Kotlin Multiplatform 又增加了什么呢?答案是 Kotlin 不仅仅是一种 JVM 语言。Kotlin/Native 使用 MinGW(适用于 Windows 的 GCC 工具链)和 Android NDK 编译成适用于 macOS、iOS、Linux、Windows 的独立可执行文件。Kotlin/JS 将 Kotlin 转换为 JavaScript。Kotlin Wasm 仍处于实验阶段,可编译成 WebAssembly。

Kotlin Multiplatform 是一种跨所有这些平台共享非 GUI 代码的技术。它解决了代码共享的两个常见问题,即对于所有目标平台的一个子集,仅需部分共享某些代码的需求,以及需要访问特定于平台的 API。

Kotlin Multiplatform 中的 Expect 和 Actual,解决了调用本机平台 API 的需求

本机 API 问题是通过预期声明和实际声明的机制来解决的。expect 关键字将声明标记为将与用actual关键字标记的代码匹配,actual关键字可能是特定于平台的。JetBrains 建议仅对平台 API 使用 expect/actual,其他情况使用普通接口。

2022 年的一项调查显示,Kotlin Multiplatform 应用程序的代码共享率高达 63%

Kotlin Multiplatform 适用于非 GUI 代码,但有一个相关项目 Compose Multiplatform,它可用于创建共享的用户界面(UI)。Compose Multiplatform 基于谷歌的 Jetpack Compose,用于构建 Android 用户界面。Compose Multiplatform 在桌面平台、macOS、Linux 和 Windows 上也是稳定版本,但在 iOS 上是 Alpha 版本,在 Web 上是实验性的。根据 JetBrains 的说法,Kotlin Multiplatform 已经被包括 Netflix 和 VMWare 在内的公司所使用。

如果 Compose Multiplatform 还没有准备好,那么开发者如何支持 iOS 呢?这可以通过使用 SwiftUI 来实现,SwiftUI 是苹果(Apple)的官方 UI 设计语言,它是基于声明式代码的。有一些代码示例正是采用了这种方式实现的。

JetBrains 还表示,他们的目标是在 2024 年发布面向 iOS 的 Compose Multiplatform 测试版本,Kotlin/Wasm 也在积极开发中。

去年,谷歌通过 引入 其他一些 Jetpack 库的“实验预览”,表达了对 Kotlin Multiplatform 的一些支持,这些库不是用于生产的,而是用于“在针对 Android 和 iOS 应用程序的多平台项目中使用这些 Jetpack 库的反馈”。请注意,谷歌还提供了使用 Dart 语言和 Flutter UI 进行跨平台开发的 Flutter。

使用 Kotlin 而不是 Java 的另一个原因是它的语言特性,包括 lambda 表达式、扩展函数、类型推理、null 安全等等。Kotlin 没有检查异常,因为这些不会提高生产力或代码质量。

Kotlin Multiplatform 和 Compose Multiplatform 均可免费使用。Kotlin 的代码位于 Github 上,许可证是 Apache2.0。

原文链接:

https://devclass.com/2023/11/01/jetbrains-offers-first-stable-release-of-kotlin-multiplatform/

声明:本文由 InfoQ 翻译,未经许可禁止转载。


今日好文推荐
“谷歌有谷歌的规矩”
丢掉 LangChain、像 Docker一样编排大模型应用程序:这支十余人的年轻创业团队如何在2个月做出一个LLMOps平台?
仅凭 7 页 PPT 拿下 1 亿美元融资、半年后估值超 10 亿!“欧洲 OpenAI”杀疯了
易鲸捷否认贴牌 Oracle;鸿蒙进教材:“纯血”版不再兼容安卓应用;大叔们遭AI女友“断崖式分手” | Q 资讯

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
你没有看过的全新版本,Transformer数学原理揭秘COMSOL 全新发布COMSOL Multiphysics® 6.2 版本ETF逆市“吸金”!Global X ETFs首席投资官重磅解析ETF大时代下的关键趋势JetBrains 推出独立 Rust IDENeurIPS 2023 | MCUFormer: 可在内存有限微控制器上部署的Vison Transformer模型Alaska/JetBlue 为 Delta 提供的定向精英会籍匹配活动【AA 也加入了】JetBrains推出新的C/C++ IDE:CLion Nova【精选】鼻祖老婆饼店、11月偶像应援、New Jeans限定版可乐……Java近期新闻:Spring Framework 6.1、Spring Data 2023.1、Payara Platform​AAAI 2024 | 首个多模态实体集扩展数据集MESED和多模态模型MultiExpan竞选 | Braintree市长Charles Kokoros竞选连任线下筹款见面会[电脑] 14900K+Z790 FORMULA+RTX4090,联力包豪斯 Vision 机箱装机展示JetBrains 推出基于 IntelliJ 平台的技术文档写作工具 WriterSide周末品尝中餐美食,途中遭警察拦截当下一代Transformer遇上ViT:Vision RetNet已来!46 茶山野道观没这个男人, 行不行?Alaska/JetBlue 为 Delta 提供的定向精英会籍匹配活动把握时代脉搏,共建ETF生态圈!招商证券"招财杯"ETF实盘大赛圆满收官11月必看!“新世界三大男高音”Juan Diego Flórez首次亮相澳洲!血压<120/80、血糖<5.6、LDL-C<1.8!心脏病学教父Braunwald强调心血管病“零级预防”China’s New Public Academic Platform Takes on Industry Giants个人投资者成ETF持有主力!深交所重磅白皮书发布,这类主题ETF最受青睐47 王梓其的轮回NeurIPS 2023 | 结合脉冲神经网络和Transformer的纯加法Transformer0.3%参数推理,实现78倍加速!ETH团队提出UltraFastBERT,构筑语言模型巨人旗舰降噪耳机新标杆|Bose QC消噪耳塞Ultra/头戴式耳机Ultra全面体验45 六姨娘NeurIPS 2023 | MixFormerV2:基于Transformer的高效跟踪器精选DS岗位 | Apple、Netflix、Garmin公司岗位发布!公募鏖战ETF,基金发行"冰火两重天"!何时实现"每四人就有一人买ETF"?颠覆Transformer霸权!CMU普林斯顿推Mamba新架构,解决致命bug推理速度暴增5倍马斯克首个AI工具Grok命名有何深意?ChatGPT给出完美解答;OpenHarmony 4.0版本正式发布丨AIGC日报Dell APEX Cloud Platform:多云理想照进现实JetBrains发布2023开发者报告!35岁危机存在吗?谁是最好的编程语言?
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。