ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [코틀린] 02.Kotlin/Native - 설치하기
    안드로이드/코틀린 2019. 11. 28. 18:16
    이 블로그에서 사용하는 몇가지 IT 용어 정리.
    Kotlin/Native (코틀린/네이티브)는 윈도우나 맥OS 같은 운영체제에서 가상 머신 없이 바로 실행 가능한 파일을 만들어 준다. 컴퓨터에서 네이티브(native)는 특정 하드웨어나 운영체제에서 그대로 실행 되는 것을 의미한다.
    LLVM (엘-엘-브이-엠)은 미국 일리노이 대학교의 크리스 래트너(Chris Lattner)2000년에 쓴 석사 논문에서 출발한 프로젝트로 원래 저레벨 가상머신(Low-Level Virtual Machine)의 약자였으나, 프로젝트가 확장되며 이 용어는 더 이상 사용하지 않고 LLVM 자체가 프로젝트의 정식 명칭이 되었다. Kotlin/NativeLLVM 방식을 사용 한다.
    Gradle (그래들)Groovy를 이용한 빌드 자동화 시스템이다. 현재 안드로이드 앱을 만드는데 필요한 안드로이드 스튜디오의 공식 빌드 시스템이다.
    Konan (코난)GradleKotlin/Native 플러그인의 이름이다.

     

    코틀린 개요는 필자의 블로그를 방문하여 확인 해 보자.

     

    2019/11/28 - [안드로이드/코틀린+안드로이드 스튜디오] - [코틀린] 01.소개와 맛보기

     


    들어가기 전에...(필독!!!)

    프로그래밍 언어 코틀린을 만든 JetBrains사는 '가장 혁신적인 코딩 툴'이라는 IntelliJ IDEA를 유/무료로 제공하고 있으며, Kotlin/Native 학습이 가능하다. IntelliJ IDEA는 통합 개발 환경(Integrated Development Environment + 'A'는 무엇일까?) 으로 구글의 안드로이드 스튜디오가 IntelliJ IDEA를 기반으로 만들어졌다.

     

    IntelliJ IEDA를 무료로 사용하고 싶다면 아래 이미지를 따라가 ‘Community Edition’을 다운 받아 설치하면 된다. (, 설치법이나 사용법은 다른 블로그를 찾아 학습하시길...)

     

    이미지를 클릭하면 다운로드 페이지로 이동한다.

     

    이 블로그는 아~주~ 원시적인 방법으로 코틀린 소스를 컴파일하여 실행하는 것을 목표로 한다.

    때로는 (고급 개발 환경에 비해) 비효율적이며 답답할 수 있다하지만, 코틀린 기초 문법에 집중할 기회가 많을 것으로 필자는 생각하며, IDE 툴 사용법은 향후 안드로이드 스튜디오 설치로 만족하고 이 블로그에서는 커맨드 라인 컴파일만 설치한다.


    코틀린/네이티브 설치 – 개요

    코틀린/네이티브 설치는 아래 순서로 진행 된다.

     

    1. JAVA JDK 설치 - OpenJDK 설치 (300MB 공간 필요)

    2. Kotlin/Native 설치 (380MB 공간 필요)

    3. 첫 컴파일 - .konan 자동 설치 (2.8GB 공간 필요)

     

    텍스트로 된 "Hello, Kotlin/Native!!" 한 줄을 커맨드 라인으로 컴파일 해보기 위해 저장장치에 약 3.5G라는 꽤 많은 저장공간을 준비해야 한다.

     

    <JAVA JDK 와 Kotlin/Native 설치 용량>

     

    <.konan 설치 용량>


    코틀린/네이티브 설치 – 1. JAVA JDK 설치

    Java(자바)1995년 썬 마이크로시스템즈(Sun Microsystems)사의 제임스 고슬링(James Arthur Gosling, 캐나다)에 의해 개발된 객체 지향 프로그래밍(Object-Oriented Programming, OOP) 언어이다.

    지금은 점유율이 많이 떨어졌지만, 2000년부터 19년 동안 세계 프로그래밍 언어 1위를 놓치지 않고 있다. 이 때문에 수 많은 개발자와 레퍼런스를 보유하고 있다는 것이 장점으로 꼽히고 있다.

     

    Java 프로그램 개발을 위해 필요한 툴들을 모아 놓은 것이 JDK(Java Development Kit)이다.

    우리가 일반적으로 알고 있는 JDKOracle사에서 만든 'Oracle JDK Java SE(Standard Edition)'를 의미 한다OracleJDK무료 오픈 소스인 OpenJDK에 응답성과 JVM 성능을 높인 것으로, 20191월부터 서브스크립션(subscription, 구독형) 방식으로 상용화했다.

    서브스크립션을 구매하지 않은 기업은 업무용, 상업용 또는 운영용으로 사용할 수 없고, 업데이트 및 버그 패치도 제공되지 않는다. 개인 사용자는 202012월말까지 Java SE 8을 무료로 사용할 수 있다.

     

    본 블로그에서는 무료 오픈 소스 OpenJDK 설치법을 나열하였다혹시, PCJDK가 이미 설치되어 있을 수 있다. 아래 ‘11)’번 항목으로 테스트하여 설치 여부를 확인 하자.

     

     

    1) OpenJDK를 제공하는 jdk.java.net에 접속하여, ‘Ready for use : JDK 13’을 클릭 한다.

     

    jdk.java.net 홈페이지 첫 화면. OpenJDK 의 일정이 궁금하면 openjdk.java.net 을 방문을 권장한다.

     

     

    2) 자신의 운영체제에 맞는 JDK를 다운로드 한다.

    본 블로그는 Windows 10을 사용하는 관계로 Windows/x64를 다운 받았다.

     

    운영체제별로 JDK 를 다운 받을 수 있다.

     

     

    3) 다운로드 받은 파일을 선택 후 오른쪽 마우스 버튼을 클릭하여 압축풀기를 선택한다.

     

    다운 받은 openjdk-13.0.2_windows-x64_bin.zip 은 약 200MB 쯤 된다.

     

     

    4) 원하는 폴더에 압축 해제를 한다.

    본 블로그는 ‘c:\Java’ 에 압축 해제를 했다.

     

    예전에는 압축 프로그램을 설치하고 압축 해제를 했지만, 지금은 윈도우에서 기본 지원이 되니 참 편리하다.

     

     

    5) 설치된 폴더 경로를 확인한다.

    확인 해 보면 'C:\Java\jdk-13.0.2'로 폴더가 하나 더 생성 되었다. JDK 파일은 이 폴더 아래에 있으니 기억해 두자.

     

    'C:\Java\jdk-13.0.2' 폴더명이 길다고 느끼면 'C:\Java' 로 줄여 사용할 수 있다. 하지만, 한 번 설치하면 더 신경 쓸 일이 없으므로 그냥 두겠다.

     

    OpenJDK를 설치하였다. 여기에 윈도우 어디에서든 JAVA 명령어를 실행하기 위해 '환경변수 설정'을 하겠다.

     

     

    6) JDK '환경변수 설정'을 한다.

    탐색기의 'PC'에서 마우스 오른쪽 버튼 클릭 후 '속성'을 선택한다.

     

     

     

    7) '시스템' 창이 나타나면 '고급 시스템 설정'을 클릭한다.

     

     

     

    8) '시스템 속성' 창이 나타나면 '환경 변수'를 클릭한다.

     

     

     

    9) '환경 변수' 창에서 환경변수를 입력 한다.

    하단 '시스템 변수' 밑의 '새로 만들기'를 클릭한 후, '새 시스템 변수' 창이 나타나면 변수 이름은 'JAVA_HOME', 변수 값은 JDK가 설치된 폴더 경로 'C:\Java\jdk-13.0.2'를 입력한 후 '확인'을 클릭한다.

     

     

     

    10) '환경 변수' 창에서 JDK 경로를 추가 한다.

    '시스템 변수' 목록에서 'Path' 항목을 선택한 후 '편집'을 클릭 한다.

     

     

    '환경 변수 편집' 창이 나타나면 '새로 만들기'를 클릭, '%JAVA_HOME%\bin\'을 입력한 후 '확인'을 클릭 한다.

     

    사실 'Path' 항목에 JDK 경로 전체 'C:\Java\jdk-13.0.2\bin\' 으로 입력해도 된다. 하지만, 절대 경로 보다는 상대 경로를 사용하는 습관이 프로그래밍에도 도움이 된다.

     

    모두 '확인'을 눌러 모든 창을 닫는다.

     

     

    11) 윈도우에서 '명령 프롬프트' 창을 열어 JDK가 올바르게 설정 되었는지 확인한다.

    윈도우 하단 작업표시줄의 '검색' 창에서 'cmd' 명령어를 입력 후 엔터키를 치거나, 화면에 나타나는 '명령 프롬프트'를 선택한다.

     

     

    시커먼 창이 나타나면 키보드로 ‘javac version’을 입력하여 버전이 나타나는지 확인 한다.

     

    '명령 프롬프트' 창에서 'javac –version' 을 입력하여 'javac 버전숫자' 가 나타나면 JDK 가 올바르게 설정된 것이다.

     

    위 테스트에서 "'javac'() 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다." 라는 메시지가 나타나면 대부분 오타일 가능성이 높다. 처음부터 순서대로 확인하여 오타가 있는지 확인하자.

     


    코틀린/네이티브 설치 – 2. Kotlin/Native 설치

    프로그래밍 언어 코틀린의 목적은 현재 JAVA가 사용되고 있는 모든 용도에 적합하면서도 더 간결하고 생산적이며 안전한 대체 언어를 제공하는 것이다.

     

    JAVA는 여러 운영 체제에 맞는 JVM 위에 JAVA 바이트 코드를 실행하는 방식을 취하고 있다. 이는 실시간으로 JAVA 바이트 코드를 번역하여 실행하기 때문에 일반 운영 체제 전용 어플리케이션에 비해 속도가 느리다. 요즘은 하드웨어 기술 발전으로 인해 속도 저하를 거의 느끼지 못하지만, JAVA가 처음 나온 1990년대는 실행 속도 문제가 있었다.

     

    Kotlin/Native JAVA의 단점을 보완하여 컴파일 단계에서 해당 운영 체제에 맞게 컴파일 하는 LLVM 방식을 사용한다.

     

    Kotlin/Native 자습서에는 IDE(Integrated Development Environment, 통합 개발 환경) 없이 계속 사용하려면 Gradle 빌드 도구를 다운로드하여 설치하라고 되어 있다.

     

    본 블로그는 코틀린 문법에 집중하기 위해 기본 컴파일 및 실행만 사용하기 때문에, Gradle을 사용하지 않는다어짜피 안드로이드 스튜디오에서 Gradle을 사용하기 때문에 그 때 살펴보자.

     

    안타깝게도 ‘Kotlin/Native 1.3 버전’ 설치를 위해서는 아직까지 Java 1.8 또는 11 런타임이 필요하다. 향후 코틀린 버전이 높아져서 JAVA 없이 컴파일 되는 그 날이 오기를 기다려 보자.

     

     

    1) 코틀린 홈페이지에 접속한다.

    'https://kotlinlang.org/docs/tutorials/command-line.html' 로 접속한 후 'GitHub Releases'를 클릭하여 다운로드 받으러 간다.

     

    코틀린 홈페이지에서 화면 상단 'Learn' 클릭 → 다음 페이지에서 왼쪽 메뉴의 'Overview' 를 펼치고 'Kotlin for Native' 클릭 → 다음 페이지 화면 상단의 'Tutorials' 클릭 → 다음 페이지 중앙의 'Working with the Command Line Compiler' 를 클릭하면 이 페이지까지 올 수 있다.

     

     

    2) 소스 코드 저장소의 대명사 GitHub 사이트에서 페이지 가장 하단으로 이동하여 자신의 운영체제에 맞는 컴파일러를 다운로드 한다.

    본 블로그는 Windows 10을 사용하는 관계로 kotlin-native-windows-1.3.61.zip 를 다운 받았다.

     

    GitHub 사이트로 바로 이동하지 않고 코틀린 홈페이지를 한 번 거치는 이유는 항상 Kotlin/Native 최신 버전을 받기 위함이다.

     

     

    3) 다운로드 받은 파일을 선택 후 오른쪽 마우스 버튼을 클릭하여 압축풀기를 선택, 원하는 폴더에 압축 해제를 한다.

    본 블로그는 'C:\Kotlin' 에 압축 해제를 했다.

     

     

     

    4) 설치된 폴더 경로를 확인한다.

    확인 해 보면 C:\Kotlin\kotlin-native-windows-1.3.61로 폴더가 하나 더 생성 되었다. Kotlin/Native 파일은 이 폴더 아래에 있으니 기억해 두자.

     

     

    Kotlin/Native 를 설치하였다. 여기에 윈도우 어디에서든 Kotlin/Native 를 실행하기 위해 '환경변수 설정'을 하겠다.

     

     

    5) Kotlin/Native ‘환경변수 설정을 한다.

    JDK 환경변수 설정과 동일하다.

    탐색기의 'PC'에서 마우스 오른쪽 버튼 클릭 후 '속성'을 선택한다.

    ② '시스템' 창이 나타나면 '고급 시스템 설정'을 클릭한다.

    ③ '시스템 속성' 창이 나타나면 '환경 변수'를 클릭한다.

    ④ '환경 변수' 창에서 환경변수를 입력 한다하단 '시스템 변수' 밑의 '새로 만들기'를 클릭한 후, '새 시스템 변수' 창이 나타나면 변수 이름은 'KOTLIN_HOME', 변수 값은 Kotlin/Native 가 설치된 폴더 경로 'C:\Kotlin\kotlin-native-windows-1.3.61'를 입력한 후 '확인'을 클릭한다.

     

     

    ⑤ '환경 변수' 창에서 Kotlin/Native 경로를 추가 하기 위해, '시스템 변수' 목록에서 'Path' 항목을 선택한 후 '편집'을 클릭 한다. '환경 변수 편집' 창이 나타나면 '새로 만들기'를 클릭, '%KOTLIN_HOME%\bin\'을 입력한 후 확인을 클릭 한다.

     

    이전에 설정한 JDK 경로 설정(%JAVA_HOME%\bin\)이 보인다.

     

    모두 '확인'을 눌러 모든 창을 닫는다.

     

     

    6) 윈도우에서 '명령 프롬프트' 창을 열어 Kotlin/Native 가 올바르게 설정 되었는지 확인한다.

    윈도우 하단 작업표시줄의 '검색' 창에서 'cmd' 명령어를 입력 후 엔터키를 치거나, 화면에 나타나는 '명령 프롬프트'를 선택한다.

    시커먼 창이 나타나면 키보드로 'kotlinc version'을 입력하여 버전이 나타나는지 확인 한다.

     

    '명령 프롬프트' 창에서 'kotlinc –version' 을 입력하여 'kotlinc 버전숫자' 가 나타나면 Kotlin/Native 가 올바르게 설정된 것이다.

     

    위 테스트에서 "'kotlinc'() 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다." 라는 메시지가 나타나면 대부분 오타일 가능성이 높다. 처음부터 순서대로 확인하여 오타가 있는지 확인하자.

     


    ~ Kotlin/Native 설치 테스트까지 끝냈다면 당신의 PC는 이제 돌아올 수 없는 강을 건넜다고 말하고 싶지만 괜찮다.

    지금까지 설치한 'C:\Java' 와 'C:\Kotlin' 폴더만 탐색기에서 지우면 모든 것이 없던 일이 된다. (물론 환경변수의 JAVA_HOME KOTLIN_HOME 도 지워야 한다.)

     

    필자가 서두에서 본 블로그에서 사용하는 방식은 '(고급 개발 환경에 비해) 비효율적이며 답답할 수 있다.' 고 했다클릭 몇 번만으로 설치하고 개발에 도움을 주는 여러 기능을 이용할 수 있는 IntelliJ 같은 개발 툴을 굳이 놔두고 이런 방법을 택한 것은 '요즘은 프로그래밍 언어를 배우기 위해 너무 많은 것을 알아야 한다.'고 생각하기 때문이다.

     

    PC든 모바일이든 기본적으로 그래픽 환경(=GUI)에서 돌아가니 내가 만든 소스 코드를 컴파일 하면 수 많은 라이브러리가 붙어 결과를 보여 준다. 과거에는 텍스트로 결과만 보여 줘도 흥분 되고 성취감을 느꼈는데 말이다.

     

    텍스트로 결과를 보여 주는 프로그래밍 언어로 JAVAPython(파이썬)도 훌륭한 선택이다. 하지만, 필자는 본 블로그에서 코틀린 기초 문법에서 시작하여 안드로이드 앱 개발, 더 나아가 (코틀린의 발전 방향에 따라) iOS 개발까지 코틀린으로 가능할 것으로 기대하고 블로그를 채우고자 한다.

     

    이 장에서는 Kotlin/Native를 이용해 '첫 컴파일'까지 하는 것을 목표로 했지만, 뜨거워진 머리를 식히는 의미에서 여기까지만 작성하도록 하겠다.


     

    댓글

Designed by Tistory.