용어정리
더보기
- API Application Programming Interface : 애플리케이션 간의 상호작용을 위한 규약 또는 프로토콜. 안드로이드 API는 개발자에게 안드로이드 플랫폼의 기능을 사용할 수 있게 제공하는 도구
- 빌드Build : 소스코드를 기계어로 변환 후 실행파일로 만드는 과정
리눅스에서의 빌드 : 소스코드를 바이트코드로 컴파일 후 라이브러리를 연결해 실행파일로 만드는 과정
안드로이드에서의 빌드 : 소스코드, 리소스, 라이브러리까지 한 번에 바이트코드로 컴파일 후 APK매니저로 설치파일을 생성 - 바이트코드 : 안드로이드 런타임에서 이해할 수 있도록 변환한 기계어
- APK : 안드로이드 패키지Android Package의 줄임말로 안드로이드 설치 파일의 확장자명
AAB : APK 파일을 대체하는 새로운 파일형태. 앱을 다운로드할 때 사용자에게 필요한 모듈만 골라 APK 파일로 생성 - AOT컴파일 Ahead Of Time : 설치시. 리눅스 운영체제에서 실행할 수 있는 파일 형태로 일부 컴파일
- JIT컴파일 Just In Time : 호출시. AOT컴파일에서 제외된 파일을 호출하여 컴파일
왜 2번이나 컴파일 하나요? 성능 및 속도와 디스크에 차지하는 용량이 반비례하기 때문에 상황에 맞춰 각각의 장단점을 효율적으로 조절
안드로이드 Android
- 플랫폼 : 리눅스 운영체제 안에서 리눅스와 상호작용하면서 동작.
- API : 레벨에 따라 기능이 추가되거나 변경될 수 있다. 따라서 레벨이 변경될 때 코드를 다시 한 번 확인해볼 필요가 있다. 1년에 한 번 정도 메이저 버전이 업데이트 된다.
- 젯팩 Jetpack : 안드로이드 모든 버전과 기기에서 일관되게 동작하는 라이브러리. 버전 호환성으로 비정상 종료와 메모리 누수를 줄이고 반복되는 코드를 제거해 코드 복잡도를 낮추며 개발자가 필요한 로직에만 집중할 수 있게 한다. 약 90개의 라이브러리를 제공하는데 입문단계에서 꼭 필요한 라이브러리는 다음과 같다.
-
Collection
-
ConstraintLayout
-
Fragment
-
RecyclerView
-
ViewPager2
-
Preference
-
Room
-
- 뷰바인딩 ViewBinding : findViewById를 떨쳐내고 뷰 객체에 접근하기 위한 뷰 바인딩 지원.
- 코루틴 Coroutine : 스레드를 경량화한 코루틴 제공. 기존 스레드는 코루틴을 위해 실행 가능한 공간을 제공하는 역할만 하며 하나의 스레드에 여러개의 코루틴이 존재할 수 있도록 설계됐다. 동시성 프로그래밍이 가능.
코틀린 Kotlin
Jet brans사가 만든 프로그래밍 언어. 자바와 100%호환되며 간결성과 Null안전성이 특징. Google에서 2017년 5월에 공식 채택했고, 2019년에 퍼스트로 선언하며 메인언어로 지원하고 있다. 함수형 프로그래밍을 표방하고 있다.
앱이 만들어지는 과정
- 소스코드 작성 : 코틀린으로 소스코드 작성
- 설치파일 생성(빌드) : 컴파일+비밀번호로 생성. 코틀린으로 작성된 소스코드를 바이트코드로 컴파일 후, APK 매니저에서 비밀번호를 가지고 있는 키 스토어와 조합해 안드로이드에서 실행될 수 있는 설치파일의 형태로 반환하여 생성
- 업로드 및 등록 : 구글 플레이 스토어에 앱 업로드 및 등록. 단순히 올리기만 하는 것이 아니라 설치파일의 정상 작동여부, 보안 등 앱을 검수하는 과정까지 포함
- 앱 선택 및 설치 : 구글 플레이 스토어에서 앱 선택 및 설치. AOT컴파일하여 실행속도가 빨라지고 사용자에게 기능의 사용권한을 요청
- 앱 실행 : 아이콘을 터치하여 앱 실행. JIT 컴파일 후 사용권한 중 '실행 시 권한'이 포함되어 있으면 사용자에게 확인 요청
'코틀린 > 코틀린 문법' 카테고리의 다른 글
코틀린문법 3주차 강의 [객체지향 프로그래밍] (0) | 2024.06.03 |
---|---|
코틀린문법 2주차 강의 [컨벤션 ~ 반복문] (0) | 2024.06.03 |
코틀린문법 1주차 강의 [프로그래밍 ~ 개발환경] (0) | 2024.06.03 |
Git Book 문법 [코딩컨벤션 변수 함수 클래스] (0) | 2024.05.29 |
Git Book 문법 [안드로이드 스튜디오와 앱] (0) | 2024.05.28 |