image 更轻松桌面 UI 开发 Compose for Desktop 提供了声明式和响应式的方法,通过使用 Kotlin 来创建用户界面,它的 API 参考了其他现代框架(如 React 和Flutter...从本质上讲 Compose for Desktop 允许开发者通过组合函数在代码中声明桌面 UI,并且它会自动响应应用的状态同步。...就像 Kotlin 本身一样,Compose for Desktop 也遵循简单操作性和平稳迁移的理念,这样 Compose for Desktop 可以与 Swing 和 AWT集成在一起,这样开发者的...,其中涵盖了一系列主题,例如:操作图像、处理鼠标事件以及发送桌面通知等等。...在 #compose-desktop 中,就可以找到有关 Compose for Desktop 的讨论,在#compose 中,也可以讨论涉及 Android 上的 Compose 和 Jetpack
在 Compose for desktop 的早期版本中,他们为 IntelliJ 增加了一个桌面项目引导,可以让我们在几秒内配置好项目。...首先,我们需要从左侧菜单中选择 Kotlin,然后修改项目名称和位置。之后,我们需要选择项目模板。这是配置项目的一个重要步骤。我们需要从项目模板列表中挑选桌面模板,向下滚动就能找到。...运行你的第一个桌面应用 如果进展顺利,整个桌面项目加载完成后你将会看到以下界面: ? 此时,你可以运行该应用程序了。...代码从 Window 函数开始,用给定的内容打开一个窗口。它需要几个参数来初步配置窗口的属性,如 title、size、location、centered、content 等。...他还从 Compose Android 应用中创建了 the Spotify desktop clone[7],这给了我很大的启发。
时机正好,不妨趁现在开始学习 Compose,并着手规划今年 1.0 版发布之后,您将如何在接下来的项目或功能中使用该工具包。...Accompanist 还提供了适用于常见 图像加载库 的封装容器。...Compose 完全使用 Kotlin 构建,可利用其优秀的 语言特性 提供功能强大、简洁且直观的 API。例如,借助 协程,我们可以编写更简单的异步 API,如描述手势、动画或滚动。...现在时机正好,不妨开始学习 Jetpack Compose,并规划如何在接下来的项目中使用该工具包。...我们期待收到您对在应用中采用 Compose 的 反馈,您也可以在 Kotlin Slack 的 #compose 频道中参与讨论或在下方留言区和我们分享。
图像编辑器 Monica Monica 是一款跨平台的桌面图像编辑器,使用 Kotlin Compose Desktop 进行开发基于 mvvm 架构,使用 koin 作为依赖注入的框架。...Monica 开发的背景和初衷可以看 使用 Kotlin Compose Desktop 开发的图像编辑器。 目前 Monica 还处于开发阶段,当前版本的主要功能包括: 加载本地图片、网络图片。...放大、缩小图像。 对修改的图像进行保存。 二. 图像涂鸦 涂鸦是 Monica 的基础功能,就是对图像进行随意涂画。 点击上图带提示的按钮,就可以进入涂鸦界面,对图像进行随意的涂鸦。...图像裁剪 点击带提示的裁剪按钮 可以进入图像裁剪的界面 用户可以基于九宫格的选框,对图像进行裁剪。 裁剪完之后,会在主界面显示截取之后的图像。 图像裁剪也是大量基于 Canvas 的操作。 四....后期 Monica 的重点是增加对图像各种形状的裁剪,对现有算法的效率进行提升,增加用户和软件的交互,尝试引入一些深度学习的算法等等。
Compose 能应用于跨平台,主要是基于 KMM 架构,KMM 的介绍可以查看官方文档《Get started with Kotlin Multiplatform Mobile[1]》,我们来看下 KMM...从 compose-jb[2] 仓库来看,目前能复用的只有 Android 和 Desktop,想支持全跨平台的话,任务依然很艰巨,我们来看下简单的架构图: Android 与 Desktop 使用...,jb-compose 为 commonMain 层使用的通用模块,jetpack-compose 为 Android 所集成的平台模块,compose-desktop 为 desktop 所集成的平台模块...如果项目有资源混淆需求的话, 建议直接定义获取图片的方法,如: 3、多语言统一 多语言的实现与图片资源设置类似: 在运行 desktop 项目时遇到中文多语言乱码问题,解决办法是将项目编码改成 UTF...-8 即可: 资源设置可以查看我的项目:KMPCompose[7] desktop 多语言设置:java中如何实现多语言切换[8] 总结 在整个调研和使用下来,感觉 Compose 跨平台还有很长的路要走
Compose Multiplatform 与 KMM的关系 Compose Multiplatform 与 KMM的实践 开发者该如何选择 这里需要先说明的是,本次分享我们只会从使用的角度去分享,作为一次跨平台技术的普及...最主要的是,paging-common中的API与AndroidX 下的API完全相同,仅仅是将包从androidx.paging迁移到了app.cash.paging中,所以这部分的使用我们直接按照AndroidX...Desktop与Web 我们上面都是以Android和iOS为例,其实Desktop与Web端也是一样的,相对比来说我觉得Desktop已经比较成熟了,UI也是可以完全复用Jetpack Compose...好在Kotlin在1.8.20版本中推出了Kotlin/Wasm,最新的Compose for Web 是基于Kotlin/Wasm的,当前处于试验阶段。...中可以通过使用 UIKitView,在共享用户界面中嵌入复杂的特定于平台的小部件,如地图、 Web 视图、媒体播放器和照相机等。
而现在,就可以编写同样的 UI 层代码,然后运行到 Android 和 Desktop 了。不难发现,这是 kotlin 一直在搞的套路,多平台共享代码。...新建 Compose 项目 你可以更新到最新的 idea 2020.3,或者从 Github[3] 上拉取它的模板。这里我选择使用 idea。...在 kotlin 选项中找到 JetBrains Compose ,选择 Desktop uses Kotlin。 创建完成后等待 gradle 依赖下载。 但是在这里会出现问题,运行时报下面的错。...在 Gradle 中添加版本号。...在 Gradle 中添加新的配置 vendor 。
Compose Multiplatform 由 Compose for Desktop 和 Compose for Web 组成,通过 Kotlin Multiplatform 支持许多不同的平台。...我们希望通过本文帮助大家进一步了解 Compose 的跨平台能力,以及 JetBrains 将 Compose 从 Android 扩展到这些其他平台背后的主要驱动力是什么。...Compose 是一套声明式框架,其最大特色在于摆脱了传统 Android 方法中的层级结构,或者说布局与控制树。...JetBrains IDE 中的 Compose for Desktop 项目 Compose 与 Swing 有一个比较大的共同点:与其他使用本机控件的跨平台框架,比如例如 Java 的 SWT(Standard...Igotti 回应称,“我们使用 Kotlin/JS 编译器。”Compose 的 Web 版本不如桌面版先进,说明文档中也警告称“API 尚未最终确定,预计会发生重大变化。”
Compose Multiplatform 由 Compose for Desktop 和 Compose for Web 组成,通过 Kotlin Multiplatform 支持许多不同的平台。...我们希望通过本文帮助大家进一步了解 Compose 的跨平台能力,以及 JetBrains 将 Compose 从 Android 扩展到这些其他平台背后的主要驱动力是什么。...JetBrains IDE 中的 Compose for Desktop 项目 Compose 与 Swing 有一个比较大的共同点:与其他使用本机控件的跨平台框架,比如例如 Java 的 SWT(Standard...Igotti 回应称,“我们使用 Kotlin/JS 编译器。”Compose 的 Web 版本不如桌面版先进,说明文档中也警告称“API 尚未最终确定,预计会发生重大变化。”.../2021/08/06/compose_for_desktop_kotlin_framework/ 今日好文推荐 技术总监惨遭公司起诉索赔90万,原因是拖延开发进度?
Compose Multiplatform 由 Compose for Desktop 和 Compose for Web 组成,通过 Kotlin Multiplatform 支持许多不同的平台。...Compose Desktop 使用 Skia,这是一个经过良好优化的图形库,目前被许多对性能敏感的应用程序(包括现代浏览器)使用。...除了桌面,Compose Multiplatform 提供了一个强大的、声明性的 Kotlin/JS API 来处理 DOM——它具备你在现代 Web 框架中想要和需要的所有功能,包括全面的 DOM API...这个 App 已经有超过 100 万月活用户,并在 4 个月前完全从 C++ 和 Electron 迁移到 Compose Multiplatform。...要尝试 Compose Multiplatform 快速开始构建面向多个平台的应用程序,可以使用 IntelliJ IDEA 2021.1+ 中的 Kotlin 项目向导。
Room 2.4 还内建了对枚举和 RxJava3 的支持,同时也全面支持 Kotlin 1.6。 我们从 Room 2.5 开始使用 Kotlin 对整个库进行重写。...增量数据获取 Paging 库可以让您加载和显示整体数据中的一小部分,从而改善网络与系统资源的消耗。...您可以配合 RecyclerViews 或 Compose lazy list 优雅地渐进加载应用数据。...Navigation 组件现已通过 navigation-compose 组件集成到了 Jetpack Compose 中,从而允许可组合函数作为您应用中的目的地。...在下面的示例中,编译器应该提前优化的关键用户场景是冷启动: 从启动器打开应用的启动 Activity。
前言 在之前,我们已经体验了Compose for Desktop 与 Compose for Web,目前Compose for iOS 已经有尚未开放的实验性API,乐观估计今年年底将会发布Compose...,代码如下所示: compose.version=1.3.0 然后我们在shared模块中的build文件中引用插件 plugins { kotlin("multiplatform")...实现一个双端网络请求功能 在之前的第1弹和第2弹中,我们分别实现了在Desktop、和Web端的网络请求功能,现在我们对之前的功能在iOS上再次实现。...Compose-jb很久之前已经发了稳定版本只是Compose-iOS目前还没有开放出来,而KMM当前还处于试验阶段,不过在2023年Kotlin的RoadMap中,Kotlin已经表示将会在23年中发布第一个稳定版本的...因此,从第四弹开始,此系列将更名为:Kotin跨平台第N弹:~ 写在最后 从自身体验来讲,我觉得KMM+Compose-jb 对Android开发者来说是非常友好的,不需要像Flutter那样还需要额外学习
Paging 3.0 Paging 库让您可以加载和显示小块的数据以改善网络和系统资源的消耗。...这个版本的特点是使用 Kotlin 完全重写,对协程和 Flow 有一流的支持,用 RxJava 和 Guava 原语进行异步加载,并对存储库和表现层进行了全面改进。...DataStore 带来了对最佳实践的支持,如 Kotlin 协程与 Flow 和 RxJava。...符号处理 的实验性支持,在我们对 Kotlin 代码的基准测试中,其速度比 KAPT 提高了 2 倍,还带来了对枚举和 RxJava3 的内置支持。...您可以远程使用该库来跟踪持续集成测试中的指标,或在本地配合 Android Studio 中的剖析结果来使用。请 观看 Google I/O 演讲 进一步了解相关细节。
作者 / Android 开发者关系工程师 Florina Muntenescu 我们一如既往地搭建 产品路线图,现在已经发布了 Jetpack Compose 的 1.1 版本,这是 Android...Compose 1.1 还让许多之前的实验性 API 过渡到了稳定阶段,并支持新版 Kotlin。...全新稳定功能和 API 图像矢量 (Image vector) 缓存 Compose 1.1 引入了图像矢量 (Image vector) 缓存,带来了巨大的性能改进。...注意: 使用 Compose 1.1 需要使用 Kotlin 1.6.10。如需了解更多信息,您可以查看 Compose 与 Kotlin 的兼容性对应关系。 想知道未来计划?...您可以查看 最新路线图,了解我们目前正在评估和开发的功能,比如延迟加载项目动画、可下载的字体、可移动的内容等等!
进而,我们还了解到 Kotlin 深受开发者的喜爱,如今在排名前一千名的应用中,有超过 70% 的应用使用了 Kotlin,60% 的专业 Android 开发者都在使用 Kotlin。...Alpha 版本发布内容如下: Animations Constraint Layout 无障碍初步支持 输入和手势 与视图的互操作性 (可以在您现有的 app 中混合可以组合的功能) 懒加载列表 Material...从历史上看,Android 的视图层次结构一直被描述为 UI 组件树。随着 app 状态的变化,需要更新 UI 层次结构来显示当前的数据。...要了解更多相关信息,请参阅 Compose for existing apps codelab 或查看以下两个示例: Tivi 和 Sunflower 展示了如何在现有项目中集成 Compose Crane...示例应用 展示了如何在 Compose 嵌入一个 MapView 观看视频: 将 Compose 加入现有的应用:https://youtu.be/PjQdFmiDgwk 强大的工具 Android
如:引用空指针; 可以利用JVM、Android和浏览器的现有库进行互操作; 兼容很多现有工具,因为它能够选择任何Java IDE或从命令行构建(Android Studio 3.0提供了帮助用户使用Kotlin...可以在将Java代码粘贴到Kotlin文件中时即时转换所有Java文件或代码片段。 谷歌公司于2017年5月宣布 Kotlin为编写Android应用程序的主流语言之一。...回到对于Swift Cleaner的分析,在它首次启动后,会将受害者的设备信息通过短信发送到其远程C&C服务器提供的指定号码,并启动后台服务以从其远程C&C服务器获取任务。...在收到SMS命令后,远程服务器将执行URL转发以及启用点击或广告诈骗。...该博客文章进一步报告说,恶意软件可以将用户的服务提供商信息、登录信息和验证码图像上传到远程C&C服务器。
运行应用程序 现在您的文件已配置完毕,您可以运行该应用程序: docker compose up 或者,如果您之前正在运行该应用程序,则可以用以下命令重新启动该应用程序: docker compose...使用 Git: 从终端中的所需父目录运行以下 git 命令: git clone https://github.com/danny-avila/LibreChat.git 步骤 2....安装 Docker 下载:前往 Docker Desktop 下载页面 并下载 Docker Desktop。 安装:打开安装程序并按照说明进行操作。...运行:打开 Docker Desktop 以确保它正在运行。 注意: 建议大多数用户使用 Docker Desktop。...如果您正在寻找高级 docker/容器设置,尤其是远程服务器安装,请参阅我们的 Ubuntu Docker 部署指南。 安装后您可能需要重新启动计算机。 步骤 3.
IDE 后端将直接在 WSL 2 中启动,而不是在 Windows 上运行完整的 IDE。然后,您可以像在 IntelliJ IDEA 中使用远程开发时连接到远程机器一样轻松连接到它。...Find Usages(查找用法)结果中的相似用法集群 Find Usages(查找用法)现在提供有关代码元素如何在项目中使用的更深入信息。...Kotlin 对 Kotlin 1.7.20 功能的支持 IntelliJ IDEA 2022.3 现在完全支持 Kotlin 1.7.20 中引入的功能,包括新的 ..< 运算符和数据对象声明。...Docker 在不安装 Docker Desktop 的情况下从 WSL 使用 Docker 可执行文件 从 v2022.3 起,IntelliJ IDEA 支持连接到 WSL 中运行的 Docker...Pull Docker image(拉取 Docker 镜像)意图操作 新增的方式可供轻松拉取所需镜像,而无需从 Dockerfile、docker-compose.yml 或使用 Testcontainers
为了推广 Kotlin , 从之前的 first-class 到现在的 Kotlin-first , 再加上,Android 团队将会优先提供 Kotlin 版本的 Jetpack,看来确实是要把 Kotlin...之前的 camera 后面的 camer2 到现在的 camerax , camera 开发一直都是 Android 开发中的痛点,希望这次能有好的效果。...2.2 Jetpack Compose an open-source, Kotlin-based UI development toolkit Jetpack Compose API 可以让开发者用代码声明的方式来构建...另外,从我看视频的里他们的演示来看,这个东西现在还并不可靠。 未来会怎么样还不知道,保持关注。...那么未来 Flutter 可以支持 Mobile Web Desktop,一套代码,所有平台!! 另外还宣布了 Dart 的新功能,新组件,支持 Dart 2.3UI等。 Flutter 起飞?
领取专属 10元无门槛券
手把手带您无忧上云