[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-1758":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":9,"totalLinesOfCode":9,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":9,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":9,"rankLanguage":9,"license":9,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":22,"hasPages":22,"topics":24,"createdAt":9,"pushedAt":9,"updatedAt":30,"readmeContent":31,"aiSummary":32,"trendingCount":16,"starSnapshotCount":16,"syncStatus":17,"lastSyncTime":33,"discoverSource":34},1758,"ktor","ktorio\u002Fktor","ktorio","Framework for quickly creating connected applications in Kotlin with minimal effort",null,"https:\u002F\u002Fgithub.com\u002Fktorio\u002Fktor","Kotlin",14426,1260,170,156,0,2,8,39,10,44.3,false,"main",[25,26,27,28,29],"kotlin","web-framework","asynchronous","async","web","2026-06-12 02:00:32","\u003Cdiv align=\"center\">\n\n  \u003Cpicture>\n    \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fktorio\u002Fktor\u002Fmain\u002F.github\u002Fimages\u002Fktor-logo-for-dark.svg\">\n    \u003Cimg alt=\"Ktor logo\" src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fktorio\u002Fktor\u002Fmain\u002F.github\u002Fimages\u002Fktor-logo-for-light.svg\">\n  \u003C\u002Fpicture>\n\n\u003C\u002Fdiv>\n\n[![Official JetBrains project](https:\u002F\u002Fjb.gg\u002Fbadges\u002Fofficial.svg)](https:\u002F\u002Fconfluence.jetbrains.com\u002Fdisplay\u002FALL\u002FJetBrains+on+GitHub)\n[![Maven Central](https:\u002F\u002Fimg.shields.io\u002Fmaven-central\u002Fv\u002Fio.ktor\u002Fktor-server)](https:\u002F\u002Fcentral.sonatype.com\u002Fsearch?namespace=io.ktor)\n[![Kotlin](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fkotlin-2.3.21-blue.svg?logo=kotlin)](https:\u002F\u002Fkotlinlang.org)\n[![Slack channel](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fchat-slack-green.svg?logo=slack)](https:\u002F\u002Fkotlinlang.slack.com\u002Fmessages\u002Fktor\u002F)\n[![GitHub License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-Apache%20License%202.0-blue.svg?style=flat)](https:\u002F\u002Fwww.apache.org\u002Flicenses\u002FLICENSE-2.0)\n[![Contribute with Gitpod](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FContribute%20with-Gitpod-908a85?logo=gitpod)](https:\u002F\u002Fgitpod.io\u002F#https:\u002F\u002Fgithub.com\u002Fktorio\u002Fktor)\n\nKtor is an asynchronous framework for creating microservices, web applications and more. Written in Kotlin from the\nground up.\n\nFirst add the dependency to your project:\n\n```kotlin\nrepositories {\n    mavenCentral()\n}\n\ndependencies {\n    implementation(\"io.ktor:ktor-server-netty:$ktor_version\")\n}\n```\n\nThen create an `Application` and install some features:\n\n```kotlin\nimport io.ktor.server.netty.*\nimport io.ktor.server.routing.*\nimport io.ktor.server.application.*\nimport io.ktor.http.*\nimport io.ktor.server.response.*\nimport io.ktor.server.engine.*\n\nfun main(args: Array\u003CString>) {\n    embeddedServer(Netty, 8080) {\n        routing {\n            get(\"\u002F\") {\n                call.respondText(\"Hello, world!\", ContentType.Text.Html)\n            }\n        }\n    }.start(wait = true)\n}\n```\n\nYou also can use [Ktor Gradle Plugin](https:\u002F\u002Fgithub.com\u002Fktorio\u002Fktor-build-plugins) to configure bom, run tasks and deployment:\n```kotlin\nplugins {\n    id(\"io.ktor.plugin\") version \"3.1.1\"\n}\n\ndependencies {\n    implementation(\"io.ktor:ktor-server-netty\")\n}\n```\n\nTo run the created application, execute:\n```shell\n.\u002Fgradlew run\n```\n\n* Runs embedded web server on `localhost:8080`\n* Installs routing and responds with `Hello, world!` when receiving a GET http request for the root path\n\n## Start using Ktor\n\nBuild your first Kotlin HTTP or RESTful application using Ktor: [start.ktor.io](https:\u002F\u002Fstart.ktor.io)\n\n## Principles\n\n#### Unopinionated\n\nKtor Framework doesn't impose a lot of constraints on what technology a project is going to use – logging,\ntemplating, messaging, persistence, serialization, dependency injection, etc.\nSometimes it may be required to implement a simple interface, but usually it is a matter of writing a\ntransforming or intercepting function. Features are installed into the application using a unified *interception*\nmechanism\nwhich allows building arbitrary pipelines.\n\nKtor Applications can be hosted in any servlet container with Servlet 3.0+ API support such as Tomcat, or\nstandalone using Netty or Jetty. Support for other hosts can be added through the unified hosting API.\n\nKtor APIs are mostly functions calls with lambdas. Thanks to Kotlin DSL capabilities, the code looks declarative.\nApplication composition is entirely up to the developer's choice – with functions or classes, using dependency injection\nframework or doing it all manually in the main function.\n\n#### Asynchronous\n\nThe Ktor pipeline machinery and API are utilising Kotlin coroutines to provide easy-to-use asynchronous\nprogramming model without making it too cumbersome. All host implementations are using asynchronous I\u002FO facilities\nto avoid thread blocking.\n\n#### Testable\n\nKtor applications can be hosted in a special test environment, which emulates a web server to some\nextent without actually doing any networking. It provides easy way to test an application without mocking\ntoo much stuff, and still achieve good performance while validating application calls. Running integration tests with a\nreal\nembedded web server are of course possible, too.\n\n## JetBrains Product\n\nKtor is an official [JetBrains](https:\u002F\u002Fjetbrains.com) product and is primarily developed by the team at JetBrains, with\ncontributions\nfrom the community.\n\n## Documentation\n\nPlease visit [ktor.io](https:\u002F\u002Fktor.io) for Quick Start and detailed explanations of features, usage and machinery.\n\n* Getting started with [Gradle](https:\u002F\u002Fktor.io\u002Fdocs\u002Fgradle.html)\n* Getting started with [Maven](https:\u002F\u002Fktor.io\u002Fdocs\u002Fmaven.html)\n* Getting started with [IDEA](https:\u002F\u002Fktor.io\u002Fdocs\u002Fintellij-idea.html)\n\n## Reporting Issues \u002F Support\n\nPlease use [our issue tracker](https:\u002F\u002Fyoutrack.jetbrains.com\u002Fissues\u002FKTOR) for filing feature requests and bugs. If\nyou'd like to ask a question, we recommend [StackOverflow](https:\u002F\u002Fstackoverflow.com\u002Fquestions\u002Ftagged\u002Fktor) where\nmembers of the team monitor frequently.\n\nThere is also community support on the [Kotlin Slack Ktor channel](https:\u002F\u002Fapp.slack.com\u002Fclient\u002FT09229ZC6\u002FC0A974TJ9)\n\n## Reporting Security Vulnerabilities\n\nIf you find a security vulnerability in Ktor, we kindly request that you reach out to the JetBrains security team via\nour [responsible disclosure process](https:\u002F\u002Fwww.jetbrains.com\u002Flegal\u002Fterms\u002Fresponsible-disclosure.html).\n\n## Inspirations\n\nKotlin web frameworks such as Wasabi and Kara, which are currently deprecated.\n\n## Contributing\n\nPlease see [the contribution guide](CONTRIBUTING.md) and the [Code of conduct](CODE_OF_CONDUCT.md) before contributing.\n","Ktor 是一个用于快速创建微服务和Web应用程序的异步框架，使用Kotlin语言编写。它支持以最小的努力构建连接的应用程序，具有高度的灵活性和可扩展性，允许开发者自由选择日志、模板、消息传递、持久化、序列化、依赖注入等技术栈。Ktor通过统一的拦截机制安装功能，使得构建自定义管道变得简单。该框架非常适合需要高性能、低延迟响应的场景，如实时数据处理应用或大规模分布式系统。","2026-06-11 02:45:51","trending"]