팀리미티드 블로그

혼자서 상위 1% 앱을 살려냈다? 프론트엔드 개발자의 피 땀 눈물 마이그레이션 생존 보고서!

프론트엔드 개발자의 고군분투

혼자서 상위 1% 앱을 살려냈다? 프론트엔드 개발자의 피 땀 눈물 마이그레이션 생존 보고서!

🧭 웹 개발자가 앱 마이그레이션을 맡으면 생기는 일 .zip

“안녕하세요, 5년차 웹 프론트엔드 개발자입니다.”

“아, 그럼 앱도 할 줄 아시겠네요?”

”(??!?!!)”

그 말을 들은 날, 제 React Native 설치 창에는 npm install과 함께 신호 없이 찾아온 여정이 열렸습니다.


👶 React Native 처음 써봤습니다. 말 그대로 처음

처음엔 그냥 웹처럼 div, className, px 단위 쓰면 되겠지~ 싶었습니다.

네, 바로 뚝배기 맞았습니다. React Native에는 div도 없고, className도 없고, px도 그냥 무시당합니다.

대신 View, Text, StyleSheet.create() 같은 낯선 친구들과 친해져야 했고, 어느샌가 저는 “Metro 번들러가 터졌을 때는 캐시부터 지워보자”는 신념을 가진 개발자가 되어 있었습니다.


🔀 구조 파악부터 컴포넌트 분해까지

기존 앱은 Flutter 기반이라 구조가 전혀 달랐고,

이를 RN으로 옮기기 위해선 먼저 전체 플로우와 UI 구조를 세세하게 분석해야 했습니다.

  • 라우팅 방식 다름 → React Navigation으로 재구성

  • 스크롤/페이지 전환 UX → Flutter처럼 구현하려면 커스텀 작업 필요

  • 컴포넌트 분리 기준 → 재사용성 vs platform specific 분기 처리

  • WebView ..ㅠㅠ

이걸 혼자 하려니, 하루에 폴더 구조만 3번 뒤엎은 날도 있었습니다.

“내가 만든 코드인데 내가 이해 못하는 느낌...”


📱 크로스 플랫폼 = 같은 코드, 다른 버그 (참 쉽죠?)

RN은 하나의 코드베이스로 Android와 iOS를 모두 지원합니다.

…라는 말은 이론이고요. 실제로는:

  • iOS에선 잘 되는데 Android에선 깜빡임

  • Android에선 터지는데 iOS에선 멀쩡

  • 시뮬레이터에선 되는데 실기기에선 죽음

  • 됐다가 갑자기 안됌

“어디서 분명 된다는데, 왜 나는 안 되지?”라는 자문을 하루 3번씩 하게 됐고, 결국 Platform.OS 조건문을 코드 곳곳에 심으며 종교처럼 외웠습니다:

“이건 Android 때문이야. 분명히 그래. (iOS일 수도 있지만…, 도 아닐 수도 있지만...)”


📐 디바이스 반응형 이슈: 내 앱이 왜 씹히죠...?

웹에서는 media query 한 줄이면 끝나던 반응형.

앱에서는 아이폰 미니, 삼성 폴드, 플립 등 다 따로 놀며 SafeArea가 아니라 Danger Zone이었습니다.

  • iPhone 13 mini: 버튼이 잘려서 못 누름

  • 폴드, 플립: 텍스트가 뭉개짐

그제서야 깨달았습니다. 앱 개발자들이 테스트폰을 5대씩 쌓아두는 이유는 그냥 멋이 아니었다는 걸.

useWindowDimensions, percentage-based layout, SafeAreaView, StatusBar, FlatList 등 온갖 키워드를 던지며, 결국은 화면 비율별 조건 분기라는 폭풍 속으로 빠져들었습니다.


🔧 디버깅은 고행이었고, 캐시는 배신자였다 (feat. 삽질의 연속)

웹에서는 새로고침이면 되던 걸, 앱에서는 npm start --reset-cache, npx pod-install, gradlew clean주술급 명령어를 외워야만 했습니다.

iOS는 Xcode가 삐지면 30분 날아가고, Android는 에뮬레이터 하나 띄우는 데도 메모리와 싸워야 했습니다.

하루에 앱을 10번은 지웠다 깔고, “도대체 뭐가 문제야…”라는 말을 매일 중얼거렸습니다.

그러다 보니깐 주술급 명령어들을 어느순간 다 외워지는... SUPER MAGIC


📱 그럼에도 앱스토어에 올라갔습니다. 나름(?) 당당하게.

이 모든 던전 클리어 끝에 앱스토어에 배포 완료.

그때 깨달았죠.

‘개발자란, 코드를 잘 짜는 사람이 아니라 끝까지 버티는 사람이다.’


🧑‍🚀 웹 개발자의 앱 도전, 그 이후

이번 경험 덕분에 React Native라는 새로운 영역에서 한 뼘 더 성장할 수 있었고, 무엇보다 “나도 앱 만든 사람이다”라는 자신감이 생겼습니다. 아직도 앱을 열 때마다 감회가 새롭습니다. “와 이걸 내가 만들었어?” 하면서요.


😎 끝으로 한 마디만…

웹 개발자라고 앱 못 만드는 거 아니잖아요. 다만, 약간의 멘탈 관리 능력은 필수입니다.

공유하기

페이스북링크드인트위터
최신 아티클
  • INSIGHT
    2026.06.11
    케빈(홍기문)
    편의점 하이볼 카테고리 전쟁 : 세븐브로이 vs 짐빔, 데이터로 보는 두 전략의 결말
    편의점 하이볼 시장에서 세븐브로이와 짐빔은 정반대의 전략으로 맞붙고 있다. 구매 경험률 추이, 플레이버 구성, 구매자 세그먼트까지 실구매 데이터로 두 브랜드의 카테고리 전쟁을 분석했다.
  • INSIGHT
    2026.06.11
    케빈(홍기문)
    오뚜기 3분 카레 구매 데이터로 본 3가지 반전
    오뚜기 3분 카레 구매 데이터 분석 : 레토르트 카레 시장 점유율 압도, 슈퍼마켓 채널 집중 지수 1.58, 참이슬과의 동반구매 패턴까지. 실구매 영수증 기반 3가지 인사이트
  • INSIGHT
    2026.06.11
    케빈(홍기문)
    신제품 냈더니 한 달 만에 반토막. 비락식혜 데이터를 열어봤습니다.
    비락식혜 구매 경험률은 명절 제외 안정 구간 평균 1.34% 대비 설 명절에 2.59%로 +1.25%p 급등한다. 신제품 출시 효과와 채널 집중 지수 분석으로 전통음료 브랜드의 구조적 과제를 짚는다.
  • INSIGHT
    2026.06.11
    케빈(홍기문)
    국물 매운라면 3강 전쟁, 신라면·진라면·열라면의 진짜 역학 구도
    실구매 영수증 데이터로 분석한 국물 매운라면 3강 : 신라면·진라면·열라면. 침투율 계층 구조, 채널 집중 지수, 구매자 중복률까지. 2025년 매운맛 전쟁의 실체를 데이터로 읽는다.
  • INSIGHT
    2026.06.11
    케빈(홍기문)
    매콤 크림 라면 시장, 누가 이기고 있나? 3개 브랜드 실구매 데이터 비교
    신라면 툼바·오뚜기 크림진짬뽕·삼양 탱글 3개 브랜드의 실구매 데이터로 분석한 매콤 크림 라면 카테고리 경쟁 구도. 침투율 추이와 중복 구매 패턴이 보여주는 시장 역학을 정리했습니다.
  • INSIGHT
    2026.06.10
    케빈(홍기문)
    이온음료 구매 데이터로 본 포카리스웨트 vs 파워에이드, 광고 모델이 바꿔놓은 것과 바꾸지 못한 것
    포카리스웨트 vs 파워에이드, 이온음료 브랜드 스위칭율 36%, 구매 경험률 역전 데이터로 보는 이온음료 마케팅 전략의 맹점. 실구매 데이터 분석 결과를 공개합니다.

주식회사 팀리미티드

사업자등록번호 : 739-86-02890 주소 : 서울특별시 성동구 상원12길 34, 8층 801호(성수동 1가, 서울숲에이원센터) 문의: support@teamremited.com ©2025. 팀리미티드 all rights reserved.

Powered by teamblog.io