스팀 앱 개발기 #150 - 개발 계획: 후속 보강 작업

개발 계획: 후속 보강 작업

No. 150
2026. 04. 30 (목) | Written by @dorian-mobileapp

Jetpack Compose로 마이그레이션. 1단계부터 4단계까지 완료했했습니다. 다음 기능을 개발하고 싶지만, 혹시 추가로 보강해야 할 게 있는지 클로드에게 물어봤습니다. 역시나 해야 할 것들이 남아 있네요. 내용은 아래와 같습니다.

다음에는 아래 4가지 작업들을 단계별로 진행할 예정입니다. 다음부터는 클로드에게 물어본 질문들도 리스트로 정리할 것입니다.


추천 후속 작업

1. Compose 마이그레이션 연장선 (높은 우선순위)

PostImagePagerActivity / ProfileImageActivity 정리
두 Activity가 아직 ComposeView + setContentView() 방식(하이브리드)을 사용 중입니다. SplashActivity처럼 setContent {} 방식으로 전환하면 마이그레이션이 완전히 일관됩니다.

VoteListActivity → Navigation Compose 통합
앞서 논의한 내용대로, 장기적으로 단일 Activity 구조로 통합하는 작업입니다. SharedViewModel 방식으로 PostContentViewModelActiveVote 데이터를 공유하면 됩니다.


2. 레거시 의존성 제거 (중간 우선순위)

DataBinding 의존성 제거build.gradle에서 dataBinding { enabled = true } 설정이 남아 있을 수 있습니다. 레이아웃 XML을 모두 삭제했으므로 제거 가능합니다.

RxJava 사용 여부 점검BaseViewModelcompositeDisposable이 남아 있습니다. 프로젝트 전반에서 RxJava가 실제로 사용 중인지 점검하고, 미사용이면 의존성을 제거할 수 있습니다.

ViewModelProviderby viewModels() 통일PostImagePagerActivity, ProfileImageActivity가 아직 ViewModelProvider(this).get(...) 방식을 사용 중입니다.


3. Architecture 개선 (중간 우선순위)

AccountDetailsViewModel StateFlow 전환collectAsState() 대신 collectAsStateWithLifecycle()을 사용하고 있는지 확인 및 통일이 필요합니다.

PostImagePagerActivity / ProfileImageActivity Hilt 적용
두 Activity가 @AndroidEntryPoint 없이 ViewModelProvider를 직접 사용 중입니다. Hilt 방식으로 통일하면 일관성이 높아집니다.


4. 테스트 (낮은 우선순위)

Compose UI 테스트 추가
현재 Compose 화면들에 대한 UI 테스트가 없습니다. VoteListScreen, PostScreen 등 주요 화면부터 추가를 고려할 수 있습니다.

ViewModel 단위 테스트 보강
StateFlow 기반으로 전환된 ViewModel들에 대한 단위 테스트를 추가하면 안정성이 높아집니다.


요약

작업우선순위난이도
PostImagePagerActivity / ProfileImageActivity setContent {} 전환높음낮음
DataBinding / RxJava 의존성 제거높음낮음
VoteListActivity → Navigation Compose 통합중간중간
Hilt / by viewModels() 통일중간낮음
Compose UI 테스트 추가낮음높음

가장 빠르게 효과를 볼 수 있는 작업은 PostImagePagerActivity / ProfileImageActivity 정리DataBinding 의존성 제거입니다.


지난 스팀 앱 개발기


Layout provided by Steemit Enhancer hommage by ayogom

Posted using SteemX

Sort:  

안녕하세요.
SteemitKorea팀에서 제공하는 'steemit-enhancer'를 사용해 주셔서 감사합니다. 개선 사항이 있으면 언제나 저에게 연락을 주시면 되고, 관심이 있으신 분들은 https://cafe.naver.com/steemitkorea/425 에서 받아보실 수 있습니다. 사용시 @응원해 가 포함이 되며, 악용시에는 모든 서비스에서 제외될 수 있음을 알려드립니다.


안녕하세요.
이 글은 SteemitKorea팀(@ayogom)님께서 저자이신 @dorian-mobileapp님을 응원하는 글입니다.
소정의 보팅을 해드렸습니다 ^^ 항상 좋은글 부탁드립니다
SteemitKorea팀에서는 보다 즐거운 steemit 생활을 위해 노력하고 있습니다.
이 글은 다음날 다시 한번 포스팅을 통해 소개 될 예정입니다. 감사합니다!

Upvoted! Thank you for supporting witness @jswit.

🎉 Congratulations!

Your post has been upvoted by the SteemX Team! 🚀

SteemX is a modern, user-friendly and powerful platform built for the Steem community.

🔗 Visit us: www.steemx.org

✅ Support our work — Vote for our witness: bountyking5

banner.jpg