개발 공부 유니티, C#/맨날 까먹는 기본&개념

JDK, SDK, NDK + Kotlin에 대한 주저리

와디더 2024. 1. 8. 16:55

JDK

JDK : JRE, JVM, java developerTool을 내포하고 있음. 자바 개발/실행을 위한 키트
JRE : 자바 프로그램 실행 환경
JVM : 자바 프로그램 실행 가상머신, OS에 구애받지 않고 실행 가능, 하지만 속도가 느려짐, 구동 속도 문제 해결을 위해 Jit컴파일러, IL을 사용

실행할 자바 프로그램(jar, war등 상세내용 https://ozofweird.tistory.com/entry/Java-JVM-JDK-JRE-JAR-vs-WAR)

Android SDK

안드로이드 앱개발을 위한 개발 툴킷, 안드로이드 앱은 자바로 개발이 되기 때문에 JDK가 필수 (그럼 코틀린은?)

 

NDK

Java의 한계를 극복하기위해 네이티브 언어를 사용하기 위한 키트 (자바의 한계 => 일반적으로 JVM의 성능 이슈)

C/C++기능을 쓰기 위해 NDK의 함수를 호출

안드로이드 스튜디오에서도 NDK를 받아서 C++의 기능을 호출해주게 되는데, 유니티에서도 마찬가지

 

번 외 Kotlin

좀 찾아보고 얕게 접한 나의 생각.

자바랑 1:1로 호환이되고, 코드가 간결해지고.. 라는 장점외에 

코틀린만이 가진건 없어보임

결국 자바로 할 수 있는거 보기좋게 포장한다 정도인것 같은데

그 코드 간결성도 C#에서 제공하는 것들 가져온 느낌,  ?.Invoke(null체크 함수) ?Nullable등

코틀린으로 개발할 일도 나한테는 없을 것 같고, 머지않아 코틀린에서 지원하는 간결한 문법들이 자바에서도 쓸수 있지 않을까 라는게 내생각

왜 굳이 투트랙으로 가냐?에서

안드로이드에서 자바에 내는 비용을 줄이고 싶었나?는 의문

배우는 게 좋다는 말을 여기저기서 하지만, 자바 숙련자나 타언어 프로그래머는 굳이?라는 의문을 지울 수 없었음.

(판단은 각자가)