이해하기 쉬운 문법, 직관적인 코드, 널(%00;) 안전성을 보장하는 타입 시스템, 그리고 다양한 지원 도구로 무장한 코틀린은 개발자들에게 강력한 힘을 선사합니다. 안드로이드 개발의 대표 언어로 자리 잡았고, 이제 백엔드에서도 자바를 대체하며 인기를 얻고 있습니다. 그뿐만 아니라 데이터 과학, 멀티플랫폼, iOS, 데스크톱 및 웹 애플리케이션 개발에 이르기까지 활용 범위는 나날이 확대되고 있습니다. 이 책은 코틀린으로 개발을 시작하려는 여러분들을 위해 코틀린의 가장 기본적인 기능들을 다루고 있습니다.
--- ‘지은이의 글’ 중에서
자바를 대체하는 언어로 코틀린이 주목받기 시작한 지 얼마 되지 않았지만, 코틀린의 영향력은 점점 더 커지고 있습니다. 안드로이드의 공식 언어는 코틀린이 되었으며, 저 같은 백엔드 개발자들 또한 코틀린으로 서버를 개발하고 있습니다. 개발자로 첫 발걸음을 내딛는 사람들조차 처음 배우는 프로그래밍 언어로 코틀린을 선택하는 경우도 늘어나고 있습니다. 코틀린을 주 언어로 선택하는 프로젝트도 점점 더 늘어나고 있으며, 기존에 자바로 된 프로젝트 또한 코틀린으로 포팅하는 경우도 많이 보게 됩니다. 코틀린을 당장 사용하지 않더라도 코틀린을 공부해야 할 이유는 수없이 많습니다.
--- ‘옮긴이의 글’ 중에서
코틀린은 자바, 자바스크립트, C++, 오브젝티브 C를 대체할 수도 있습니다. 하지만 JVM 환경에서 가장 성숙되어, 아직까지는 자바를 대체하는 용도로 주로 쓰입니다.
코틀린은 백엔드 개발에서도 널리 사용됩니다. 스프링 프레임워크와 함께 주로 사용되며, 버텍스(Vert.x), 케이터(Ktor), 마이크로넛(Micronaut), http4k, 자바린(Javalin) 같은 프레임워크와 함께 사용하는 경우도 많습니다.
코틀린은 안드로이드 개발에서 사실상 표준 언어가 되었습니다. 구글은 공식적으로 모든 안드로이드 애플리케이션을 코틀린으로 작성하라고 권장하며, 모든 API에서 코틀린을 최우선으로 지원하기로 했습니다.
코틀린이 다양한 플랫폼용으로 컴파일될 수 있다는 이점을 점점 더 많은 프로젝트가 활용하고 있습니다. 안드로이드와 iOS 또는 백엔드와 프런트엔드 등 서로 다른 플랫폼에서 실행할 수 있는 코드를 작성할 수 있기 때문입니다. 코틀린의 플랫폼 호환성을 활용하면 라이브러리 제작자는 단 하나의 라이브러리로 수많은 플랫폼을 지원할 수 있습니다. 이미 많은 회사가 코틀린의 멀티플랫폼 지원을 활용하고 있으며, 그 수가 빠르게 늘어나고 있습니다.
코틀린으로 네이티브 UI를 만드는 도구인 젯팩 컴포즈(Jetpack Compose)를 봅시다. 원래 안드로이드용으로 개발되었지만, 코틀린의 멀티플랫폼 지원 특성을 활용해 웹사이트, 데스크톱 애플리케이션, iOS 애플리케이션 등등 더 많은 대상으로 확대되고 있습니다.
프런트엔드 개발 분야, 특히 리액트(React)에서도 코틀린이 사용되고 있으며, 코틀린을 사용하는 데이터 과학자 커뮤니티 또한 증가 추세입니다.
코틀린을 사용할 수 있는 분야는 이미 수없이 많으며, 해가 갈수록 점점 더 많은 가능성이 열리고 있습니다. 여러분도 이 책을 읽고 나면 새로 얻은 지식을 활용할 멋진 방법이 머릿속에 떠오를 것입니다.
--- ‘본문’ 중에서