View

안드로이드 단일 아키텍처

제롱구리 2024. 3. 19. 11:00
728x90

오늘 알아 볼 것

금일 알아 볼 것은 현재 프로젝트에서 진행하려고 하는 안드로이드 아키텍처 이다.
단간히 알아보자

Single Activity Architecture

아키텍처는 여러가지가 존재한다. 아마 제일 유명한 아키텍처를 말한다면 클린 아키텍처라고 할 수 있을 것이다.
이처럼 아키텍처를 알고 적용해서 코드를 작성하냐 안하냐는 내부 코드의 구조를 볼 때 많은 차이가 난다.

일단 우리 오늘 알아볼 Single Activity Architecture는 제목에서도 알 수 있듯이 Activity를 단일 혹은 아주 적은게 사용하고 나머지는 모두 fragment를 사용해서 구현하는 구조를 말한다. 줄여서 SAA라고 말한다.

Google I/O에서는 하나 혹은 적은 갯수의 Activity만을 사용하고 나머지 화면은 Fragment로 구성한 구조로 주로 Jetpack Navigation과 함께 사용되는 구조 라고 되어 있다.

과연 그렇다면 이 아키텍처의 이점이 무엇일까?
바로 Activity는 Fragment에 비하여 상대적으로 무겁기 때문에 메모리나 속도 방면에서 Fragment를 사용하는 것이 이득이라는 것과
비즈니스 로직을 Fragment 단위로 분리하여 의존성을 줄인다는 것, Activity보다 유연한 UI 디자인을 지원한다는 것 등이 있다.

하지만 꼭 장점만 있는 것은 아니다.
아무래도 Lifecycle이 Activity 한개만 있을 때에 비하여 더 복잡해지고, Fragment들 간의 동작이 비동기로 처리되기 때문에 동기/비동기에 문제가 발생할 수 있다는 단점도 존재한다.
또한 Navigation 모듈을 따로 빼내어 사용해야된다는 점에서 많은 부분 힘들 수 있다고 생각한다.


금일은 이렇게 짧게 단일 아키텍처에 대해서 알아보았다. 해당 구현방식은 다른 블로그에 잘나와 있다.
만약에 프로젝트에서 제대로 녹여 내가 되면다면 다음에 구현 방식에 대해서 포스트해 보겠다.!!

'TIL > 스터디' 카테고리의 다른 글

Constraintlayout Chain  (0) 2024.03.21
ViewBinding(실제 에러 사례)  (0) 2024.03.20
ViewBinding  (0) 2024.03.18
RoomDB(2편)  (0) 2024.03.14
RoomDB  (0) 2024.03.14
Share Link
reply
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30