fasthttpエンジンを基盤とした、REST APIやWebサーバーの構築に使えるExpress.jsに着想を得たGo向けWebフレームワーク。
ktorio/ktor
JetBrainsが開発する、マイクロサービスやWebアプリケーション、HTTP APIを構築するための非同期Kotlinフレームワーク。
- スター
- 14,552
- フォーク
- 1,319
- 未解決の Issue
- 133
- 最終コミット
- 6 日前
これは何?
Ktorは、マイクロサービスやWebアプリケーションからRESTful HTTP APIまで、Kotlinでコネクテッドアプリケーションを構築するためのフレームワークです。最初からKotlinで開発されており、Kotlin coroutinesを利用することで、リクエスト処理を非同期にし、スレッドをブロックせずに処理できます。
アプリケーションはKotlin DSLで設定します。ルートはラムダで定義し、統一されたインターセプト機構を通じて機能をアプリケーションにインストールします。Ktorでは、ロギング、テンプレート、永続化、シリアライズ、依存性注入に使うライブラリを特定のものに限定しません。サーバーはNettyまたはJetty上で組み込み実行することも、TomcatなどのServlet 3.0以降のコンテナにデプロイすることもできます。
Ktorアプリケーションは、実際のネットワーク通信なしでサーバーをエミュレートするテスト環境でテストできます。また、組み込みサーバーを使った統合テストとして実行することもできます。本プロジェクトはJetBrains公式製品で、Gradle pluginが依存関係のBOM管理、実行タスク、デプロイを処理します。
主な機能
- 01Kotlin coroutinesを基盤とする非同期リクエスト処理
- 02ルートの定義や機能のインストールに使えるKotlin DSL
- 03NettyまたはJetty上での組み込み実行、あるいはTomcatなどのServlet 3.0以降のコンテナへのデプロイ
- 04実際のネットワーク通信なしでアプリケーションを実行できるテスト環境
- 05BOM管理、実行タスク、デプロイに対応するGradle plugin
ユースケース
- KotlinでRESTful HTTP APIやマイクロサービスを構築する
- JVM上でサーバーサイドWebアプリケーションを開発する
- 組み込みKotlin Webサーバーを使った統合テストを作成する
クイックスタート
- 1
Gradle プロジェクトに Ktor Netty サーバーの依存関係を追加します
implementation("io.ktor:ktor-server-netty:$ktor_version") - 2
README の例に従って、ルーティングと機能をインストールした Application を作成します
- 3
Gradle でアプリケーションを実行します
./gradlew run
使う前に知っておきたいこと
- Kotlin と、Gradle や Maven などの JVM ビルドツールチェーンが必要です。
収録されている特集
トピック
よくある質問
- ktor とは?
- JetBrainsが開発する、マイクロサービスやWebアプリケーション、HTTP APIを構築するための非同期Kotlinフレームワーク。 Ktorは、マイクロサービスやWebアプリケーションからRESTful HTTP APIまで、Kotlinでコネクテッドアプリケーションを構築するためのフレームワークです。最初からKotlinで開発されており、Kotlin coroutinesを利用することで、リクエスト処理を非同期にし、スレッドをブロックせずに処理できます。
- ktor は無料で使えますか?ライセンスは?
- ktor は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- ktor は今もメンテナンスされていますか?
- 活発にメンテナンス中。ktor の最終コミットは 2026年10月19日 です。
- ktor は何に使えますか?
- KotlinでRESTful HTTP APIやマイクロサービスを構築する JVM上でサーバーサイドWebアプリケーションを開発する 組み込みKotlin Webサーバーを使った統合テストを作成する
- ktor のインストール方法は?
- Gradle プロジェクトに Ktor Netty サーバーの依存関係を追加します: implementation("io.ktor:ktor-server-netty:$ktor_version") README の例に従って、ルーティングと機能をインストールした Application を作成します Gradle でアプリケーションを実行します: ./gradlew run
- ktor はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/ktorio/ktor
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
HTTP/WebSocketサービスを構築するための、高速で使いやすいFlask風C++マイクロフレームワーク。ヘッダーオンリーで利用できます。
非同期コード向けに、コルーチンビルダー、Dispatcher、Flow、Channel、構造化並行性のプリミティブを提供するKotlinライブラリ。
長時間稼働するTCP、UDP、HTTP、WebSocketサービスの構築に使える、イベント駆動型ネットワークエンジンとコルーチンランタイムを提供するPHP拡張です。
Sogouのバックエンドサービスで使われているC++11並列計算・非同期ネットワークフレームワーク。DAGベースのタスクワークフローを構築できます。
A Rust web server with a compact config, automatic TLS, and per-request tracing linked to logs, for static sites and reverse proxies.