故障出现 近期我的mirai机器人启动时遇到这个问题,表现为机器人的http API接口的端口无法连接,mirai机器人启动时出错。...2021-09-15 14:33:15 E/Mirai HTTP API: java.lang.NoSuchMethodError: 'double kotlin.time.DurationKt.toDuration...net.mamoe.mirai.api.http.MiraiHttpAPIServer$start$2$1$1.invoke(MiraiHttpAPIServer.kt:29) at io.ktor.server.engine.ApplicationEngineEnvironmentReloading.instantiateAndConfigureApplication...(ApplicationEngineEnvironmentReloading.kt:303) at io.ktor.server.engine.ApplicationEngineEnvironmentReloading.createApplication...(ApplicationEngineEnvironmentReloading.kt:138) at io.ktor.server.engine.ApplicationEngineEnvironmentReloading.start
例如,在两者的边界上,它是轻量级的,比我们说的Spring要小得多,但是在另一方面,它是很好的特色和非平凡的。 值得补充的是,并不是Java发明的微框架。...spark Spark -在Kotlin和Java 8中创建web应用程序的微型框架,只需最少的努力。 早在2011年Java就采用了微框架。...io.ktor.routing.* import io.ktor.server.engine.* import io.ktor.server.netty.* fun main(args: Array运行”这些应用程序。...x是在JVM上构建反应性应用程序的工具包。 总结 使用微框架工作既有趣又富有成效。有时,我们很容易总是选择Spring Boot,却忘记了Java和Kotlin的创新正在发生。
他们的成就主要都是在UI上跨平台,当然Flutter虽然可以处理一些公共的业务逻辑,但目前在业务较重的情况下仍然需要各自处理。 ...而KMM却与之相反,接下来让我们来一起了解一下吧~ 什么是KMM KMM 即 Kotlin Multiplatform Mobile 是一个 SDK,旨在简化跨平台移动应用程序的开发。...通过KMM开发者可以在 iOS 和 Android 应用程序之间共享通用代码,并仅在必要时编写特定于平台的代码。 ...创建项目 安装好插件并重启后,我们可以创建一个Kotlin Multiplatform App,如下图所示。...源集是一个 Gradle 概念,用于逻辑上组合在一起的多个文件,其中每个组都有自己的依赖项。 在 Kotlin Multiplatform 中,共享模块中的不同源集可以针对不同的平台。
如果使用 Kotlin Multiplatform 构建跨平台项目时,使用 Ktor 的客户端作为 Http 框架是一个不错的选择。...客户端是一个支持 JVM,JS,Android 和 iOS 的多平台库,现在经常在跨平台移动应用程序中使用。 二. Ktor 服务端的使用 我们可以通过多种方式运行 Ktor 服务端程序: ?...Ktor Server.png 在 main() 中调用 embeddedServer 来启动 Ktor 应用 运行一个 EngineMain 的 main() 并使用 HOCON application.conf...2.2 embeddedServer 当使用 embeddedServer 时,Ktor 使用 DSL 来配置应用程序和服务器引擎。...开发的背景:我们存在一些桌面程序部署在 Ubuntu 上,并需要对这些程序进行埋点,而 RxCache 本身支持磁盘的缓存。
作者 | Andrea Messetti 译者 | 平川 策划 | 丁晓昀 Ktor 是一个用于创建异步客户端和服务器应用程序的 Kotlin 框架。..., ContentType.Text.Html) } } }.start(wait = true) } 上述代码会在localhost:8080上运行一个嵌入式...Web 服务器,安装一个路由插件,并在收到根路径上的 GET HTTP 请求时回复“Hello, world”。...Ktor 应用程序可以托管在任何支持 Servlet 3.0+ API 的 Servlet 容器中,如 Tomcat,或使用 Netty 或 Jetty 独立运行。...要进一步了解如何使用 Ktor 创建基于微服务的应用,可以阅读 JetBrains 开发宣传副总裁 Hadi Hariri 在 InfoQ 上发布的这篇教程。
() } } 在MainKt文件中,入口处调用了App()方法,App方法中绘制了一个按钮,运行程序,结果如下图所示。...() } } 在App方法中,添加两个输入框分别为学号、密码,添加一个登陆按钮,写法与Android中的Compose一致,代码如下所示。...添加退出弹窗 当我们点击左上角(macOS)的X号时,应用程序就直接退出了,这是因为在Window函数中指定了退出事件,再来看一下这部分代码,如下所示。...运行程序,点击X号,弹出退出确认弹窗,点击确定,应用程序将退出。效果如下图所示。...实现一个网络请求功能 在 Kotlin 跨平台开发入门 中我们借用「wanandroid」中「每日一问」接口实现了一个网络请求,现在我们将这部分功能移植到Desktop程序中,网络请求框架仍然使用Ktor
Ktor: Kotlin Web后端框架 Web backend framework for Kotlin 快速开始入门 非常感谢您亲爱的读者,大家请多支持!!!...有任何问题,欢迎随时与我交流~ ---- Ktor 简介 Ktor 是一个用于在 Kotlin 中快速创建 web 应用程序的框架。...└── resources 12 directories, 4 files 在build.gradle中配置 Ktor 依赖 group 'com.easy.kotlin' version...'1.0-SNAPSHOT' buildscript { ext.kotlin_version = '1.1.3-2' ext.ktor_version = '0.4.0' // ktor...name="org.eclipse.jetty" level="INFO"/> 运行结果
果然,不运行不知道,一运行吓一跳 这个问题困扰了我两三天,实在是无从下手,毕竟现在相关的资料很少,经过N次的搜索,最终解决的方案很简单:Kotlin版本升级至1.8.0就可以了。...kotlin("android").version("1.8.0").apply(false) 再次运行项目,结果如下图所示。...iOS程序,效果如下图所示: 嗯~,Compose 在iOS上UI几乎可以做到100%复用,还有不学习Compose的理由吗?...实现一个双端网络请求功能 在之前的第1弹和第2弹中,我们分别实现了在Desktop、和Web端的网络请求功能,现在我们对之前的功能在iOS上再次实现。...title}") } } } 分别运行iOS、Android程序,点击请求数据按钮,结果如下图: 这样我们就用一套代码,实现了在双端的网络请求功能。
Ktor服务 该框架是为 Kotlin 编写和设计的。...该框架目前支持 Java、Kotlin 和 Groovy 语言。依赖是在编译时注入的,与 Spring Boot 相比,这会导致更少的内存消耗和更快的应用程序启动。...的支持建立在kapt编译器插件的基础上(参考Micronaut Kotlin 指南了解更多详细信息)。...Quarkus 应用程序目前没有 main 方法,但也许未来会出现(GitHub 上的问题)。...1、负载生成器和被测试的服务在同一台机器上运行(Windows 10、3.2 GHz 四核处理器、24 GB RAM、SSD)。 2、服务的端口在 Scala 脚本中指定。
KMM更像是营销术语,我们不用纠结Mobile这个词,你要知道的是,下文我们所说的KMM就是指的Kotlin跨平台不仅限于移动端就行了。 KMM可以简化多平台应用程序的开发。...通过KMM,开发者可以在 iOS 、 Android、Desktop与Web 应用程序之间共享业务逻辑的通用代码,在必要时也可以编写特定于平台的代码。所以,KMM只负责跨平台下的业务逻辑部分。...这里添加网络请求库Ktor和序列化的依赖,因为是Kotlin跨平台嘛,Ktor是Kotlin推出的网络请求库,所以肯定使用Ktor是最佳选择。...当然还有一些比较有名的App也开源了一些组件比如Cash App开源了Paging分页库。...官方给出了一些Compose Multiplatform的模版,也有Kotlin/Wasm的模板,但是唯独没有Compose Wasm for Web的模板,所以,我自己在github上开源了一个模板,
Kotlin Multiplatform Mobile ( KMM ) 是一个 SDK,旨在简化跨平台移动应用程序的创建。...在 KMM 的帮助下,您可以在 iOS 和 Android 应用程序之间共享通用代码,并仅在必要时编写特定于平台的代码。...KMM用纯Kotlin编写一次代码,即可在iOS和Android上运行,开发应用的公共业务逻辑只需要编写一次。KMM减少了为不同平台编写和维护相同代码所花费的时间。...当然如果依赖了一些库如ktor网络库,包也会变大,避免这个问题也可以不用依赖ktor,直接依赖现有的网络库来实现一个KMM SDK。...上面说到的第1点本地构建,在iosApp本地依赖构建sdkframework时,要将依赖项正确导入 Kotlin/Native 模块,Podfile必须包含use_modular_headers!
在观影指南系列的最后一篇,就来和各位同学关注一下 Kotlin 如何转换成前端 JS 及在服务器端应用的发展现况。...The State of Kotlin Support in Spring 在这场演讲里,Sebastien Deleuze 概述了使用 Spring Boot 2.2 和 Kotlin 进行应用程序开发的最新状态...gRPC 本质上是异步的,而 Kotlin 有很棒的协程,因此异步的 gRPC 和 Kotlin 协程应会是完美的搭配!...而对 Kotlin 在后端应用有兴趣的同学,则可以参考官方文档里的服务器端概览,以及 Ktor 官网、Kotless 在 Github 上的页面。对了!...Ktor 1.3 版在日前发布了,详情可以参考这篇博文。 这系列的观影指南就在这篇告一个段落了,希望对各位同学有所帮助。
它是目标 C 语言的替代品,Apple 和 iOS 是两个占主导地位的移动平台之一,Apple App Store 是 iPhone 和 iPad 应用程序市场,开发人员在这些平台上发布软件可获得收益。...它在 JVM 上运行,并与 Java 完全互操作。谷歌使其成为 Android 的首选语言。Kotlin 主要针对 JVM,但它可以编译为 JavaScript 和本机代码(使用 LLVM )。...因此,Kotlin 代码可以在浏览器和 iOS 中运行。 在服务器端,它可以在任何 Java 微服务框架以及 Ktor 或 http4k 上运行。...在 JVM 上运行,并受益于成熟的 Java 生态系统,跨平台,可编译为 JavaScript,这些优势使得 这些优势使得 Kotlin 越来越受欢迎。...Scala 代码可以编译为 Java 字节码并在 JVM 上运行。它提供了 JVM 生态系统的优势,而无需 Java 的冗长性。与 Kotlin 一样,它与 Java 是可互操作的。
downTo:递减,循环时可用,每次减1 step:步长,循环时可用,设置每次循环的增加或减少的量 when:Kotlin中增强版的switch,可以匹配值,范围,类型与参数 is:判断类型用,类似于...usesLazy.myLazyValue val b: String = usesLazy.myLazyValue val c: String = usesLazy.myLazyValue } 6 类型系统 6.1 编译时类型与运行时类型...在后续的版本更新中,第三方服务提供了新的批量处理的功能,允许在一次请求中同时转换多个数值。最直接的做法是在原有的接口中添加一个新的方法来支持批量处理,不过这样会造成已有的代码无法运行。...当往一个接口中添加新的方法时,可以提供该方法的默认实现。对于已有的接口使用者来说,代码可以继续运行。新的代码则可以使用该方法,也可以覆写默认的实现。...8.2.6 内联函数(inline) 使用 高阶函数 在运行时会带来一些不利: 每个函数都是一个对象, 而且它还要捕获一个闭包, 也就是, 在函 数体内部访问的那些外层变量.
技术评估:DSL、REPL 与编辑器 再回到实现上来,在进行架构工作台的技术评估时,我们关注于架构师编写的 DSL(领域特定语言)语法、REPL(read–eval–print loop) 运行环境以及用于交互的编辑器...在构建架构适应度函数时,也可以使用语言库提供的数学功能,以便于定制各类的计算规则。...在 REPL 上,起初我们纠结于自己实现,还是基于 Kotlin Jupyter,毕竟 Jupyter 包含了一系列的不需要的代码。...REPL 环境出错。...将每个库指定为具有 和 的 ,它们将在运行时解包。 效果上,就是 Spring 在运行的时候,会将对应的库从 BootJar 中解压出来到临时的目录。
在LinkedIn上搜索与Kotlin和Flutter相关的工作岗位,得到的结果如下(数据限定在美国区域,时间截止到2019年6月): Flutter:315份结果 Kotlin: 3342份结果 Flutter...你想要开发一款可以同时运行在iOS和Android平台上的应用吗? 你希望你的应用程序不仅仅运行在移动平台吗? 你需要自己来编写后台服务器程序吗? 这些问题我们还是逐个进行讨论。...如果你想要开发的是一款能够同时运行在移动双平台的应用程序,这个问题就变得有趣了,因为在Kotlin和Flutter的选择上面你将会有3种选项: Android和iOS应用都使用原生的开发方式。...Ktor框架的前提条件。...每当你准备学习一项新技术时,都会伴随着一定的风险。在Kotlin和Flutter的选择上面,有一些风险是值得考虑的。
谷歌在今年的 I/O 大会上宣布,Kotlin 编程语言现在是 Android 应用程序开发人员的首选语言(谷歌宣布 Kotlin 成为安卓开发首选)。...我们来回顾下 1.3的 新特性 稳定的协程 Kotlin/Native Beta 多平台项目和工具 用于 Kotlin/Native 和多平台的工具 Ktor 1.0 Beta 本次版本带来的牛逼特性主要对...IntelliJ IDEA 支持 调试功能的提升 当你在调试协程代码时,你可以看到有一个单独的异步堆栈 “Async stack trace” 显示挂起时的变量。...当程序在 suspend 函数或者 Lambda(例子的第 13行)中的断点停止时, “Async stack trace” 显示了变量在上一次挂起时的状态(12行)。...在调试 Kotlin 代码时,可以选择 “Kotlin” 模式来查看变量。
新版Kotlin从入门到精通(完结)Kotlin 从入门到精通:全面指南引言Kotlin 是一种现代的静态类型编程语言,它在Java虚拟机(JVM)上运行,并且可以编译成JavaScript或本地二进制文件...Kotlin 作为一种多平台的编程语言,除了在 Android 开发中广受欢迎之外,还在多个领域和应用场景中展现出了它的灵活性和强大功能。以下是 Kotlin 的一些其他主要应用场景:1....服务器端开发Ktor:由 JetBrains 开发的一个轻量级框架,用于构建异步服务器端应用程序。...数据科学与机器学习虽然 Python 是数据科学领域的主流语言,但 Kotlin 也逐渐成为一种选择,尤其是在需要与 JVM 环境集成的情况下。...移动跨平台开发Kotlin Multiplatform Mobile (KMM):使开发者能够共享业务逻辑代码在 iOS 和 Android 平台之间,同时仍然可以针对每个平台编写特定的用户界面代码。
领取专属 10元无门槛券
手把手带您无忧上云