写点什么

Ktor 1.0 发布:JetBrains 推出的 Kotlin Web 框架

  • 2018-11-20
  • 本文字数:1301 字

    阅读完需:约 4 分钟

Ktor 1.0发布:JetBrains推出的Kotlin Web框架

以下由Kotlin中文站翻译自JetBrains官方博客,本文由 Kotlin 中文站授权转载:


在我们开展 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 协议下发布。


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


2018-11-20 18:243331

评论 2 条评论

发布
用户头像
持续关注
2018-11-21 08:54
回复
没有更多了
发现更多内容

NFTScan | 12.09~12.15 NFT 市场热点汇总

NFT Research

NFT #Web3

淘宝天猫API接口深度解析:如何高效利用商品详情与关键词搜索商品列表功能

代码忍者

API 接口 pinduoduo API

2024年用户喜爱的Top5云电脑排名!没想到黑马是这家

小喵子

云电脑 云游戏 ToDesk云电脑 云电竞 网易云游戏电脑

犬类癌症检测(CANDiD)研究:使用独立测试集对1000多只犬进行基于高通量测序的多癌种早期检测"液体活检"血液测试的临床验证

INSVAST

生信服务 液体活检 生信分析 Sentieon 变异检测

阿里云大模型矩阵:千问&Qwen解锁多元智能

测吧(北京)科技有限公司

测试

重磅首发!网易伏羲具身智能解决方案推动人形机器人产业新发展

网易伏羲

解决方案 网易伏羲 人形机器人 具身智能

阿里妈妈公布NeurIPS比赛结果并开源AuctionNet

新消费日报

OCTC发布《BMC开放固件产业报告》,加速多元算力OpenBMC创新落地

财见

揭秘南京大学人工智能通识教育,和鲸Heywhale上线人工智能通识课一体化解决方案

ModelWhale

Python 人工智能 大数据 教改

《深入浅出Apache Spark》系列⑤:Spark SQL的表达式优化

数新网络官方账号

sql

天翼云全栈混合云应用场景

天翼云开发者社区

云计算 混合云 天翼云

为什么某些 batch size 会突然导致性能下降?

Baihai IDP

人工智能 深度学习 AI LLMs

反向代购新风尚:创业者出海的新蓝海

代码忍者

代购系统 跨境独立站 反向淘宝代购集运系统

英伟达视角下的 2025:AI智能体元年

GPU算力

英伟达 AI Agent AI 智能体 Swarm magentic-one

自动化测试AI智能体:掌握AI,人人都是自动化测试工程师

测吧(北京)科技有限公司

测试

深入理解 HTTP 协议:从基础到实践全解析

不在线第一只蜗牛

网络协议 HTTP

仓库存储管理系统-综合管理系统(源码+文档+部署+讲解)

深圳亥时科技

QT客户端开发的代码优化

北京木奇移动技术有限公司

软件外包公司 QT外包开发 QT开发公司

7个指标看本轮加密货币牛市走到哪一步

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 代币开发 链游开发公链开发

以太坊项目日渐冷门:以太坊链项目开发的现状与未来

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

SPICE协议浅析

天翼云开发者社区

云计算 远程控制

容器与虚拟机的区别与关系

天翼云开发者社区

云计算 容器 虚拟机

去哪儿秒级监控预警落地实践

Qunar技术沙龙

后端 预警监控

又遇百度,能否 hold 住?

王中阳Go

Go 面试

mes在造纸工厂数字化转型中的应用

万界星空科技

mes 万界星空科技 造纸行业 造纸mes 造纸厂

Ktor 1.0发布:JetBrains推出的Kotlin Web框架_编程语言_Roman Belov_InfoQ精选文章