Kotlin으로 백엔드 개발하기(Backend development with Kotlin)
Kotlin으로 백엔드 개발하기(Backend development with Kotlin)
Kotlin은 서버 사이드 애플리케이션 개발에 아주 잘 어울려요. Kotlin을 쓰면 간결하고 표현력 있는 코드를 작성하면서도 기존 Java 기반 기술 스택과 완전한 호환성을 유지할 수 있답니다.
본문
시작하기(Get started)
Kotlin은 대규모 코드베이스를 Java에서 Kotlin으로 점진적으로 마이그레이션하는 것을 지원해요. 프로젝트의 다른 부분은 Java로 유지하면서 테스트나 새로운 프로덕션 코드를 Kotlin으로 작성하는 것으로 시작할 수 있어요.
Java 프로젝트를 Kotlin과 함께 동작하도록 구성하고, IntelliJ IDEA에 포함된 자동 Java-to-Kotlin 변환기를 활용해 봐요:
프레임워크 탐색하기(Explore frameworks)
Kotlin은 모든 Java 기반 프레임워크와 완전히 호환되므로, 익숙한 기술 스택을 사용하면서도 Kotlin 문법의 이점을 누릴 수 있어요. 훌륭한 IDE 지원 외에도 Kotlin은 프레임워크별 도구를 제공하는데, Ultimate 구독을 하면 IntelliJ IDEA에서 Spring과 Ktor를 지원하는 것도 그중 하나예요.
Spring
Spring은 Kotlin의 언어 기능을 활용해 더 간결한 API를 제공해요. 온라인 프로젝트 생성기를 이용하면 Kotlin으로 새 프로젝트를 빠르게 만들 수 있답니다.
Ktor
Ktor는 Kotlin으로 웹 애플리케이션을 만드는 JetBrains 프레임워크예요. 코루틴을 사용해 높은 확장성을 제공하고, 쓰기 쉬운 관용적인 API를 제공해요.
기타 프레임워크
Kotlin용 백엔드 프레임워크의 다른 예시로는 이런 것들이 있어요:
| 프레임워크 | 설명 |
|---|---|
| Quarkus | Kotlin을 일급 지원하는 오픈소스 프레임워크예요. Quarkus는 처음부터 Kubernetes를 염두에 두고 만들어졌으며, 점점 늘어나는 수백 개의 우수 라이브러리를 활용해 응집력 있는 풀스택 프레임워크를 제공해요. |
| Vert.x | JVM에서 반응형 웹 애플리케이션을 구축하는 프레임워크예요. Vert.x는 Kotlin 코루틴 통합을 포함한 Kotlin 전용 지원을 제공해요. |
| kotlinx.html | 웹 애플리케이션에서 HTML을 만드는 데 쓰는 DSL이에요. JSP나 FreeMarker 같은 전통적인 템플릿 시스템의 대안으로 쓰여요. |
| Micronaut | 모듈형이고 테스트하기 쉬운 마이크로서비스와 서버리스 애플리케이션을 만드는 현대적 JVM 기반 풀스택 프레임워크예요. 웨비나 Micronaut for microservices with Kotlin을 시청하고, Micronaut 프레임워크에서 Kotlin 확장 함수를 사용하는 방법을 보여주는 자세한 가이드를 살펴보세요. |
| http4k | Kotlin HTTP 애플리케이션을 위한, 순수 Kotlin으로 작성된 작은 설치 공간의 함수형 툴킷이에요. http4k는 완성된 프로젝트 템플릿을 생성하는 CLI 지원 툴박스와, 선택한 백엔드·모듈·빌드 도구로 동작하는 http4k 애플리케이션을 부트스트랩하는 웹 기반 프로젝트 위저드를 제공해요. |
| Javalin | Kotlin과 Java를 위한 아주 가벼운 웹 프레임워크로, WebSockets, HTTP2, 비동기 요청을 지원해요. |
애플리케이션 배포하기(Deploy your applications)
Kotlin 애플리케이션은 Java 웹 애플리케이션을 지원하는 모든 호스트에 배포할 수 있어요. Amazon Web Services(AWS), Google Cloud Platform(GCP) 등이 그 예시죠.
- AWS는 서비스를 상호작용하기 위한 전용 Kotlin SDK를 제공해요. 서버리스 배포를 위해서는 Kotlin용 AWS Lambda 코드 예제를 참고해요.
- Ktor를 사용하면 Kotlin 애플리케이션을 다양한 클라우드 제공자에 게시할 수 있어요. 예를 들어 Google App Engine 및 기타 서비스에 배포하는 방법을 Ktor 튜토리얼을 통해 배울 수 있어요.
- Spring 애플리케이션도 대부분의 인기 클라우드 제공자와 호환돼요. 공식 Spring 문서에서 Spring Boot 애플리케이션을 클라우드에 배포하는 방법을 확인해요.
커뮤니티에 참여하기(Join the community)
- [IMAGE: Slack] Kotlin Slack: 초대 받기를 통해 #spring과 #server 채널에 참여해요.
- [IMAGE: Stack Overflow] Stack Overflow: "kotlin", "spring-kotlin", "ktor" 태그를 구독해요.
- [IMAGE: YouTube] Kotlin YouTube 채널: Kotlin with Spring 관련 영상을 구독하고 시청해요.