Ktor 1.0 正式发布:JetBrains 出品的互联应用框架

在我们开展Kotlin工作时,我们实现了很多特性,以便用于构建符合使用习惯且高效的API。我们始终期待着能有一个将这些特性发挥得淋漓尽致的Web框架。今天,我们终于可以说已构建了这样的框架!欢迎你,刚迈向成熟的Ktor1.0

Ktor是一个使用Kotlin在互联系统中构建异步服务器与客户端的框架 。由Kotlin团队创建,因此它充分利用了语言特性,为开发人员提供了出色的开发体验和运行性能。

Ktor完全是由协程构建起来的,使得编写复杂的异步代码简单得像同步代码一样。协程的运行也非常高效。同时,Kotlin的特性允许我们提供领域专用语言 (DSL) – 一种简洁且开发人员易于使用的API,用于配置应用程序,这些代码就像魔法一样神奇。

当然,Ktor不是使用Kotlin构建服务端应用程序的唯一选择。我们希望能看到其他的框架,能如同Spring和Vert.x那样为Kotlin提供”一等公民”的支持,使用这些框架能确保您的投资及开发经验不会白费。与此同时,协程和DSL是Ktor独特的优势,相信这会是您新的后端项目或微服务的一个好选择。

Ktor已经部署在许多大规模运营项目的生产环境中。例如,HLTV.org每月有大约2亿次的浏览量,经过Ktor的总共有大约31亿次的浏览量。Ktor在最新的ThoughtWorks Technology Radar榜上有名。

“包裹”清单

Ktor有两个重要组成部分,其一是运行在JVM上的HTTP服务器框架,另一个是多平台HTTP客户端。作为JetBrains的项目,Ktor自然会提供有用的工具,帮助您快速开始新的项目。

服务器

HTTP服务器部分基于经过验证的成熟技术构建,如Netty,Jetty和Java servlet。当使用像Netty或Jetty这样的轻量级引擎时,它会有超快的启动速度,并在秒级时间内准备好接受连接。它完全符合The Twelve-Factor规范,易于在容器中部署,并且可以轻松嵌入到桌面(甚至Android)应用程序中。您也可以在Tomcat等应用程序服务器中运行它。

Ktor提供了丰富且易于使用的可扩展机制,在此基础上实现了大多数内置功能。第三方功能与内置功能区别不大。开箱即用,Ktor包括这些基本功能:会话,身份验证,JSON序列化,流行模板引擎,Web套接字,metrics等等。它还支持高效的开发工作流程,具有快速启动,自动重新加载以及易于使用的单元编写和集成测试工具。

客户端

客户端也是异步的,基于与服务器相同的协程和IO原语构建。这使其非常适合于构建异步微服务架构,将所有后端功能连接到异步管道。

客户端采用多平台库开发,目前支持JVM,JS,Android和iOS。这使得可以以统一的方式检索移动设备和网页上的数据,且允许应用程序执行或构建复杂的匿名函数链来响应成功或失败。

工具

最后但同样重要的是,这些工具可自由定制你所需要的功能,并使用Ktor获得完整工作的入门应用程序。这既适用于Web,也适用于IntelliJ IDEA的插件

与其他Kotlin库一样,Ktor是免费的开源软件,在GitHub上开发,并在Apache 2协议下发布。

入门

Ktor的Hello World轻便得可以用来发推:

除此之外,网站还提供了快速入门指南服务器客户端的参考文档,以及大量示例项目。如果您更喜欢视频,Ryan Harter的KotlinConf 2018演讲将能很好地介绍如何在后端使用Ktor。

请访问https://start.ktor.io/ 获取项目模板,浏览文档,完成并启动您新的后端项目!如果您需要帮助,很多热情的人们在Kotlin Slack的#ktor频道上等待着您的参与。

请尽情享受Ktor!

译自官方原文:Ktor 1.0 Released: A Connected Applications Framework by JetBrains

此条目发表在官方博客分类目录。将固定链接加入收藏夹。

4 则回应给 Ktor 1.0 正式发布:JetBrains 出品的互联应用框架

  1. 灰蓝天际说:

    👍🏻可以更有底气安利给大家了😀

  2. 吃蛋挞, 团子说:

    可以捣鼓玩玩了~laugh

  3. zhongshan说:

    我….wo要全栈le

发表评论

电子邮件地址不会被公开。 必填项已用*标注