Kotlin Multiplatform的现状—2023年网络研讨会

Kotlin Multiplatform的现状—2023年网络研讨会

在2023年,Kotlin Multiplatform因其开发、当前状态和未来潜力而受到了相当大的关注。随着越来越多的开发者对采用KMP进行跨平台解决方案表示兴趣,JetBrains在11月下旬推出了一系列网络研讨会作为回应。首次网络研讨会聚焦于“Kotlin Multiplatform的现状”,旨在解答开发者的问题。今天,我很高兴与大家分享这个信息会议中的关键见解的简要总结。

什么是Kotlin Multiplatform?


Kotlin Multiplatform允许您为各种平台创建应用程序,并有效地跨平台重用代码,同时保留本地编程的优点。您的多平台应用程序将在不同的操作系统上运行,例如iOS、Android、macOS、Windows、Linux等。

https://www.jetbrains.com/kotlin-multiplatform/

KMP代码将被编译成Android的.jar文件和iOS的.framework文件。随后,我们可以将其作为标准依赖项合并到Android/iOS项目中。

Kotlin Multiplatform现在已经稳定并且可以用于生产环境

Jetbrains团队在几周前宣布了KMP的稳定性,这意味着我们可以毫无顾虑地在生产环境中使用它,当然,在此通知之前,许多项目已经使用KMP创建了。

Kotlin Multiplatform稳定版给我们带来了以下好处:

  • 严格的兼容性保证:请查看kotl.in/kmp-stability
  • 更简单的配置
  • 更快的构建速度
  • 更好的运行时性能
  • 新的文档资料

KMP库


自从Beta版本以来,KMP库的数量倍增,提供了各种工具,用于网络通信、数据存储、数学计算、分析等,为快速自信的应用程序开发提供了支持。
如果您想查看这些库的列表,一个很好的资源可能是Awesome Kotlin Multiplatform。

http://github.com/terrakok/kmp-awesome


默认层次结构模板

JetBrains团队正在努力改进构建配置体验,以使Kotlin多平台的入门更加容易。让我们来看一下下面的代码。

现在,让我们回顾一下sourceSets部分;它包含了KMP项目不同目标的目录。即使在最常见的情况下,也需要一些工作来设置它们。例如,如果我们考虑iOS的情况,我们需要为不同的架构创建不同的sourceSets。从Kotlin 1.9.20开始,只需声明您需要的目标,sourceSets将会自动为您生成。KMP使用一种称为默认层次结构模板的东西来实现这一点。


你可以使用sourceSets为每个平台定义依赖

开始使用Kotlin Multiplatform

JetBrains团队还做了另一件事,创建了一个新的文档门户。它包含了有关如何开始使用KMP、如何发布您的应用程序、示例等详细指南。您只需点击以下链接即可打开:kotl.in/kmp-portal

Kotlin-Swift互操作性

在网络研讨会中,还提到了有关Kotlin-Swift互操作性的一些信息,它指的是Kotlin和Swift之间的当前互操作性状态。这是一个由社区创建并由JetBrains团队改进的存储库。它涵盖了不同的方面,如函数、异常、数据类等等。请查看以下存储库以获取更多信息:kotl.in/interopedia

Compose Multiplatform

http://jb.gg/compose

最近的改进:1.5.0版本

  • 对话框、弹出窗口
  • 窗口插图
  • iOS的自然滚动
  • 120Hz刷新率
  • 稳定的桌面测试框架
  • 所有Material 3组件现已可用:ModalBottomSheet、SearchBar、DockedSearchBar、ExposedDropdownMenuBox
  • iOS的TextField改进
  • 兼容编译器缓存,增量构建更快
  • K2支持预览

Kotlin Multiplatform向导

现在,我们有一种新的更简单的方法来创建KMP项目,称为Kotlin Multiplatform向导。这是一个基于Web的向导,提供了最新的状态和依赖版本。您可以从以下链接打开它:kmp.jetbrains.co。例如,您可以选择要定位的平台以及是否共享UI界面。

Fleet

现在是时候谈谈Fleet了,这时会对这个工具与Android Studio进行一小比较。通常,Android Studio是用于开发KMP项目的集成开发环境(IDE),但我们有一个小细节,那就是Swift文件在Android Studio中被列为不支持的文本文件,而Fleet则具备对Swift的兼容性。

但是Fleet是什么呢?Fleet是JetBrains的下一代IDE,从头开始构建,基于20年开发IDE的经验。JetBrains Fleet使用IntelliJ代码处理引擎,具有分布式IDE架构和重新设计的用户界面。需要提到的是,Fleet目前还处于预览阶段。

https://www.jetbrains.com/fleet/



Fleet是多语言的,这意味着它支持许多语言。对我们来说最有趣的是它支持Kotlin和Swift。

Fleet是多语言的


Fleet: 总结一下

  • 由JetBrains打造的下一代多语言IDE
  • 提供对Kotlin和Swift的跨语言支持
  • 在公共预览期间免费使用

Amper

这是JetBrains团队最近宣布的最新工具。Amper是一个项目配置工具。它的目标是增强用户在项目配置和工具易用性方面的体验,即提供与IDE内部的兼容性,同时提供简单直接的初始体验。



以下是一个Amper的清单文件示例,用于 Kotlin Multiplatform 共享库,该库可以在 JVM、Android 和 iOS 应用程序中使用。

你可以先查看Amper的GitHub存储库,那里会有更多详细信息和许多使用示例:

github.com/JetBrains/amper

结论

本文讨论了Kotlin多平台最新的发展现状,Kotlin在各个技术方向均有较大的发展,希望本文能对你全面了解Kotlin多平台有较大帮助。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/284109.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

功放诊断测试

1.切换trace显示时间模式,Toggle time mode 2.测seedkey 需要加载seednkey.dll 3.功能寻址和物理寻址切换

制作RK3568 ubuntu20.04桌面版镜像

平台 主控: RK3568 编译主机: Ubuntu 20.04 AMD64 目标版本: Ubuntu 20.04 概述 RK3568是极具性价比的高能国产“芯“ , 是Rockchip面向与AIOT和工业市场打造的一款高性能、低功耗、功能丰富的国产化应用处理器。采用四核64位Cortex-A55架构,主频高达2.0GHz&#x…

【docker】修改docker的数据目录

背景 主节点是分配了较少内存和存储的低配机器,因为我们系统的rancher是用docker镜像启动的,而rancher和docker的默认目录都放在/var/lib下面,而这个/var目录目前只分配10G的存储,导致节点存储报警。因此想修改docker的数据目录&…

Linux值得学习吗?打工人利用业务时间学习Linux需要多长时间?

Linux值得学习吗?打工人利用业务时间学习Linux需要多长时间? 在开始前我有一些资料,是我根据自己从业十年经验,熬夜搞了几个通宵,精心整理了一份「 Linux的资料从专业入门到高级教程工具包」,点个关注&…

非常好用的C++跨平台网络通信Mongoose,随笔记录

简介 Mongoose 是一个 C/C 网络库。它实现了事件驱动, TCP、UDP、HTTP、WebSocket、MQTT 的非阻塞 API。它连接设备 并将它们带到网上。自 2004 年以来,一些开源和商业 产品已经利用了它。它甚至运行在 国际空间站! Mongoose 使嵌入式网络编…

2.1 数据操作

声明: 注意!!! 本博客仅用于本人学习笔记作用,所有资料来源都来自于李沐大神,博客中图片为沐神书上的图片。如有侵权,请联系本人删除,谢谢。 资料来源:https://zh-v2.d2…

亚马逊云科技re:Invent推出生成式AI技术堆栈及关键服务和工具

亚马逊云科技于29日推出“生成式AI技术堆栈”后,又在30日的re:Invent 2023大会上宣布了一系列支持这一全新堆栈的关键服务和工具。 亚马逊云科技数据和人工智能副总裁Swami Sivasubramanian在主题演讲中,将生成式人工智能与“超新星爆炸”进行了比较&am…

IT和业务部门都想要的数据摆渡产品是这样的!

企业只要进行了网络隔离,就必然会需要数据摆渡相关产品,不管是免费的也好,专业收费的也好,总之都是需要将数据流转起来进行使用。 传统的数据摆渡产品也不少,比如FTP,甚至是U盘拷贝,在功能上来说…

第二证券:市场结构性行情延续 关注科技成长等板块

上星期A股连续震动,小盘结构性行情连续。国内方针宽松新兴产业催化持续海外宽松生意升温的环境仍然有利于偏生长和小盘风格,主张注重同步受益于产业催化持续和方针活跃发力的TMT、医药、轿车等科技生长板块,别的,高股息板块在改改…

Redis 执行性能测试

Redis 性能测试是通过同时执行多个命令实现的。 语法 redis 性能测试的基本命令如下: redis-benchmark [option] [option value] 注意:该命令是在 redis 的目录下执行的,而不是 redis 客户端的内部指令。 实例 以下实例同时执行 10000 个…

华为黑科技充电车要来了 | 百能云芯

华为再度掀起黑科技风潮,新一款创新力之作——华为充电车(或被戏称为行动充电机器人)近日亮相于国家知识产权局的中国专利公布公告中。这款充电车外观设计专利已经获得授权,勾勒出一个圆润流畅、被寄予“可爱”期待的外观。在这款…

使用oled虚拟人主播,如何搭建场景

使用OLED虚拟人主播搭建场景,可以按照以下步骤进行: 确定场景需求:首先,明确需要搭建的场景类型,例如直播间、新闻演播室、产品发布会等。根据场景需求,确定所需的功能和设备。 选择合适的OLED虚拟人主播&a…