북극곰의 개발일기

Why kotlin?





posted by purplebeen on Sat Feb 03 2018 23:58:08 GMT+0900 (KST) in Kotlin


지난 구글 io에서 안드로이드 개발 언어로 자바 8이 공식적으로 채택됨에 이어서 공식적으로 지원하는 3번째 언어로
코틀린이 채택되었다.
기존에 안드로이드 개발에서는 자바 7이나 네이티브 개발을 위해서 사용되는 C++이 공식 지원 언어의 전부였다.
간헐적으로 일부 프레임워크를 이용해 파이썬이나 다른 언어로 개발할 수도 있고,
자마린을 이용해서 C#을 이용해서 개발을 할 수도 있지만 구글이 공식적으로 지원한는 플랫폼이 아니기 때문에 라이브러리나 여러가지 면에서
한계가 있었다.

그렇다면 코틀린은 왜 채택되었을까?
사실 이미 이번에 공식지원을 발표하기 전부터 안드로이드 스튜디오에서 플러그인을 설치해서 안드로이드를 코틀린으로 개발할 수 있었다.
코틀린의 개발사는 JetBrain 이다. 구글로부터 OEM을 받아 안드로이드 스튜디오를 제작하고 있는 업체이기도 하다.
코틀린은 JVM 기반 언어의 한 종류이기 때문에 기존에 Google이 안드로이드를 위해서 내놓은 API들이 대부분 호환이 된다.
또한 자바에 비해서 문법이 대단히 간결하다.

자바와 코틀린의 문법 차이를 설명해주는 사진. 똑같은 기능을 구현할 때 훨씬 정갈한 코드를 작성할 수 있다.
얼마전 안드로이드 스튜디오의 버전이 3.0으로 업데이트 되면서 자바8과 코틀린에 대한 서포트가 공식적으로 지원되기 시작하였다.
코틀린을 이용하면 lazy evaluation을 구현하기 쉽고, NullPointerException을 우회하기 쉽다.
또한 안드로이드 코틀린 플러그인을 이용하여, findViewById의 과정 없이 id로 바로 관련된 작업을 할 수 있다.
최근에 릴리즈 된 스프링5와 곧 릴리즈 에정인 스프링 부트 2.0에서도 코틀린 지원이 확정되었다.
기존에 JAVA 기반으로 작성되던 플랫폼의 큰 프레임워크 2가지가 모두 코틀린을 지원하는 것이다. 코틀린으로 넘어갈 이유는 이미 충분하다.