블로그에서는 안드로이드 관련 내용을 주로 다뤄볼 예정이다.
Kotlin for Android
- Compatibility: Kotlin is fully compatible with JDK 6, ensuring that Kotlin applications can run on older Android devices with no issues. The Kotlin tooling is fully supported in Android Studio and compatible with the Android build system.
- Performance: A Kotlin application runs as fast as an equivalent Java one, thanks to very similar bytecode structure. With Kotlin's support for inline functions, code using lambdas often runs even faster than the same code written in Java.
- Interoperability: Kotlin is 100% interoperable with Java, allowing to use all existing Android libraries in a Kotlin application. This includes annotation processing, so databinding and Dagger work too.
- Footprint: Kotlin has a very compact runtime library, which can be further reduced through the use of ProGuard. In a real application, the Kotlin runtime adds only a few hundred methods and less than 100K to the size of the .apk file.
- Compilation Time: Kotlin supports efficient incremental compilation, so while there's some additional overhead for clean builds, incremental builds are usually as fast or faster than with Java.
- Learning Curve: For a Java developer, getting started with Kotlin is very easy. The automated Java to Kotlin converter included in the Kotlin plugin helps with the first steps. Kotlin Koans offer a guide through the key features of the language with a series of interactive exercises.
안드로이드에 코틀린을 적용시 이점들을 설명해뒀는데 간략히 해석해보자면 (영어가 짧아서 틀린부분 있으면 지적부탁드립니다)
1.Compatibility - 코틀린은 JDK6에서 작동하며 코틀린어플은 별다른 문제 없이 과거와 현재의 안드로이드에서 사용가능하다.
2.Performance - 코틀린어플은 자바와 비슷한 바이트코드 구조로 자바로만든 어플만큼 빠르게 실행된다. 인라인 함수지원해서 람다를 사용하면 종종 자바보다 빠르게 작동한다.
3.Interoperability - 자바와 100%호환되며 anootation, databinding, Dagger등도 사용 가능하다.
4.Footprint - 매우 콤팩트한 라이브러리를 가지고있으며 프로가드까지 사용하면 사이즈를 매우 줄일 수 있다.
5.Compilation Time - 효과적인 증분 컴파일로 clean 빌드는 오버헤드가 있을 수 있으나 증분빌드(전에 빌드된 적이 없는 대상이나 만료된 대상만 다시 빌드되는 빌드)에서 자바만큼 빠르거나 보다 빠를 수 있다
6.Learning Curve - 배우기 쉽다(정말?)
Summary
결국, 코틀린은 기존 인프라에 적용이 편하고 배우기 쉬우며 간혹(?) 자바보다 빠르다는 얘기인듯하다.
위에서 언급되진 않았지만, 문법의 간결성이라던가 null check도 편리해서 자바의 대안으로 많이 떠오르고 있는 듯 하다.(안드로이드 스튜디오를 만든 회사니 궁합도 나름 잘 맞지 않을까?) 나도 빨리 통달하는 그날이 오길!
뭔가 전문적인 지식을 이용해서 알기 쉽고 정확한 내용을 전달하고 싶었는데 쓰고나니 막 쓴 듯..
0 개의 댓글:
Post a Comment