본문 바로가기

LANGUAGES, METHODLOGY/Kotlin

[GDG Seoul | 코틀린 ] 코틀린의 미래는 어디로? | Kotlin / Everywhere Seoul 2019에 가다 [2부]

저번 월요일에 마루180 지하에서 Kotlin / Everywhere Seoul 2019가 열렸다.

 

첫번째 시간으로 진행되었던 What's new in Kotlin?에 대해서 리마인드 할만한 내용을 정리해보고자 한다.

 

세션은 Kotlin in action의 공동저자이자 JetBrains의 Developer Advocate로 활동중인 

 

Svetlana Isakova가 진행하였다.

 


1. 코틀린은 모두가 함께 만들어나가는 언어다.

 

코틀린은 자바를 대체할만한 언어로써, 형추론 및 람다 코드등을 조합해 간결하게 코딩이 가능하다는

 

장점을 가지고 있는 것으로 알고 있었다. 

 

코틀린의 역사는 오래되지 않았는데, 2010년부터 개발에 착수해 2014년에 정식으로 릴리즈 되었고,

 

이후 구글로부터 안드로이드의 공식언어로까지 채택되어 현재도 말하자면 슈퍼주류언어라고 할 수 있겠다.

 

코틀린은 지금 이시간에도 개발 및 테스팅을 지속해가며 액티브한 언어의 포지션을 가져가려 하고 있는데,

 

이는 Kotlin/KEEP 이라는 코틀린의 github 레퍼지토리에서 확인해볼 수 있다고 한다.

 

아울러 Kotlin이 JetBrains의 코틀린 개발팀 독단적으로 개선되는것이 아닌, 전세계의 코틀린 언어 개발자들로부터

 

피드백을 받고 있고, 개선에 동참하고 있다는 것도 확인할 수 있었다.

 

이는 코틀린이 단순히 플랫폼 언어로써 우위를 점하자는 것뿐이 아닌, 실사용자들이라 할 수 있는

 

'개발자들'로부터 의견을 듣고, 부족하고 아쉬운 점들을 적용해나가고 있다는 것이다.

 

코틀린은 향후 업데이트에 적용하고자 하는 실험적인 기능들을 제공하고 있는데,

 

이를 프로젝트에 사용해보고자 한다면 build.gradle에

 

androidExtensions {
    experimental = true
}

 

를 추가하면 사용이 가능하다.

 

단, experimental을 통해 사용 가능한 기능들은 향후 언제든지 사라지거나 변경될 수 있다는 점을 주의해야 겠다.

 

https://kotlinlang.org/docs/tutorials/android-plugin.html

 

Kotlin Android Extensions - Kotlin Programming Language

This tutorial describes how to use Kotlin Android Extensions to improve support for Android development.

kotlinlang.org

 

2. Coroutine이냐 Rx이냐?

 

Rx도 현재 배워나가고 있는 중이라 더 생소한 개념인 코루틴에 대해서도 잘 알지 못하는 배경이 있었지만,

 

어떠한 경우에 코루틴을, 혹은 Rx를 사용하는 것이 나을지에 대해서 언급해 준 부분이 있어

 

리마인드 해두려고 한다. 

 

사용예나 이유에 대해서 짚고 넘어가기엔 아직 코루틴과 Rx에 대한 베이스가 없다시피 하기 때문에..

 

단순히 '이렇다더라' 하는 정도로만 짚고 넘어가려 한다.

 

(현재 코루틴을 사용하거나 사용해보신적 있는분? 이라는 질문에 다수의 손이 들리지 않았던 걸

 

위안으로 삼으며..)

 

- Natural data flow event가 발생하는 프로세스라면 : Rx를 사용하는 것이 좋다.

 

- All other scenario가 발생할만한 프로세스라면 : 코루틴을 사용하는 것이 낫다.

 

- 코루틴은 곧 Rx stream을 지원할 예정이다 : 코루틴 방식을 Rx식으로 사용 가능하다 라는 정도인듯.

 

 

3. 앞으로의 코틀린은?

 

마지막으로 코틀린이 가고자 하는 방향에 대해서 짚어주는 시간이 있었다.

 

단순히 말하자면 안드로이드에서만 주로 쓰이고 있는 코틀린을 

 

'모든 곳에서 사용 가능한 Multi platform 언어로 만들겠다 (Kotlin in everywhere)' 는 것이다.

 

이를 통해서 얻을 수 있는 효과들은

 

- 비즈니스 로직을 공유한다.

 

- UI의 플랫폼 독립성을 유지 가능하다.

(동일한 코드를 사용해도 각 플랫폼에서 문제가 생기지 않게 사용 가능하다는 말인듯)

 

- 다른 플랫폼들에 코틀린 베이스 프로젝트를 implement하기 용이하다.

(이를 Actual implementation on different platforms라고 표현했는데, 말대로 코틀린 코드를 변형하거나 하는 것이 아닌

그대로 '옮겨적는' 복붙 implementation을 추구한다는 듯)

 

- Standard library들을 사용할 수 있다.

 

그리고 마지막으로 이는 전부 현재 '개발중이나 동시에 이미 사용되고 있다'고 강조하였다.

 

될까? 그리고 쓰다 드랍되는 것이 아닐까가 아니라 '이미 쓰고 있으니까 믿고 따라와' 라는 인상을

 

주고 싶었던 것인지 모르겠다.

 

 

마지막으로 이번 세션들의 내용을 짧게 정리하자면,

 

코틀린은 모든곳에서 동일하게 사용 가능한, 지금도 개발중에 있는 핫한 언어다!

 

 

** 상기 포스트는 GDG Seoul 주최 | Kotlin in everywhere 2019 컨퍼런스의 내용을 바탕으로 작성되었습니다. **