Android Clean Arch + MVI 7-phase 리팩토링하면서 깨진 8가지 — iOS 스택과 다른 Android만의 함정들

iOS 네이티브 앱은 SwiftUI + TCA(The Composable Architecture)로 거의 끝나가는 상태였다. Android는 single-module Compose 스캐폴드만 있는 상태에서 같은 수준의 production 품질로 끌어올리는 작업을 시작했다. iOS와 동일한 멘탈 모델 — Clean Architecture + 단방향 데이터 흐름 + DI — 을 Android idiom으로 번역하는 게 목표였다. 7개 phase로 끊어서 진행하면서 매 phase 마다 코드 리뷰를 돌렸는데, 거의 모든 phase 에서 진짜 production 버그가 잡혔다. 운영 중인 앱이었으면 사용자가 실제로 깨졌을 것들이다. 이 글은 그 8가지를 정리한다. 같은 마이그레이션 하는 사람이 같은 함정 안 밟게. ...

2026-05-02 09:00 · 10분 소요 · Seunghan

Hotwire Native에서 Flutter BLoC으로 — 네이티브 앱 전환 실전기

Rails 웹앱에 Hotwire Native로 iOS 앱을 감싸서 출시했는데, 접속 오류로 심사가 반복 반려됐다. WebView 기반의 한계를 느끼고 Flutter + BLoC 패턴으로 순수 네이티브 전환을 결정했다. 이 글은 실제로 웹앱을 Flutter 앱으로 전환하면서 겪은 설계, 삽질, 해결 과정을 정리한 것이다. Hotwire Native가 안 된 이유 Hotwire Native는 WKWebView 위에 얇은 네이티브 셸을 씌우는 구조다. Turbo Navigator가 URL 기반으로 네비게이션을 처리하고, Bridge Component로 네이티브 UI를 부분적으로 제어한다. 웹 개발자 입장에서는 최소 비용으로 앱을 만들 수 있어서 매력적이다. ...

2026-03-31 00:00 · 9분 소요 · Seunghan
개인정보처리방침 이용약관 면책조항 문의