Kotlin Multiplatform 未来将采用基于 JetBrains Fleet 定制的独立 IDE

近期 Jetbrains 可以说是动作不断,我们刚介绍了 IntelliJ IDEA 2024.3 K2 模式发布了稳定版支持 ,而在官方最近刚调整过的 Kotlin Multiplatform Roadmap 优先关键事项里,可以看到其中就包含了「独立的 Kotlin Multiplatform IDE,专为多平台开发量身定制的开发环境」的相关内容:

其实在此之前, Kotlin Multiplatform 官方就开始推荐使用 JetBrains Fleet 作为开发工具,而这次是更激进的采用基于 JetBrains Fleet 的独立 Kotlin Multiplatform IDE 的计划

对于 Kotlin Multiplatform 来说,官方之所以建议使用 JetBrains Fleet,是因为 Fleet 是一个适用于任何语言的代码编辑器,它被设计之初就是为「智能」的而生。

所以借助 Fleet,开发者可以快速调试和运行面向 Android、iOS、Web 和 PC 平台的多平台项目,Fleet 的智能模式会自动选择合适的代码处理引擎

说到底就是它能自动识别不同语言和调试不同架构,你不需要在 KMP 开发过程中打开多个 IDE 去调试,例如:

  • 在 Fleet 里可以在 Kotlin 代码直接跳转到对应的 Swift 代码:

  • 在 Fleet 里 rename 操作可以自动同时关联 Swift 和 Kotlin :

  • 在 Fleet 里 debug 断点可以同时作用 Swift 和 Kotlin :

所以可以看出来, Fleet 在跨平台领域的效率上更有优势,而基于 Fleet 定制出来的 Kotlin Multiplatform IDE 可以更好发挥这种优势

而对于 Android Studio ,官方也表示你可以继续使用 Android Studio,但是它对 Kotlin Multiplatform 的支持会相对有限

所以未来可以预见, Kotlin Multiplatform 在 IntelliJ IDEA 和 Android Studio 平台更多会是一个继续维护的“可用”的状态,而独立的 Kotlin Multiplatform IDE 会是 Kotlin Multiplatform 的未来,基于独立 IDE:

  • 开发人员不再需要在不同的 IDE 之间切换调试
  • 增强的语言支持,例如在 Kotlin 和 Swift 等语言的高亮和代码提示,错误提醒等
  • 创建统一的工作流程,在统一 IDE 里提高工作效率
  • 未来不排除增加云计算机构建 iOS,帮助没有本地 Apple 设备的开发人员
  • 尝试更深入的 AI 工具集成

至于为什么是基于 JetBrains Fleet 的独立 KMP IDE,而不仅仅是现在的使用 JetBrains Fleet

官方表示,目前在 JetBrains Fleet 中交付 KMP 是一种临时解决方案,而 Kotlin Multiplatform 更希望提供一个专为多平台开发场景量身定制和优化的一体化工具,提供专用技术、工具入门流程和各种相关许可选项,其中包括免费许可选项等。

对于没有 Kotlin 经验,但正在考虑跨平台开发选项的开发人员和团队,独立 IDE 可以帮助开发者更轻松上手 KMP 。

那 KMP IDE 是免费的吗

官方也表示,KMP IDE 将有多种免费选项,而确切的许可和定价架构会在稍后公布,那么是否也会有收费的可能?估计会有一些功能存在收费的场景。

至少从目前来看,独立的 KMP IDE 对于 Kotlin Multiplatform 来说是好事,可以在一个 IDE 里跳转、导航和调试多种不同语言架构的代码,对于 Flutter 开发者来说是一件多么羡慕的事情

参考资料

  • https://www.jetbrains.com/help/kotlin-multiplatform-dev/fleet.html#get-started-with-fleet

  • https://www.jetbrains.com/help/kotlin-multiplatform-dev/recommended-ides.html#other-ides-and-code-editors

  • https://www.jetbrains.com/help/kotlin-multiplatform-dev/kotlin-multiplatform-roadmap.html#key-priorities

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

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

相关文章

RangeInt,开源一个有限范围计数器模块。c语言的。 可以用于单片机

开源一个有限范围计数器模块。c语言的。 可以用于单片机 这个类的用途是 实现一个小范围(比如从0~314,或者-100到100)的整数,可以智能 --操作。 超过范围可以不再增长(可以理解为上饱和,或者下饱和&#xf…

RK3588适配MTK7921 USB接口WiFi驱动开发

在当前RK原厂提供的SDK里面已经适配的WiFi模组有不少,但是支持的模组大部分集中在realtek、正基、英飞凌等厂家。主要型号有Realtek的RTL8188系列、RTL8723系列、RTL8812系列、RTL8821系列、RTL8822系列和支持WiFi 6 的RTL8852系列,正基的AP6275系列、AP6276系列等。接下来将…

38_转置卷积

转置卷积也被称为(Transposed Convolution),也被称为fractionally_strided convolution、deconvolution。 转置卷积不是卷积的逆运算。 转置卷积也是卷积 转置卷积的作用是上采样。 1. 基础概念 转置卷积(Transposed Convolution…

【Linux】内核的编译和加载

Linux内核是操作系统的核心,负责管理系统的硬件资源,并为用户空间的应用程序提供必要的服务。内核的编译和加载是操作系统开发和维护的重要环节。本文将详细介绍Linux内核的编译过程以及如何加载内核到系统中。 1. 引言 Linux内核的编译是一个复杂的过…

C++适配器模式之可插入适配器的实现模式和方法

可插入适配器与Adaptee的窄接口 在C适配器模式中,可插入适配器(Pluggable Adapter)是指适配器类的设计允许在运行时动态地插入不同的Adaptee对象,从而使适配器具有灵活性和可扩展性。这种设计使得适配器不仅限于适配一个特定的Ad…

mybatis-plus方法无效且字段映射失败错误排查

问题: Invalid bound statement (not found): com.htlc.assetswap.mapper.WalletMapper.insert,并且select * 进行查询时带下划线的字段未成功映射。 排查: 1.检查WalletMapper接口,确保继承自BaseMapper 2.启用驼峰命名法映射。a…

Qt桌面应用开发 第七天(绘图事件 绘图设备)

目录 1.绘图事件paintEvent 2.高级绘图 3.图片绘制 4.绘图设备 4.1QPixmap 4.2QBitmap 4.3QImage 4.4QPicture 1.绘图事件paintEvent paintEvent——绘图事件 需求:利用QPainter绘制点、线、圆、矩形、文字;设置画笔改为红色,宽度为…

使用IDEA构建springboot项目+整合Mybatis

目录 目录 1.Springboot简介 2.SpringBoot的工作流程 3.SpringBoot框架的搭建和配置 4.用Springboot实现一个基本的select操作 5.SpringBoot项目部署非常简单,springBoot内嵌了 Tomcat、Jetty、Undertow 三种容器,其默认嵌入的容器是 Tomcat,…

【含开题报告+文档+PPT+源码】基于SSM的电影数据挖掘与分析可视化系统设计与实现

开题报告 随着互联网的普及和数字娱乐产业的蓬勃发展,电影作为一种重要的娱乐方式,已经深入人们的日常生活。然而,面对海量的电影资源,用户在选择观影内容时常常感到困惑和无所适从。传统的电影推荐方式,如人工筛选、…

C++使用minio-cpp(minio官方C++ SDK)与minio服务器交互简介

目录 minio简介minio-cpp简介minio-cpp使用 minio简介 minio是一个开源的高性能对象存储解决方案,完全兼容Amazon S3 API,支持分布式存储,适用于大规模数据架构,容易集成,而且可以方便的部署在集群中。 如果你已经部…

【君正T31开发记录】8.了解rtsp协议及设计模式

前边搞定了驱动,先不着急直接上手撸应用层的代码,先了解一下大致要用到的东西。 设计PC端先用vlc rtsp暂时H264编码(vlc好像不支持h265,这个后边我试试)的视频流,先需要支持上rtsp server,了解rtsp协议是必…

JavaScript中的this指向绑定规则(超全)

JavaScript中的this指向绑定规则(超全) 1.1 为什么需要this? 为什么需要this? 在常见的编程语言中,几乎都有this这个关键字(Objective-C中使用的是self),但是在JavaScript中的this和常见的面向对象语言中的this不太一样 常见面…

Spring注入Map学习

Spring注入Map学习 在Spring中 在策略模式中, 会经常用到 根据Bean名称获取Bean的实例 有2个方法很好用 1. 使用Autowired注入 2. 使用构造方法注入 但是奇怪的一点是: 日志打印并没有看到结果, 第一行的 Autowired的结果 是个null 那是因为 注入时机 的问题 注入时机&…

Redis五大基本类型——Set集合命令详解(命令用法详解+思维导图详解)

目录 一、Set集合类型介绍 二、常见命令 1、SADD 2、SMEMBERS 3、SISMEMBER 4、SCARD 5、SRANDMEMBER 6、SPOP 7、SMOVE 8、SREM ​编辑 9、集合间操作 (1)SINTER (2)SINTERSTORE (3)SUNION…

sql 查询语句:将终端数据形式转换成insert语句

文本转换:sql 查询语句:将终端数据形式转换成insert语句 如上,写过后端的都知道,从生产或其他地方拿到的数据,有可能会是图一;但实际上,我们需要图二的数据; 不废话,直接…

后端开发入门

后端开发最佳实践详解 1. 引言 后端开发不仅仅是编写功能代码,还涉及到如何构建稳定、可靠且高效的系统。掌握后端开发的最佳实践,可以帮助您避免常见的错误,提高代码质量,确保应用的可维护性和扩展性。以下内容将详细讲解这些关…

Ajax入门程序

前端和后台本来是没有联系的,前端想要从后台获取数据,就必须涉及到两个程序的交互,而Ajax就是用于完成两端交互的技术。 Ajax:Asynchronous JavaScript And XML:异步的JavaScript和XML。 异步交互:可以在不…

详解Qt 中使用虚拟键盘(软键盘qtvirtualkeyboard)

文章目录 详解 Qt 中使用虚拟键盘(软键盘:QtVirtualKeyboard)1. 虚拟键盘简介1.1 虚拟键盘的应用场景 2. 安装和配置2.1 安装 QtVirtualKeyboard2.2 配置环境变量 3. 使用虚拟键盘3.1 示例代码main.cppwidget.hwidget.cpp 4. 总结 详解 Qt 中…

第2.7节 AIGC+学术论文——选题与定位(二)

2.1 选题与定位 主题确定:选择一个既符合学术兴趣又具有研究价值的主题。 身份背景研究领域问题具体化使用AI搜索:文献回顾最新研究选题可行性与实际应用迭代 2.2.1身份背景研究领域问题具体化 (一)身份背景 根据以下模板…

TCL嵌入式面试题及参考答案

USB2.0 和 USB3.0 的速度区别是什么? USB2.0 和 USB3.0 在速度上有显著的区别。USB2.0 理论上的最高传输速度为 480Mbps,也就是 60MB/s 左右。而 USB3.0 的理论传输速度则可达到 5Gbps,即约 625MB/s ,这比 USB2.0 快了很多倍。 在实际应用中,USB2.0 通常用于一些对速度要求…