공부하며 적는 글입니다!
앱이 디바이스에 설치될 때, 앱 스토어와 운영체제가 디바이스의 특성에 맞게 설치되로록 하는 설치 최적화 기술을 말한다.
그리고 앱 시닝은 슬라이싱, 비트코드, 주문형 리소스 가 존재한다.
앱이 지원하는 여러 디바이스에 대해 각각 조각 앱 번들을 생성하고, 각자의 디바이스에 가장 적합한 조각을 전달하는 기술이다.
그러니까 지금 내가 사용할 디바이스에 가장 잘 맞는 조각을 다운받을 수 있게 해주는 것이다.
비트코드는 기계언어로 번역되기 전 단계의 중간 표현을 말한다.
비트코드를 사용하여 업로드를 하게되면, 애플이 앱을 재컴파일 하여 앱 바이너리를 생성하게 된다.
비트코드를 사용하지 않으면, 모든 디바이스를 어우르는 바이너리로 생성해서 fat binary 라는 것이 업로드 되지만, 비트코드를 사용하면 필요 경우에 따라서 재컴파일 하므로 여기에서 최적화를 진행할 수 있게 된다.
쉽게 말해서, 필요할 때 다운받는다는 것이다.
예를 들어보자면 게임과 같은 경우를 들어볼 수 있는데, 현재 레벨보다 상위 레벨은 필요하지 않으므로 갖고 있을 필요가 없다. 사용자의 레벨이 필요할 경우에 다운 받는 경우가 이 경우에 속한다.
사용자의 선택에 따라 다운로드 받는 것이다.