ktor框架用到了netty吗_Kotlin web框架推荐:Ktor

Kotlin web框架

Ktor 是一个基于Kotlin的使用最小的代价,快速创建一个web应用程序的框架。

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.*

fun main(args: Array) {

embeddedServer(Netty, 8080) {

routing {

get("/") {

call.respondText("Hello, world!", ContentType.Text.Html)

}

}

}.start(wait = true)

}在localhost:8080运行嵌入式web服务

当根路径接收到GET方式的http请求时。配置路由并响应Hello, world!。

原理

Unopinionated

Ktor 框架没有强制要求在工程中是 使用 – 日志,模版,消息,预处理,序列化,依赖注入等等技术。 有时候它可能需要实现一个简单的接口。但一般情况下主要是写转移或拦截函数。 这些特性通过同一的拦截机制(可以搭建任意的管道)进行配置。

Ktor 应用可以部署在任何支持 Servlet 3.0+ API 的servlet容器就像是Tomcat,或是独立的使用 Netty 或 Jetty。 可以通过添加一致的主机API来支持其他类型的主机。

Ktor APIs大多数函数都通过lambda表达式进行调用。感谢 Kotlin 的 DSL 功能, 代码看起来像是说明。应用的组织完全由开发者来选择 – 函数或类,使用依赖注入框架或是所有的功能都在main函数中实现。

异步

Ktor 的管道机制和API利用Kotlin的协同程序,提供易于使用的异步编程模型而不使其过于笨重。所有站点的实现都使用异步 I/O 设备,以防止线程阻塞。

可测试

Ktor 应用可以部署在特殊的测试环境,一定程度上模拟web服务,而不需要网络操作 。它提供了简单的程序测试方式,没有模拟太多的东西。但在验证程序调用的时候,仍然能达到很好的性能。在真实的嵌入式Web服务器中进行集成测试,当然也是可以的。

文档

请浏览 ktor.io(http://ktor.io/) 的快速开始以及过于特性、使用、机制的详细解释。Getting started with Gradle(http://ktor.io/getting-started-gradle)

Getting started with Maven(http://ktor.io/getting-started-maven)

Getting started with IDEA(http://ktor.io/getting-started-idea)

启示

Kotlin web 框架,像是 Wasabi 和 Kara,现在已经弃用了。

Github地址:Ktor web 框架 (https://github.com/Kotlin/ktor)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值