스팀 앱 개발기 #149 - 개발 완료: Jetpack Compose 마이그레이션 4단계

개발 완료: Jetpack Compose 마이그레이션 4단계

No. 149
2026. 04. 29 (수) | Written by @dorian-mobileapp

저번 포스트에서 말씀드린 Jetpack Compose로 마이그레이션. 그중 4단계를 진행했습니다. 아... 길다는 생각이 드네요. 기록은 단계별로 해야 의미가 있다고 생각합니다. 귀찮더라도 이렇게 하려구요. 요약 내용은 다음과 같습니다.


Jetpack Compose 마이그레이션 4단계 요약

작업 개요

레거시 Fragment 기반 코드와 DataBinding XML 파일을 전부 제거하여 Compose 전환을 완료했습니다.


변경 파일 목록

파일변경 내용
AndroidManifest.xmlMainActivity 항목 제거
PostItemListAdapter.kt삭제 (미사용 고아 클래스)

삭제한 Kotlin 파일 (4개)

파일이유
MainActivity.ktMain2Activity로 완전 대체됨
MainViewModel.ktMainActivity에서만 사용됨
BaseActivity.kt모든 Activity가 Compose 기반으로 전환됨
BaseFragment.kt모든 Fragment 클래스가 Step 1에서 삭제됨

삭제한 XML 파일 (22개)

layout/ (20개)

분류파일
Activity 레이아웃activity_main.xml, activity_splash.xml, activity_vote_list.xml
Fragment 레이아웃fragment_tags.xml, fragment_profile.xml, fragment_blog.xml, fragment_account_details.xml
공통 컴포넌트layout_post_item.xml, layout_vote_item.xml, layout_reply_item.xml, layout_tag_item.xml
기타layout_profile_content.xml, layout_profile_menu.xml, layout_profile_menu_item.xml, layout_loading.xml, layout_loading_error.xml, layout_input_account.xml, layout_account_lookup.xml, layout_tag_lookup.xml, layout_post_image.xml

menu/ (1개)

  • bottom_nav_menu.xmlactivity_main.xml에서만 참조됨

navigation/ (1개)

  • mobile_navigation.xml — 빈 파일, activity_main.xml에서만 참조됨

작업 후 남은 Activity 구조

Activity방식
SplashActivityComponentActivity + setContent {}
Main2ActivityComponentActivity + Navigation Compose
VoteListActivityComponentActivity + setContent {}
PostImagePagerActivityAppCompatActivity + ComposeView (하이브리드, 향후 정리 대상)
ProfileImageActivityAppCompatActivity + ComposeView (하이브리드, 향후 정리 대상)

GitHub Commit

보다 자세한 코드는 아래 commit을 참고하세요.


지난 스팀 앱 개발기


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.