디자이너가 시안 대신 앱을 만든 이유
토스 UX 디자이너가 AI를 협력자로 삼아 피그마 시안 대신 실제 SwiftUI 코드로 iOS 앱을 직접 구현한 경험을 다룬다. "데드엔드" 화면(송금·결제 완료 등)을 다음 경험의 시작점으로 전환하는 underlay 컴포넌트를 설계하면서 Metal 셰이더 구현까지 디자이너가 주도했고, 완성된 코드를 개발팀에 전달해 협업 방식 자체를 바꿨다.
토스 UX 디자이너가 AI를 협력자로 삼아 피그마 시안 대신 실제 SwiftUI 코드로 iOS 앱을 직접 구현한 경험을 다룬다. "데드엔드" 화면(송금·결제 완료 등)을 다음 경험의 시작점으로 전환하는 underlay 컴포넌트를 설계하면서 Metal 셰이더 구현까지 디자이너가 주도했고, 완성된 코드를 개발팀에 전달해 협업 방식 자체를 바꿨다.
더핑크퐁컴퍼니가 영유아용 베베핀 타운 앱에 AR 기능을 넣으려면 iOS/Android 양쪽 디바이스에서 안정적으로 동작하고 개인정보 규제도 통과해야 한다.
TVING 쇼츠 플레이어가 영상마다 별도 플레이어 객체를 생성해 저사양 단말에서 OOM과 하드웨어 디코더 자원 한계가 발생했다.
TVING 쇼츠 플레이어에서 초기 VST가 평균 740ms로 길고, 저사양 단말에서 OOM과 디코더 초기화 실패가 발생했다.
Android 화면마다 체감 완료 시점을 따로 측정하면 성능 개선 범위가 제한되고 일관된 latency 지표를 얻기 어려웠다.
리멤버 iOS 앱이 UIKit 기반의 레거시 코드와 SwiftUI 신기능 사이에서 점진 이행을 결정해야 했고, 두 프레임워크 공존의 허들이 누적되어 있었다.
대규모 iOS 설정 화면을 모든 종류의 UI 요소(텍스트 / 스위치 / 링크 / i18n) 와 함께 다루기 어렵다.
Kotlin Multiplatform (KMP) + Compose Multiplatform (CMP) 이 프로덕션 환경에서 정말 쓸 만한지 의문이 많다.
당근 숏폼팀의 모듈이 200MB 까지 커져 빌드 시간 / 메인 APK 사이즈가 문제가 됐다.
포장 지도에서 동일한 위경도의 여러 가게 마커가 겹쳐 사용자가 개별 가게를 선택하지 못하고 탐색 흐름에서 이탈했다.
쏘카 / 일레클 / 따릉이 앱은 차량·자전거 단말과 블루투스로 직접 통신해 잠금·해제·반납을 수행한다. Android · iOS 플랫폼이 제공하는 블루투스 API 는 파편화돼 있어 서비스 도메인 요구를 그대로 표현하기 어렵다.
쏘카는 2019년 앱 코드를 새로 만드는 개편을 단행했다. 변화가 잦은 모바일 환경에서 생산성을 지속적으로 끌어올리려면 개발자 경험(DX) 자체가 시스템 자산이 되어야 했다.
피처 모듈을 독립시키려면 상품 카드 캐러셀·헤더·배너 같은 공통 UI 컴포넌트를 분리해야 했지만, 서버 드리븐 환경에서 어떤 컴포넌트가 있는지 한눈에 볼 카탈로그가 없어 중복 개발과 QA 범위 정의가 어려웠다.
Android·iOS 앱이 동일한 식별자를 사용해 한 기기에 개발·운영 앱을 동시 설치할 수 없어 환경 혼동에 따른 휴먼 에러와 커뮤니케이션 비용이 발생했다.
Vercel 이 AI 생성 도구 v0 의 iOS 앱 개발 과정을 상세히 공개했다. React Native + Expo 를 선택하고 채팅 UI 특유의 7가지 기술 도전—메시지 애니메이션, blank size 계산, 키보드 6가지 시나리오, TextInput 네이티브 패치, 스크롤 안정성, 스트리밍 콘텐츠 애니메이션 풀—을 해결하는 과정과 React Native 오픈소스 기여까지 담았다.
Slack Android 앱의 VPAT 과정에서 TalkBack 오류 안내, heading, 목록 개수, drag-and-drop 등 접근성 문제가 반복 확인됐다.
하이브리드 앱에서 네이티브-웹 통신 문제 디버깅을 위해 매번 Xcode 빌드가 필요하고, 피처 플래그 수정 시 프로덕션 환경을 직접 건드려야 하는 위험 존재
UIView.animate·UIViewPropertyAnimator 사용 시 CATransaction 잔존·레이아웃 연쇄 반응·타이밍 충돌·비애니메이션 속성 한계·취소 어려움 등 5가지 비의도적 동작 발생
앱스토어 심사 주기에 묶여 이커머스 환경에서 빠른 UI 변경·A/B 테스트가 불가능하고, iOS·Android·Web 플랫폼별 동기화 비용 과다
Jetpack Compose 마이그레이션 후 리컴포지션이 성능을 저하시킬 수 있다는 우려로 팀의 기술적 신뢰도가 낮았다.