Kotlin Multiplatform稳定版本发布:加速跨平台开发的新里程碑

Kotlin Multiplatform稳定版本发布:加速跨平台开发的新里程碑
引言
在最新的消息中,JetBrains团队宣布Kotlin Multiplatform(KMP)将于2023年10月稳定发布。这一消息对于广大开发者来说毫无疑问是一个令人振奋的消息。KMP的正式生产稳定性意味着开发者们可以更加自信地利用该框架进行跨平台开发,同时也标志着KMP在行业中迈出的坚实一步。
Kotlin Multiplatform是一种跨平台开发框架,凭借其出色的特性和灵活性,迅速获得了包括麦当劳、Netflix和飞利浦等多家公司的青睐。然而,在此之前,该框架一直处于beta阶段或早期生产使用阶段。虽然已经有许多公司成功地使用了这个框架,但直到现在,KMP都没有达到正式的生产稳定性。而现在,随着Kotlin版本1.9.20的发布,KMP终于迎来了稳定版本。
新特性和改进
KMP稳定版本带来了许多令人振奋的新特性和改进,其中最重要的是向后兼容的保证。这意味着开发者们可以放心地升级到最新版本,而无需担心与之前的稳定版本不兼容的问题。
此外,Kotlin 1.9.20还带来了一个重大的更新,即Gradle设置的简化。过去,配置KMP需要一系列繁琐的设置步骤,尤其是在为iOS开发创建子目标时。然而,有了默认的层次结构模板,使用Kotlin 1.9.20后,设置流程得到了显著简化。这极大地提高了开发者的效率,使他们能够更快速地构建和部署跨平台应用程序。
之前,在声明目标平台时,如果我们想创建一些子目标,比如在MacBook上开发面向iOS的应用程序,同时支持Intel和Silicon芯片,我们需要使用以下设置:
kotlin {
..
iosX64()
iosArm64()
iosSimulatorArm64()sourceSets {..val iosX64Main by gettingval iosArm64Main by gettingval iosSimulatorArm64Main by gettingval iosMain by creating {dependsOn(commonMain)iosX64Main.dependsOn(this)iosArm64Main.dependsOn(this)iosSimulatorArm64Main.dependsOn(this)}
}
}
但是,有了默认的层次结构模板,使用Kotlin 1.9.20,设置可以简化为以下形式:
kotlin {
iosX64()
iosArm64()
iosSimulatorArm64()
// 不再需要显式声明iOSMain源集
}
展望未来
KMP稳定版本的发布为跨平台开发带来了更多的机遇和潜力。开发者们可以利用这个框架在不同的平台上共享代码,并通过一次开发实现多个平台的覆盖。这不仅降低了开发成本,还加快了产品的上市时间。
未来,我们可以期待KMP进一步发展和壮大。随着更多公司采用该框架并提供反馈,JetBrains团队将有更多的机会改进和优化KMP,以满足广大开发者的需求。
结论
Kotlin Multiplatform的稳定版本发布是跨平台开发领域的一个重要里程碑。它为开发者们提供了更可靠、更高效的工具,使他们能够更好地实现代码共享和跨平台部署。我们期待着在未来看到更多基于KMP开发的创新应用程序的出现,并相信这个框架将继续在行业中发挥重要作用。
参考
https://kotlinlang.org/docs/whatsnew1920.html#see-the-full-hierarchy-template
https://blog.jetbrains.com/kotlin/2023/11/kotlin-multiplatform-stable/
https://kotlinlang.org/docs/components-stability.html
相关文章:
Kotlin Multiplatform稳定版本发布:加速跨平台开发的新里程碑
Kotlin Multiplatform稳定版本发布:加速跨平台开发的新里程碑 引言 在最新的消息中,JetBrains团队宣布Kotlin Multiplatform(KMP)将于2023年10月稳定发布。这一消息对于广大开发者来说毫无疑问是一个令人振奋的消息。KMP的正式生…...
Paas-云管理
云管理平台(Cloud Management Platform,CMP)是由Gartner最先提出的企业云战略中的一种产品形态。Gartner对云管理平台(CMP)的定义是一种管理公有云、私有云和混合云环境的整合性产品。 什么是云管理平台 云管理平台&a…...
http-server安装使用
前段时间给电脑重装了系统,很多东西都没了,今天想在浏览器打开一个本地的html文件,发现电脑上没有http-server,于是装了一个,并且记录下安装过程 1、安装 nodejs,但如果你电脑上有,就无需下载 …...
【CSDN 每日一练 ★☆☆】【位运算】只出现一次的数字
【CSDN 每日一练 ★☆☆】【位运算】只出现一次的数字 题目 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实…...
Spring的注入
目录 一、Spring的概念 二、各种数据类型的注入 (1)studentService (2)applicationContext.xml(Sring核心配置文件) (3)测试 三、注入null或者empty类型的数据 (1…...
Linux-Docker的基础命令和部署code-server
1.安装docker 1.安装需要的安装包 yum install -y yum-utils2.设置镜像仓库 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo3.安装docker yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin do…...
微信小程序授权登陆 getUserProfile
目录 前言 步骤: 示例代码: 获取用户信息的接口变化历史: 注意事项: 前言 在微信小程序中,你可以使用 getUserProfile 接口来获取用户的个人信息,并进行授权登录。以下是使用 getUserProfile 的步骤: 小程序发了…...
深度学习AI识别人脸年龄
以下链接来自 落痕的寒假 GitHub - luohenyueji/OpenCV-Practical-Exercise: OpenCV practical exercise GitHub - luohenyueji/OpenCV-Practical-Exercise: OpenCV practical exercise import cv2 as cv import time import argparsedef getFaceBox(net, frame, conf_thresh…...
兔队线段树维护后缀非严格递增子序列的哈希值:CCPC2023深圳K
https://vjudge.net/contest/594134#problem/K 场上想到如果两个序列的后缀非严格递增子序列相同则平局,但不知道怎么维护 发现不用输出谁赢,只用判断是否平局,所以肯定是判断两个东西是否相等 然后如果单纯维护后缀非严格递增子序列&#…...
Django框架FAQ
文章目录 问题1:Django数据库恢复问题2:null和blank的区别3.报错 django.db.utils.IntegrityError: (1062, “Duplicate entry ‘‘ for key ‘mobile‘“)4.报错 Refused to display ‘url‘ in a frame because it set ‘X-Frame-Options‘ to deny5.报错 RuntimeError: cryp…...
chinese-hanfu-sd1.5-v30 训练日记
chinese-hanfu-sd1.5-v30 训练日记 训练数据: found directory /dataset/train_dataset2/chinese-hanfu-sd1-v30/img/10_ohxm woman contains 2465 image files found directory /dataset/train_dataset2/chinese-hanfu-sd1-v30/img/10_khs woman contains 8220 im…...
【Redis系列】Redis的核心命令(上)
哈喽,大家好,我是小浪。那么上篇博客教会了大家如何在Linux上安装Redis,那么本篇博客就要正式开始学习Redis啦,跟着俺的随笔往下看~ 1、启动Redis 那么如何启动Redis呢?最常用的是以下这个命令: redis-cl…...
鸿蒙 API9 接入 Crypto库
鸿蒙 API9 接入 Crypto库 开发环境 API9。 参考文档 之前研究了半天鸿蒙自身支持的算法库,只能说集成起来还是比较麻烦的,不如开箱即用的npm crypto好用。不过之前也没想到三方库会这么快的适配鸿蒙,毕竟小程序都多少年了,各种…...
Halcon WPF 开发学习笔记(2):Halcon导出c#脚本和WPF初步开发
文章目录 前言HalconC#教学简单说明如何二开机器视觉如何二次开发Halcon导出Halcon脚本新建WPF项目,导入Halcon脚本和Halcon命名空间 前言 我目前搜了一下我了解的机器视觉软件,有如下特点 优点缺点兼容性教学视频(B站前三播放量)OpenCV开源࿰…...
红队专题-从零开始VC++C/S远程控制软件RAT-MFC-超级终端
红队专题 招募六边形战士队员[16]超级终端(1) 招募六边形战士队员 一起学习 代码审计、安全开发、web攻防、逆向等。。。 私信联系 [16]超级终端(1) 服务端 — 本地打开cmd — 接收命令 — 执行 — 发送回显 客户端 — 远端发送命令 — 接收回显 发送开启cmd命令 --- 接受…...
ROS机器人毕业论文数量井喷-数据日期23年11月13日
背景 ROS机器人论文数量在近3年井喷发展,仅硕士论文知网数据库可查阅就已经达到2264篇,实际相关从业者远远远大于这个数值。 按日期排序,每页20篇,23年还未结束,检索本身也不一定完备,就超过200。 相关从业…...
BIO、NIO、AIO之间有什么区别
文章目录 BIO优缺点示例代码 NIO优缺点示例代码 AIO优缺点示例代码 总结 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 BIO、NIO和AIO是Java编程语言中用于处理输入输出(IO…...
强烈建议linux中nvidia 545.29驱动不要升
我之前一直用终端连接我的工作站(系统是arch rolling状态),结果昨天回家难得想试试545驱动下的效果。结果一用chrome播放视频就卡,甚至后面进Login界面也会卡住鼠标。 折腾了一晚上用 $sudo downgrade nvidia nvidia-prime nvid…...
css格式和样式选择器-学习记录
文章目录 一、css代码代码格式1、内联格式(不推荐)2、内部格式(不推荐)3、外部格式 (推荐) 二、css样式选择器1、类型选择器2、类选择器(推荐)3、id选择器 三、样式表的组合1、Multi…...
【Python】Matplotlib-多张图像的显示
一,情景描述 大家在写论文或者实验报告的时候,经常会放多张图片或数据图像在一起形成对比。比如,我现在有一张经过椒盐噪声处理的图像,现在进行三种滤波,分别是均值,高斯,中值滤波,…...
【调度算法】NSGA-II:多目标优化中的精英策略与多样性保持
1. NSGA-II算法入门:多目标优化的破局利器 第一次接触多目标优化问题时,我盯着屏幕上相互冲突的指标曲线发愁——提高系统响应速度就会增加能耗,降低延迟又会导致吞吐量下降。直到遇到NSGA-II算法,这种"既要又要"的困境…...
基于YOLOv11深度学习的蘑菇毒性检测系统(YOLOv11+YOLO数据集+UI界面+登录注册界面+Python项目源码+模型)
一、项目介绍 本项目基于 YOLOv11(You Only Look Once v11)轻量化深度学习目标检测算法,构建了一套端到端的蘑菇毒性检测系统,旨在解决传统蘑菇毒性鉴别依赖专业知识、效率低且易出错的问题。系统面向普通用户、食品安全监管人员…...
2026届最火的降AI率平台实测分析
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 现在,人工智能生成内容越来越普及了,降低AI检测率的工具成了好多创作…...
ComfyUI中的SVD模型避坑指南:文生视频常见问题与解决方案
ComfyUI中的SVD模型避坑指南:文生视频常见问题与解决方案 当你在ComfyUI中使用Stable Video Diffusion(SVD)模型进行文生视频创作时,可能会遇到各种意料之外的问题。这些问题往往会让创作过程变得坎坷,甚至让你怀疑自己…...
SEO_中小企业如何低成本做好SEO?完整方案介绍
前言:SEO对中小企业的重要性 在数字化时代,网站的流量和用户参与度直接影响到企业的销售和品牌知名度。特别是对于中小企业来说,如何通过低成本的方式提升网站的SEO表现,是每一个创业者和市场营销人员都关心的问题。SEOÿ…...
2026地学最新调剂信息:北京师范大学、合肥工业大学、兰州大学、广州大学、宁波大学等
北京师范大学文理学院(珠海):原网址:https://fas.bnu.edu.cn/zsjy/yjszs/72ce767035ea4a4cbd8ba5607569af1f.htm合肥工业大学资源与环境工程学院调剂信息:原网址:https://geoscience.hfut.edu.cn/info/1042…...
D3KeyHelper:革新性暗黑3自动化助手,重新定义游戏效率体验
D3KeyHelper:革新性暗黑3自动化助手,重新定义游戏效率体验 【免费下载链接】D3keyHelper D3KeyHelper是一个有图形界面,可自定义配置的暗黑3鼠标宏工具。 项目地址: https://gitcode.com/gh_mirrors/d3/D3keyHelper D3KeyHelper是一款…...
抖音无水印视频下载工具:5分钟快速上手完整指南
抖音无水印视频下载工具:5分钟快速上手完整指南 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. 抖…...
第二章:OpenClaw(TsClaw)智能体飞书消息渠道接入指南
注册一个飞书企业 已有企业微信管理员的请跳过此步骤 https://www.feishu.cn/accounts/page/ug_register 注册后,配置企业信息,企业名称填写真实的,或者可以任意填写不做认证 配置飞书开发者应用 步骤一:登录飞书开发者平台&a…...
translategemma-27b-it部署教程:Ollama模型缓存路径迁移与多用户共享配置
translategemma-27b-it部署教程:Ollama模型缓存路径迁移与多用户共享配置 1. 快速了解translategemma-27b-it translategemma-27b-it是一个基于Gemma 3架构的先进翻译模型,专门处理55种语言之间的翻译任务。这个模型不仅能翻译文字,还能看懂…...
