JetBrains已发布Compose Multiplatform 1.10.0,这是基于Kotlin的声明式框架的最新版本,用于在多个平台上构建共享UI。该更新于1月13日发布,支持在桌面和iOS部署中对原生互操作元素进行自动调整大小。
元素自动调整大小功能
这些元素的大小调整意味着它们现在可以根据内容自适应布局,无需手动计算精确尺寸或提前指定固定尺寸。在桌面平台上,SwingPanel会根据嵌入组件的最小、首选和最大尺寸调整其大小。对于iOS,UIKit互操作视图现在支持根据视图的适配大小(内在内容大小)进行尺寸调整。这使得能够正确包装SwiftUI视图(通过UIHostingController)和不依赖NSLayoutConstraints的基本UIView子类。
有关Compose Multiplatform入门指南可在kotlang.org找到。Compose Multiplatform是构建在Kotlin Multiplatform技术之上的可选UI框架,用于为不同平台构建应用程序并重用代码。Compose Multiplatform应用程序可在iOS、Android、macOS、Windows、Linux和Web上运行。
Web缓存优化
在1.10.0版本中,Compose Multiplatform现在使用Web Cache API来缓存静态资源和字符串资源的成功响应。这避免了与浏览器默认缓存相关的延迟,浏览器默认缓存会通过重复的HTTP请求验证存储的内容,在低带宽连接下可能会很慢。缓存会在每次应用启动或页面刷新时清除,以确保资源与应用程序的当前状态保持一致。此功能为实验性特性。
其他功能改进
Compose Multiplatform 1.10.0的其他改进包括:
Compose热重载插件现在与Compose Multiplatform Gradle插件捆绑在一起。用户无需再单独配置热重载插件,因为对于面向桌面的Compose Multiplatform项目,它默认启用。
跨平台预览方法已统一。开发者现在可以在commonMain源集中使用androidx.compose.ui.tooling.preview.Preview注解。其他注解,如org.jetbrains.compose.ui.tooling.preview.Preview和桌面特定的androidx.compose.desktop.ui.tooling.preview.Preview已被弃用。
Navigation 3是用于管理导航的新库,现在支持非Android目标平台。
DialogProperties中的以下属性已升级为稳定版本,不再是实验性的:usePlatformInsets、useSoftwareKeyboardInset和scrimColor。同样,PopupProperties中的usePlatformDefaultWidth和usePlatformInsets属性也已升级为稳定版本。
不带PopupProperties参数的Popup重载的弃用级别已更改为ERROR,以强制使用更新的API。
对于iOS,Compose Multiplatform现在支持WindowInsetsRulers,它提供了根据窗口插入区域(如状态栏、导航栏或屏幕键盘)定位和调整UI元素大小的功能。
Q&A
Q1:Compose Multiplatform 1.10.0最重要的新功能是什么?
A:最重要的新功能是支持互操作视图的自动调整大小。这意味着原生互操作元素现在可以根据内容自适应布局,无需手动计算精确尺寸或提前指定固定尺寸,大大简化了开发工作。
Q2:Compose Multiplatform支持哪些平台?
A:Compose Multiplatform应用程序可在iOS、Android、macOS、Windows、Linux和Web上运行,是一个真正的跨平台UI框架。
Q3:新版本中的Web缓存优化有什么作用?
A:Web缓存优化使用Web Cache API来缓存静态资源和字符串资源,避免了浏览器默认缓存的延迟问题,特别是在低带宽连接下能显著提升性能。缓存会在每次应用启动或页面刷新时清除以确保一致性。
好文章,需要你的鼓励
无人机食品配送服务商Flytrex与全球知名披萨连锁品牌Little Caesars宣布合作,推出全新Sky2无人机,最大载重达4公斤,可一次配送两个大披萨及饮料,满足全家用餐需求。Sky2支持最远6.4公里的配送范围,平均从起飞到送达仅需4.5分钟。首个试点门店已在德克萨斯州怀利市上线,并实现与Little Caesars订单系统的直接集成。
FORTIS是专门测量AI代理"越权行为"的基准测试,研究发现十款顶尖模型普遍选择远超任务需要的高权限技能,端到端成功率最高仅14.3%。
法国社会住房项目ViliaSprint?已正式完工,成为欧洲最大的3D打印多户住宅建筑,共12套公寓,建筑面积800平方米。项目由PERI 3D Construction使用COBOD BOD2打印机完成,整体工期较传统建造缩短3个月,实际打印仅用34天(原计划50天),现场操作人员从6人减至3人,建筑废料率从10%降至5%。建筑采用可打印混凝土,集成光伏板及热泵系统,能源自给率约达60%。
荷兰Nebius团队提出SlimSpec,通过低秩分解压缩草稿模型LM-Head的内部表示而非裁剪词汇,在保留完整词汇表的同时将LM-Head计算时间压缩至原来的五分之一,端到端推理速度超越现有方法最高达9%。