Friday, November 24, 2017

안드로이드 아키텍쳐 컴포넌트(Android Architecture Component) - Overview

구글에서 안드로이드 아키텍쳐에 관련한 컴포넌트 4가지를 발표했다.
Lifecycle, ViewModel, LiveData, Room이 그것인데 하나하나 간략하게 설명을 해보자면

Lifecycle - 말 그대로 안드로이드 lifecycle을 관장하는 컴포넌트로 수동적으로 onXXXX등에 처리할때 비동기호출로 인한 문제점등을 해결해 준다고 한다.

LiveData - '식별 가능한 수명주기 인식 데이터 홀더클래스'라고 하는데 대충 양방향 통신(2way)을 위한 데이터 관리 클래스라고 보면 될거 같다.

ViewModel - 일반적으로 생각하는 mvvm 패턴의 뷰 모델과 비슷한거 같다. UI와 로직을 분리해주는데 사용된다고 한다.

Room - 이번에 가장 관심있는부분인데 SQLite를 ORM처럼 사용가능하도록 해주는 것으로 realm을 대체 할 수 있을거 같은 생각이 든다. 개인적으로 외부 라이브러리보다는 순수 안드로이드에것을 사용할 수 있게 된다는게 매력적인거 같다.

이로써 구글이 기존에 아키텍쳐에 관련해 무관심한듯해서 각자의 방법대로 mvc,mvp,mvvm등등 여러 패러다임으로 개발이 됐었는데 이번에 권장사양(?)을 발표함으로써 아키텍쳐에도 큰 변화가 올듯 하다.(난 아직도 mvc만 쓰는 바보..)
DI에서는 dagger2를 권장하고 어노테이션도 많이 추가되는것을 봐서 왠지 spring을 닮아가는 느낌도 조금 든다.

자세한 것은 https://developers-kr.googleblog.com/2017/06/android-and-architecture.html 에서 확인 가능하다.

0 개의 댓글:

Post a Comment