https://developer.android.com/jetpack/guide#mobile-app-ux

 

앱 아키텍처 가이드  |  Android 개발자  |  Android Developers

이 가이드에는 고품질의 강력한 앱을 빌드하기 위한 권장사항 및 권장 아키텍처가 포함되어 있습니다. 이 페이지는 Android 프레임워크 기본을 잘 아는 사용자를 대상으로 합니다. Android 앱을 처

developer.android.com

 

사용자의 모바일 앱 경험에 대해 알아둔다면 앱개발 시 초기에 라이프싸이클에 대해 이해하고 개발하는지, 안드로이드 아키텍처가 생겨났는지, Jetpack을 적용해야하는지에 대해 조금은 더 이해 할 수 있을거라고 생각합니다. 먼저 데스크톱 환경과 안드로이드 환경을 비교해보자면, 데스크탑 어플리케이션들은 대부분 아이콘을 클릭해 실행합니다. 앱을 진입하는 일반적으로 하나로 볼 수 있습니다. 이 진입점을 통해 프로그램 전체를 메모리에 올리고, main()과 같은 함수를 통해 시작한다고 볼 수 있습니다. 이 순서외에 데스크탑에서 애플리케이션을 실행시키는 방법은 없다고 생각하겠습니다.

하지만 안드로이드 어플리케이션은 홈에 있는 아이콘을 클릭 할 수도 있고, 푸시메시지를 통해 앱을 실행 할 수도 있고, 다른앱에서 호출 할 수도 있고, 알람을 통해 특정한시간에 스스로 실행이 되기도하는 등 여러가지 방법으로 앱을 실행 할 수 있고 각 이벤트마다 실행되는 시작화면도 다를 수 있습니다.

이에 따라 안드로이드에서는 이러한 다양한 진입점을 대응하기위해 4가지 컴포넌트라는것이 생겨났고 이 컴포넌트를 통해 다양한 앱에 시작 진입점을 설정 할 수 있습니다.

 

이러한 앱의 진입점 역할을 하는 4가지 컴포넌트를 사용하기 위해서는 AndoirdManifest라는 파일에 명시를 해야 사용 할 수 있습니다. 그러면 OS에서는 각 앱에 있는 Manifest파일을 전체를 분석하여 사용자가 다양한 앱을 스마트폰에서 사용 할 수 있도록 통합하는 작업을 합니다. 우리는 스마트폰을 사용할때 아주 짧은 간격으로 다양한 앱들을 실행합니다. 인터넷 검색을 했다 지도로 가고, 전화를하고, 메신저를 했다가, 사진을 찍는 등 이러한 앱간의 이동이 아주 자연스러울 수 있는 이유가 앱에 다양하게 진입 할 수 있는 컴포넌트가 잘 구성되어있기 때문입니다. 실제로 앱을 구현해보면 일반 스토어에 출시되어있는 앱들이 얼마나 이러한 부분을 공들여서 개발하는지 알 수 있게 될 것입니다.

 

다시 이러한 잘 구성된 앱컴포넌트를 구현했을 때 아래와같이 사용 할 수 있습니다. SNS앱에서 사진을 찍을 때 자연스럽게 카메라 앱으로 전환이 되고 사진을 찍는 도중에 전화가 오고 전화를 받으면 또 자연스럽게 통화 앱으로 넘어가고 통화가 끝나면 다시 카메라 앱으로 돌아오게되는 것이 사용자가 생각 하는 일반적인 경험일 것입니다. 이러한 부분을 앱컴포넌트를 잘 고려하여 구현해야만 가능한부분입니다.

+ Recent posts