速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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

  • 2023-11-13
    北京
  • 本文字数:1225 字

    阅读完需:约 4 分钟

大小:587.72K时长:03:20
JetBrains发布了Kotlin Multiplatform的首个稳定版本

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/

2023-11-13 18:575914

评论 1 条评论

发布
用户头像
怎么都没评论啊
2023-11-16 18:46 · 上海
回复
没有更多了
发现更多内容

Topaz Photo AI 2.1.2 for Mac(图像处理AI软件)

展初云

Mac 图像处理 Topaz Photo AI

Crescendo Masters for Mac「乐谱编写工具」

加油,小妞!

音乐制作 Crescendo Masters

IP代理安全吗?如何防止IP被限制访问?

Geek_bf375d

智慧工地管理平台源码

源码星辰

工地 智慧工地

现在的市场,我们怎么选择属于自己的一级币

币离海

zkSync 一级市场 Gensyn enemy

Premiere Pro 2024 for mac(视频编辑工具) v24.0.3中文版

展初云

Mac PR 视频编辑软件 Premiere Pro 2024

PDF Expert for mac(pdf编辑工具) v3.7.1中文激活版

展初云

Mac Mac软件 pdf编辑工具

不要以模块化为理由去实施微服务

neverwinter

架构 微服务 模块化

新网的机房写的是BGP链路,什么是BGP链路啊?

Geek_f19a80

服务器

Media Encoder 2024 for mac(媒体转码器) v24.0.3中文版

展初云

Mac Media Encoder 媒体转码软件

Mac电脑图像编辑器 Photo Image Editor Pixelstyle激活版

胖墩儿不胖y

图像编辑 Mac软件 编辑图像

Mac电脑好用的CSV文件编辑器 Modern CSV 激活最新版

mac大玩家j

Mac软件 csv文件

2023-11-18:用go语言,如果一个正方形矩阵上下对称并且左右对称,对称的意思是互为镜像, 那么称这个正方形矩阵叫做神奇矩阵。 比如 : 1 5 5 1 6 3 3 6 6 3 3 6 1 5

福大大架构师每日一题

福大大架构师每日一题

认知,是成长最大的桎梏

老张

深度思考 个人成长 认知

Apeaksoft Data Recovery for Mac中文版 数据恢复工具

彩云

数据恢复 Apeaksoft Data Recovery

Go、容器以及Linux调度器

俞凡

golang

Photo Image Editor Pixelstyle 图像编辑器

加油,小妞!

图像编辑

「AI技术图像编辑软件」Luminar Neo for Mac

彩云

Luminar Neo AI技术图像编辑软件

使用 Filebeat+Easysearch+Console 打造日志管理平台

极限实验室

Filebeat console 日志管理 easysearch

体育平台未来发展提供思路和建议,体育直播系统程序和赛事数据融合

软件开发-梦幻运营部

2023广告节:原生场景结合科技美学,鲸鸿动能赋能企业长效增长

最新动态

探索亚马逊大语言模型:开启人工智能时代的语言创作新篇章

熬夜磕代码、

亚马逊

After Effects 2024 for Mac(视频特效制作工具) v24.0.3中文版

展初云

Mac AE After Effects 视频特效制作软件

Ubutun开机黑屏解决方法

百度搜索:蓝易云

云计算 Linux ubuntu 运维

【云服务器选型指南:五大关键】

云服务器 安全性 云服务器ECS

亚马逊云科技AI创新应用下的托管在AWS上的数据可视化工具—— Amazon QuickSight

淼.

bitsCrunch:如何通过 AI 技术重塑 NFT 市场?

股市老人

null 不好,我真的推荐你使用 Optional

越长大越悲伤

Java

观测云助力跨境电商大幅提高加载性能

Yestodorrow

可观测性 跨境电商 性能提升 可观测性用观测云

WordPress 基于亚马逊云的部署实践(一)- 架构设计

王坤祥

AWS 亚马逊云 Amazon EC2 云服务器

JetBrains发布了Kotlin Multiplatform的首个稳定版本_跨端开发_Tim Anderson_InfoQ精选文章