写点什么

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:243140

评论 2 条评论

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

快手商品详情数据接口(ks.item_get)丨快手API接口

tbapi

快手商品详情数据接口 快手API接口 快手商品数据接口 快手数据采集

2023 CSIG青年科学家会议丨多模态大模型时代下的文档图像处理

热爱编程的小白白

喜讯!尚思卓越再次入选数据安全创新能力全景图谱

尚思卓越

数据安全

Hackathon | Mint Blockchain 启动全球 NIP 创意提案黑客松活动!

NFT Research

blockchain 黑客松 NFT\

AI时代我们的IT团队架构应该如何应变

Onegun

人工智能 AI 团队组织

助力 AI 技术共享,蚂蚁开源又一核心技术“因果学习系统 OpenASCE”

可信AI进展

人工智能 机器学习 开源

探索大模型在端侧应用的新形态

百度开发者中心

人工智能 图像识别 大模型

未来招聘更难?用友大易招聘云助力企业面对未来更从容

用友BIP

智能招聘

软件测试/全日制测试开发/测试管理|如何制定合理的职业规划

霍格沃兹测试开发学社

【Spring技术专题】「实战开发系列」保姆级教你SpringBoot整合Mybatis框架实现多数据源的静态数据源和动态数据源配置落地

码界西柚

spring mybatis springboot 数据源切换 2024年第六篇文章

探索跨语言、跨模态、跨任务的大模型驱动应用生态繁荣

百度开发者中心

人工智能 大模型

“用友-旭阳数智化联合团队”荣获“2023数字化践行者基石奖”

用友BIP

企业数智化

每日一题:LeetCode-139. 单词拆分

Geek_4z9ami

Go 面试 算法 LeetCode 动态规划

好用的鼠标键盘记录工具:Mouse And Keyboard Recorder激活中文

胖墩儿不胖y

Mac软件 鼠标管理工具 Mac软件鼠标辅助

请重视你的简历

老张

面试 简历优化 简历

亿级流量摩擦出来的 ES 稳定性之道

常清静

方法论 ES 建模 Elastic Search ES优化

小度推出小度学习机K16:内容、AI功能、软硬件配置全面升级

新消费日报

数据如何驱动AI大模型的竞争优势

百度开发者中心

人工智能 AI 大模型

软件测试/人工智能/全日制测试开发|利用ChatGPT自动生成自动化测试脚本

霍格沃兹测试开发学社

阿里云计算平台大数据基础工程技术团队直聘!!!

阿里云大数据AI技术

数据讲述中国故事!和鲸助力中国综合社会调查(CGSS)数据分析与可视化大赛圆满收官

ModelWhale

人工智能 大数据 竞赛 中国人民大学 人文社科

拼多多根据ID取商品详情原数据 API (pinduoduo.item_get_app_pro)在电商中的应用

技术冰糖葫芦

API

软件测试/测试开发全日制/测试内推|字节跳动岗位开放~

霍格沃兹测试开发学社

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