페북 소프트웨어 엔지니어, 안드로이드 앱 코드베이스를 자바에서 '코틀린'으로 전환하는 이유 설명
안하영
yjnetworks1@gmail.com | 2022-11-01 14:21:32
IT 전문 매체 지디넷(ZDNet)이 메타(Meta)가 안드로이드 앱 코드베이스를 자바에서 코틀린으로 변환하려는 노력을 이어가고 있다고 보도했다.
매체는 “메타의 안드로이드 앱 언어를 자바에서 코틀린으로 전환하는 것은 메타의 규모와 앱 크기를 고려할 때 새로운 이정표를 세우는 것”이라고 전했다.
이와 관련 페이스북의 소프트웨어 엔지니어인 오메르 스트룰로비치(Omer Strulovich)는 “페이스북, 인스타그램, 메신저 등의 안드로이드 앱은 각각 100만 줄이 넘는 코틀린 코드를 포함하였다. 코틀린 코드 전환율이 갈수록 증가하는 추세이다”며, “현재 메타의 안드로이드 앱 코드베이스에 포함된 코틀린 코드는 총 1,000만 줄 이싱이다”라고 밝혔다.
반면 스트룰로비치는 메타의 사용 언어 전환에 동기를 부여한 코틀린의 장점에도 불구하고 대규모 앱을 전환하는 데에 몇 가지 단점이 있다고 덧붙였다.
우선 코틀린은 더 적은 수의 도구를 사용할 수밖에 없는 단점을 갖고 있다. 또한 자바보다 빌드 시간이 더 느리다. 이에 대해 스트룰로비치는 “메타는 대규모 앱 여러 개를 보유하고 있어, 빌드 시간은 개발자의 경험에 부정적인 영향을 미칠 수 있다”라고 언급했다. 게다가 코틀린은 자바보다 컴파일 시간도 늦다. 자바의 컴파일 시간은 2.4초 코틀린의 컴파일 시간은 10.2초다.
하지만 이러한 단점에도 불구하고 현재 메타의 엔지니어 대부분 코드를 코틀린으로 변환하고 있다. 엔지니어들은 현재 자바와 동등한 수준의 경험을 제공하기 위해 사용하는 ‘Pygments’ 라이브러리를 적용하고 있다. 또한 ‘google-java-format’의 코드와 철학에 기반한 ‘코틀린 포맷터’를 제공하는 IntelliJ와 안드로이드 스튜디오용 플러그인인 ‘Ktfmt’를 구축했다.
스트룰로비치는 “현재 메타의 코드베이스 크기가 평균 11% 감소했다”며, “구글도 코틀린으로 마이그레이션 할 때 앱 코드베이스 크기가 33% 감소한 바 있다”고 밝혔다.
한편, 코틀린은 젯브레인스(JetBrains)에서 2011년 공개한 오픈 소스 프로그래밍 언어로 자바와 유사하지만 더 간결한 문법과 다양한 기능을 갖추고 있다. 2017년 구글은 안드로이드의 공식 언어로 코틀린을 추가했다. 구글은 지도, 홈, 플레이, 드라이브, 메시지를 포함해 코틀린으로 구축된 70개 이상의 안드로이드 앱을 보유하고 있다. 구글은 코틀린의 장점으로 △자바와 비교해 더 효율적이고, △더 안전한 코드와 더 작은 코드베이스를 생성한다는 점을 꼽고 있다.
[ⓒ CWN(CHANGE WITH NEWS). 무단전재-재배포 금지]