如果使用 Kotlin Multiplatform 构建跨平台项目时,使用 Ktor 的客户端作为 Http 框架是一个不错的选择。...客户端是一个支持 JVM,JS,Android 和 iOS 的多平台库,现在经常在跨平台移动应用程序中使用。 二. Ktor 服务端的使用 我们可以通过多种方式运行 Ktor 服务端程序: ?...在需要使用 Ktor 的 module 中添加如下的依赖: dependencies { ......2.2 embeddedServer 当使用 embeddedServer 时,Ktor 使用 DSL 来配置应用程序和服务器引擎。...HttpHeaders.ContentLanguage HttpHeaders.ContentType 下面的例子展示了如何配置 CORS 功能 fun Application.main()
在现代网络编程中,Ktor是一个高性能且易于使用的框架,它提供了对异步编程、WebSockets、HTTP客户端和服务器等特性的原生支持。...Ktor是使用Kotlin语言编写的,充分利用了Kotlin的协程特性来简化异步编程。本文将深入探讨Ktor库的高级用法,特别是代理服务器的配置和JSON数据的处理。...Ktor提供了代理服务器的支持,使得配置和使用代理变得非常简单。首先,我们需要创建一个HttpClient的实例,并在其中配置代理服务器。...Ktor提供了对JSON的原生支持,可以轻松地序列化和反序列化JSON数据。为了使用Ktor的JSON特性,我们需要在HttpClient的配置中安装JsonFeature。...通过本文的介绍,你应该能够理解如何在Ktor中配置代理服务器以及如何处理JSON数据。这些高级用法将帮助你构建更加强大和灵活的网络应用程序。
搭建项目 创建项目 因为目前Compose for iOS阶段还在试验阶段,所以我们无法使用Android Studio或者IDEA直接创建Compose支持iOS的项目,这里我们采用之前的方法,先使用...Android Studio创建一个KMM项目,如果你不知道如何创建一个KMM项目,可以参照之前的这篇文章KMM的初次尝试~ ,项目目录结构如下所示。...不过这是KMM的iOS项目,接下来我们看如何使用Compose编写iOS页面。...添加网络请求配置 首先在shared模块下的build文件中添加网络请求相关的配置,这里网络请求我们使用Ktor,具体的可参照之前的文章:KMM的初次尝试~ 配置代码如下所示: val commonMain...:ktor-serialization-kotlinx-json:$ktorVersion") implementation("io.ktor:ktor-client-core:$ktorVersion
可以使用 CocoaPods 或其他依赖项管理器的原生 iOS 项目和使用 Gradle 的 Android 项目中使用。...实现元旦倒计时 接着我们看如何实现元旦倒计时的功能,其实就是计算现在距离元旦还有多少天。...首先我们将用到依赖添加进来,这里主要有Kotlin协程、序列化(Ktor使用要求)、和Ktor,Ktor是一个可以用于HTTP请求的网络框架,如果读者不熟悉的话可自行查看。代码如下所示。 ...添加接口 这里我们仍然使用「wandroid」中的每日一问接口 :https://wanandroid.com/wenda/list/1/json 与在Compose中使用Paging分页库使用的接口和实体类是一样的...写在最后 到这里,恭喜你,已经入门了KMM的使用,更多的使用方法需要在实际项目中不断地去总结,去尝试,Jetpack目前也在开发KMM版本,这对KMM发展将会是一个推进~
在客户端,Ktor 2.0 带来了一个经过简化的 API,用于管理常见的 HTTP 请求;响应现在是HttpResponse类型,可以简单地使用 bodyAsText 访问响应体。...使用 Ktor 创建一个简单的服务器非常简单,如下所示: fun main(args: Array) { embeddedServer(Netty, 8080) {...Ktor 应用程序可以托管在任何支持 Servlet 3.0+ API 的 Servlet 容器中,如 Tomcat,或使用 Netty 或 Jetty 独立运行。...Ktor 使用 Kotlin coroutines 以直观的命令式流程实现异步编程,而为了避免阻塞线程,上述所有服务器容器都使用异步 I/O 工具。...要进一步了解如何使用 Ktor 创建基于微服务的应用,可以阅读 JetBrains 开发宣传副总裁 Hadi Hariri 在 InfoQ 上发布的这篇教程。
import org.jetbrains.ktor.netty.* import org.jetbrains.ktor.routing.* import org.jetbrains.ktor.application....* import org.jetbrains.ktor.host.* import org.jetbrains.ktor.http.* import org.jetbrains.ktor.response..., ContentType.Text.Html) } } }.start(wait = true) } 创建工程 首先使用 IDEA 创建标准 Gradle...compile "org.jetbrains.ktor:ktor-core:$ktor_version" compile "org.jetbrains.ktor:ktor-netty:$ktor_version...:ktor-core:$ktor_version" compile "org.jetbrains.ktor:ktor-netty:$ktor_version" 是 ktor 核心依赖。
讲师 Marharyta Nedzelska 在这场演讲里说明如何近乎无痛使用 gRPC 构建微服务,并讨论这种方式的优缺点及其他可以改进的地方。...在这场演讲里,讲师 Dan Kim 将通过一个真实的示例来说明如何轻松使用 Ktor 构建 API 服务,以及常见的业务需求包括:身份验证、获取数据、发布数据和部署。...State of Kotlin JS Sebastian Aigner 在这场演讲为大家带来了 Kotlin/JS 的最新发展,包括 Kotlin 的 JavaScript 和 TypeScript 软件包,如何使用...JavaScript 专属的测试工具、依赖管理、新的工具及各项改善,最后了解新的编译器后端如何改善现在和将来使用 Kotlin/JS 的开发人员工作。...通过这场演讲你将能了解 Kotlin/JS 领域的新变化,这些变化有助于改善我们使用 Kotlin 和 JavaScript 的方式,以及如何在 Web 充分利用 Kotlin。
Ktor 1.0 正式发布了??,Ktor 中文站也已更新。 Ktor 是 JetBrains 官方出品的互联应用框架。...使用该框架非常易于开发异步的服务器与客户端,并且能够充分利用 Kotlin 以及协程的优势。 Ktor 中文站是官方英文站的中文翻译(目前还在翻译中,欢迎组团一起)。...初学者可以从快速入门入手来学习与了解 Ktor,这一章大多数内容均已翻译。...上周六,有幸在 JetBrains 开发者日上分享了《Ktor——Kotlin 多平台异步 Web 框架实践》 ,这两天也把讲稿及相关 demo 整理了下。...服务框架使用 Ktor,100% Kotlin 开发,见下图: 另外,在 Kthumbor 项目中采用了测试驱动开发的方式(其中测试框架使用的是 KotlinTest),先写测试用例后写实现。
今天我们先来了解一下使用compose-jb开发一个桌面端应用的流程。 接下来还会有第二弹,第三弹......环境要求 开发Compose for Desktop环境要求主要有两点: JDK 11或更高版本 IntelliJ IDEA 2020.3 或更高版本(也可以使用AS,这里为了使用IDEA提供的项目模板...实现一个网络请求功能 在 Kotlin 跨平台开发入门 中我们借用「wanandroid」中「每日一问」接口实现了一个网络请求,现在我们将这部分功能移植到Desktop程序中,网络请求框架仍然使用Ktor...,当然其实你也可以使用Retrofit,这一点并不重要。...import io.ktor.client.* import io.ktor.client.call.* import io.ktor.client.plugins.contentnegotiation
在本文中,我将研究这个令人兴奋的领域,并分享我对它们使用的看法。 什么是微服务框架? 微框架是一种极简主义的web应用程序框架。...Serverless真正受益于小型和轻量级部署—如果您希望在这种上下文中使用Java,那么微框架似乎是一个很好的选择。...ktor 易于使用,有趣和异步。 不是Java,而是Kotlin微框架。Ktor是由JetBrains公司赞助和开发的,JetBrains是Kotlin的创造者,它致力于使开发变得简单和有趣。...Ktor Hello World: import io.ktor.application.* import io.ktor.http.* import io.ktor.response.* import...io.ktor.routing.* import io.ktor.server.engine.* import io.ktor.server.netty.* fun main(args: Array<
request-to=some-service-name} GET /application-info/logo 实现方式: 使用文本文件的配置方式 使用依赖注入 HTTP API MSA: 使用服务发现模式...Ktor服务 该框架是为 Kotlin 编写和设计的。...和 Helidon SE 一样,Ktor 没有开箱即用的 DI,所以在启动服务器依赖项之前应该使用 Koin 注入: val koinModule = module { single { ApplicationInfoService..." framework { name: "Ktor" release-year: 2018 } } 在 Ktor 和 Koin 中,术语“模块”具有不同的含义...因此,在 Helidon 和 Ktor 服务中, 我使用了Java类库方式的Consul 客户端。
request-to=some-service-name} GET /application-info/logo 实现方式: 使用文本文件的配置方式 使用依赖注入 HTTP API MSA: 使用服务发现模式...Ktor服务 该框架是为 Kotlin 编写和设计的。...和 Helidon SE 一样,Ktor 没有开箱即用的 DI,所以在启动服务器依赖项之前应该使用 Koin 注入: val koinModule = module { single { ApplicationInfoService..." framework { name: "Ktor" release-year: 2018 } } 在 Ktor 和 Koin 中,术语“模块”具有不同的含义。...因此,在 Helidon 和 Ktor 服务中, 我使用了Java类库方式的Consul 客户端。
Compose Multiplatform 与 KMM的关系 Compose Multiplatform 与 KMM的实践 开发者该如何选择 这里需要先说明的是,本次分享我们只会从使用的角度去分享,作为一次跨平台技术的普及...接下来我们来看Compose Multiplatform 与 KMM是如何实践的。...这里添加网络请求库Ktor和序列化的依赖,因为是Kotlin跨平台嘛,Ktor是Kotlin推出的网络请求库,所以肯定使用Ktor是最佳选择。...社区对KMM的支持 目前官方许多库都已经支持了跨平台,比如我们刚刚使用的网络请求框架Ktor、依赖注入Koin还有序列化组件等。...当然也有一些开源贡献者开源了一些组件,但是为了确保稳定性,我们一般需要自己去单独实现各自的业务逻辑,那么我们如何确保使用同一套API呢?
这个版本修复了绝大多数的新功能相关的关键 bug,除此之外,还有一些其他的更新值得一提: Ktor 的 API 已经完善,期待大家的使用体验和反馈。...Ktor 是一个基于协程的框架,使用它我们可以优雅的构建 Web 应用、Http 服务、移动应用和网页。 所有的新项目都已经采用官方代码规范 ,我们也非常鼓励大家也这样做。
第12章 使用Kotlin开发Web应用 12.1 Kotlin集成Spring Boot开发Web应用 12.1.1 Spring Boot简介 12.1.2 Kotlin集成Spring Boot...12.2 Spring 5 对 Kotlin的支持 12.2.1 函数式风格注册Bean 12.2.2 函数式风格开发Web应用 12.2.3 基于Kotlin Script 的模板引擎 12.3 使用...Kotlin的Web框架Ktor开发Web应用 12.4 基于Kotlin Script的模板引擎 ---- 《Kotlin极简教程》正式上架: 点击这里 > 去京东商城购买阅读 点击这里 >
从压测 actix v2/v3 (Rust) 和 Http4k, Ktor(Kotlin) 微服务上所学到的 作者分别使用 Kotlin 和 Rust 的不同框架写了同样的微服务, 并且对其进行了压测对比...使用正式环境压测,例如在 k8s中, 内存和 CPU 都是有限制的. 自己的存储, 例如例子中使用自己的 Elasticsearch. 原文中有大量的指标图对比,感兴趣的同学可以查看原文....作者甚至粗略地计算了他们各自的成本: Http4k Ktor Actix CPU time per request 560 µs 460 µs 170 µs Cost per billion requests...://paper.dropbox.com/published/Announcing-Actix-Web-v3.0-QOXXb1lXgTubzXHzUq9ONY5 Bunt,一个简便易用的命令行颜色库 使用起来非常简单...详细程度到代码级别, 采用 C 代码和 Rust 左右对比的模式,让你清清楚楚,从头到尾的了解他是如何从 C 移植到 Rust 上.
对于已有的接口使用者来说,代码可以继续运行。新的代码则可以使用该方法,也可以覆写默认的实现。...Kotlin的Web框架Ktor开发Web应用 Ktor is a framework for quickly creating web applications in Kotlin with minimal...effort. import org.jetbrains.ktor.netty.* import org.jetbrains.ktor.routing.* import org.jetbrains.ktor.application....* import org.jetbrains.ktor.host.* import org.jetbrains.ktor.http.* import org.jetbrains.ktor.response...Script的模板引擎 13 使用Kotlin实现DSL 13.1 DSL 13.2 Groovy的DSL语法 13.3 Kotlin使用闭包构建 DSL 14使用Kotlin开 发JavaScript
future = CompletableFuture.runAsync(() -> { // 做一些不需要返回值的操作 }); 在这个示例中,我们创建了一个 CompletableFuture 对象,它使用...CompletableFuture 中有很多方法可以用来描述异步任务之间的关系,如: thenApply thenAccept thenRun thenCompose thenCombine whenComplete 这些方法的使用方式相似...异常处理 CompletableFuture 中有很多方法可以用来处理异步任务中出现的异常,如: exceptionally handle 这些方法的使用方式相似,都是通过链式调用的方式,如下示例: CompletableFuture
Tcpdump is a CLI tool to capture raw network packets. This is useful for various...
领取专属 10元无门槛券
手把手带您无忧上云