Skip to main content
ragedaisy

Flutter로 6주 만에 앱 두 개 냈다

앱 만들어보고 싶었다.

문제는 네이티브 개발을 몰랐다. Swift도 모르고 Kotlin도 모른다. 둘 다 배우려면 시간이 너무 오래 걸릴 것 같았다.

Flutter 쓰면 하나 만들어서 iOS, 안드로이드 둘 다 나온다길래 해봤다. 6주 만에 두 플랫폼 다 출시했다.

Dart 배우기 #

Flutter는 Dart라는 언어를 쓴다.

처음엔 "또 새 언어 배워야 하나" 싶었다. 근데 JavaScript 알면 하루면 적응된다. 문법이 비슷해서.

// Dart
void main() {
  var name = 'Flutter';
  print('Hello, $name!');
}

// JavaScript
function main() {
  const name = 'Flutter';
  console.log(`Hello, ${name}!`);
}

거의 똑같다. 타입 시스템이 있어서 TypeScript 써봤으면 더 익숙할 거다.

Dart 특징:

새로 배워야 하는 건 위젯 시스템 정도. Dart 문법 자체는 금방 익숙해짐.

1주차: 환경 설정 + 튜토리얼 #

Flutter 설치는 좀 귀찮았다. 특히 iOS 개발하려면 Xcode 설치해야 하는데 40GB 넘는다. 다운로드만 1시간.

설치 후 flutter doctor 치면 뭐가 안 됐는지 알려준다.

$ flutter doctor
Doctor summary:
[] Flutter
[] Android toolchain
[] Xcode
[!] Chrome - not installed  # 웹 개발용
[] Android Studio
[] VS Code

공식 문서가 잘 되어 있다. 유튜브 안 봐도 됨. docs.flutter.dev 가서 "Get started" 따라하면 기본은 끝.

첫 주에 한 것:

2-4주차: 개발 #

위젯이 핵심이다.

Flutter에서는 모든 게 위젯이다. 텍스트도 위젯, 버튼도 위젯, 패딩도 위젯, 레이아웃도 위젯.

// 간단한 화면 구성
Scaffold(
  appBar: AppBar(
    title: Text('내 앱'),
  ),
  body: Center(
    child: Column(
      children: [
        Text('안녕하세요'),
        SizedBox(height: 20),
        ElevatedButton(
          onPressed: () {},
          child: Text('버튼'),
        ),
      ],
    ),
  ),
)

처음엔 중첩이 많아서 헷갈리는데, 며칠 하다 보면 익숙해진다.

핫 리로드가 진짜 좋다. 저장하면 바로 반영된다. 앱 껐다 켜지 않아도 됨. 개발 속도가 확 빨라진다.

# 코드 수정 → 저장 → 앱에 바로 반영 (1초 이내)

웹 개발할 때 핫 리로드 쓰다가 네이티브 개발하면 답답하다던데, Flutter는 그런 문제 없음.

2-4주차에 한 것:

5주차: 테스트 #

에뮬레이터에서 잘 되던 게 실기기에서 안 되는 경우가 있다.

아이폰 SE에서 레이아웃 깨진 거 고치느라 이틀 썼다. 화면 작은 기기에서 overflow 에러 난다. SafeArea 안 감싸서 노치 부분 가려진 것도 있었고.

다양한 기기에서 테스트해야 한다:

실기기가 없으면 에뮬레이터에서 여러 기기 테스트해볼 수 있다. 완벽하진 않지만 대부분 문제는 잡힘.

6주차: 출시 #

구글 플레이는 빨랐다.

개발자 등록비 $25 (일회성). 심사 신청하고 하루 만에 승인.

# 안드로이드 빌드
flutter build appbundle
# .aab 파일 생성됨 → Play Console에 업로드

앱스토어는 오래 걸렸다.

개발자 등록비 $99/년. 심사도 까다로움. 처음에 리젝당했다.

리젝 사유: 로그인 기능 있는데 계정 삭제 기능이 없다.

2022년부터 앱스토어 규정 바뀌어서 계정 삭제 기능 필수다. 몰랐음. 계정 삭제 기능 추가하고 다시 제출. 이틀 뒤 승인.

# iOS 빌드
flutter build ios
# Xcode에서 Archive → App Store Connect 업로드

결과 #

출시 한 달 후 수치:

대박은 아닌데, 웹 개발자가 6주 만에 양쪽 스토어에 앱 올린 거면 괜찮다고 본다.

Flutter 장점:

Flutter 단점:

추천 학습 경로 #

  1. Dart 기초 (1일): 공식 문서로 충분
  2. Flutter 튜토리얼 (2-3일): docs.flutter.dev
  3. 간단한 앱 만들기 (1주): Todo, 메모장 같은 거
  4. 상태 관리 배우기 (2-3일): Provider나 Riverpod
  5. 실제 프로젝트 (2-4주)

자료:

네이티브 개발 공부하기 겁났는데, Flutter로 진입장벽 많이 낮아졌다. 앱 출시해보고 싶은 웹 개발자한테 추천.