Kotlin으로 백엔드 개발하기(Backend development with Kotlin)

Kotlin으로 백엔드 개발하기(Backend development with Kotlin)

Kotlin은 서버 사이드 애플리케이션 개발에 아주 잘 어울려요. Kotlin을 쓰면 간결하고 표현력 있는 코드를 작성하면서도 기존 Java 기반 기술 스택과 완전한 호환성을 유지할 수 있답니다.

출처: Backend development with Kotlin

본문

시작하기(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)

다음 단계(Next steps)

더 알아보기