프로젝트 소개

Ktor는 전적으로 Kotlin으로 작성된 마이크로서비스, 웹 애플리케이션 등을 만들기 위한 비동기 프레임워크입니다. 최소한의 노력과 유연성을 강조하여 개발자가 엄격한 기술 제약 없이 연결된 애플리케이션을 구축할 수 있도록 합니다. **주요 기능:** - **특정 기술을 강요하지 않음:** Ktor는 로깅, 템플레이팅, 메시징, 영속성, 직렬화 또는 의존성 주입에 대한 선택을 강요하지 않습니다. 기능은 통합된 인터셉션 메커니즘을 통해 설치되어 임의의 파이프라인을 가능하게 합니다. - **비동기:** Kotlin 코루틴을 기반으로 구축된 Ktor는 사용하기 쉬운 비동기 프로그래밍 모델을 제공합니다. 모든 호스트 구현은 스레드 차단을 피하기 위해 비동기 I/O를 사용합니다. - **테스트 가능:** 애플리케이션은 네트워킹 없이 웹 서버를 에뮬레이트하는 특수 테스트 환경에서 실행할 수 있어 테스트가 간편해집니다. 실제 임베디드 서버와의 통합 테스트도 지원됩니다. - **호스팅 유연성:** Netty 또는 Jetty를 사용한 독립 실행형 호스팅과 Servlet 3.0+ API(예: Tomcat)를 사용한 서블릿 컨테이너를 지원합니다. 통합 호스팅 API를 통해 추가 호스트를 추가할 수 있습니다. - **Kotlin DSL:** API는 주로 람다를 사용한 함수 호출로 구성되어 코드를 선언적이고 조합 가능하게 만듭니다. **시작하기:** Gradle 또는 Maven 프로젝트에 `io.ktor:ktor-server-netty` 의존성을 추가한 다음 라우팅과 기능이 있는 `Application`을 생성하세요. Ktor Gradle Plugin은 구성, 실행 및 배포를 단순화합니다. 기본 예제는 포트 8080에서 "Hello, world!"로 응답하는 임베디드 서버를 시작합니다. **문서 및 지원:** 빠른 시작과 자세한 가이드는 [ktor.io](https://ktor.io)를 방문하세요. 이슈와 기능 요청은 JetBrains YouTrack에서 추적되며, 커뮤니티 지원은 StackOverflow와 Kotlin Slack Ktor 채널에서 제공됩니다. 보안 취약점은 JetBrains의 책임 있는 공개 프로세스를 통해 보고해야 합니다. **프로젝트 상태:** Ktor는 공식 JetBrains 제품으로, 주로 JetBrains가 개발하고 커뮤니티 기여를 받습니다. 더 이상 사용되지 않는 Kotlin 프레임워크 Wasabi와 Kara에서 영감을 받았습니다. 이 프로젝트는 Apache License 2.0에 따라 라이선스가 부여됩니다.