Home 7월 19일 Today I Learned
Post
Cancel

7월 19일 Today I Learned

오늘한 일

  • A·아이 프로젝트를 진행하였다
  • 블로그 TIL을 작성하였다
  • 1일 1커밋을 하였다

느낌 점

이번에 새로 알게 된 SAA를 도입해서 기존에 액티비티로 구현되어 있는 로그인 및 회원가입, 비밀번호 재설정 화면을 프래그먼트로 다시 구현해야겠다고 마음 먹었다 이번에 하는 프로젝트는 첫 대회이면서 API라던지 SAA라던지 새로운 것들을 많이 도전해보는 프로젝트인 것 같다

배운 점

Android SAA (Single Activity Architecture)

Single Activity Architecture 줄여서 SAA란 2018 구글 I/O에서 언급한 개념으로 기존 액티비티 기반의 화면 구성이 아닌 소수의 액티비티와 다수의 프래그먼트를 이용해 화면을 구성하는 구조로 jetpack navigation과 함께 소개되었다

이는 기존에 없던 개념을 구글이 처음 제시한 내용은 아니고 그 전부터 토론되어 왔던 내용을 구글이 jetpack navigation과 함께 엮어 더욱 편리하게 하나의 액티비티에서 다수의 프래그먼트를 다룰 수 있도록 작성한 것이다

위 방식에 장점은 아래와 같은데

  • 간단한 UI 관리: 하나의 액티비티로 모든 화면을 관리하므로 액티비티 간의 전환에 대한 복잡성이 줄어든다
  • 앱 성능 향상: 액티비티 간의 전환보다 프래그먼트 간의 전환은 메모리 사용량이 적으며 빠르게 처리될 수 있다
  • 다중 창 모드 지원: Android Nougat 이상에서 다중 창 모드를 지원하는 데 도움이 된다

하지만 Single Activity을 사용할 때 고려해야 할 몇 가지 단점도 있다

  • 구현 복잡성: 앱의 규모가 크거나 복잡한 UI를 가지는 경우 구현이 복잡해질 수 있다
  • 유지 보수 어려움: 하나의 액티비티에서 모든 화면과 상태를 관리하므로 유지 보수에 어려움이 있을 수 있다
  • 이전 버전 호환성: Android 버전 호환성 문제가 있을 수 있다

그렇기에 SAA를 사용할 때는 위와 같은 점들을 잘 살펴보고 선택해야 한다

이번에 A·아이 프로젝트를 진행하면서 로그인, 회원가입, 비밀번호 재설정을 각각 액티비티로 구현해야 하나 아님 프레그먼트로 해야하나 고민하다가 찾아보던 중 요즘 대세라는 SAA에 대해 알게 되어 해당 내용을 정리해봤다

내일 계획

내일은 A·아이 프로젝트를 진행해야겠다

This post is licensed under CC BY 4.0 by the author.

7월 18일 Today I Learned

7월 20일 Today I Learned