1. Flutter란?
Flutter는 Dart라는 프로그래밍 언어를 사용해 앱을 만드는 도구예요.
장점:
빠른 개발 속도 (핫 리로드 기능으로 코드 수정 후 바로 결과 확인 가능)
하나의 코드로 iOS와 Android 모두 지원
예쁘고 유연한 UI 디자인 가능
단점:
Dart가 다른 언어(Java, Python 등)에 비해 덜 알려져 있음 (하지만 배우기 쉬워요!)
2. 준비물 설치하기
Flutter를 시작하려면 개발 환경을 세팅해야 해요.
필요한 것
운영체제: Windows, macOS, Linux 모두 가능
기본 소프트웨어:
Flutter SDK: 공식 사이트(flutter.dev)에서 다운로드
코드 편집기: VS Code나 Android Studio 추천
VS Code: 가볍고 플러그인 설치 쉬움
Android Studio: 안드로이드 개발에 최적화, 에뮬레이터 포함
Git: Flutter 설치 시 필요
Dart: Flutter 설치하면 자동으로 포함됨
설치 과정
Flutter 공식 사이트에서 SDK 다운로드 후 압축 해제
폴더를 원하는 경로(예: C:\flutter)에 넣고, 환경 변수에 추가
Windows: "시스템 환경 변수 편집"에서 Path에 추가
macOS/Linux: 터미널에서 export PATH="$PATH:/경로/flutter/bin" 입력
터미널에서 flutter doctor 실행
설치 상태 점검 도구로, 누락된 부분(예: Android SDK, Xcode 등)이 있으면 알려줌
VS Code나 Android Studio에 Flutter 플러그인 설치
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text("내 첫 앱")),
body: Center(child: Text("안녕, Flutter!")),
),
);
}
}
main(): 앱 시작 함수
MaterialApp: 앱의 기본 틀
Scaffold: 화면 구조 (앱바, 바디 등)
Text: 화면에 텍스트 표시
실행하기
에뮬레이터 실행 (Android Studio에서 제공) 또는 실제 기기 연결
터미널에서 flutter run 입력
화면에 "안녕, Flutter!"가 뜨면 성공!
5. 더 배우기
기초를 익혔다면 다음 단계로 넘어가세요.
위젯(Widget): Flutter는 모든 게 위젯이에요. 버튼, 텍스트, 이미지 등이 위젯!
Container, Row, Column으로 레이아웃 만들기
ElevatedButton으로 버튼 추가
상태 관리: 앱이 사용자와 상호작용하려면 상태를 관리해야 해요.
setState로 간단히 시작
나중에 Provider나 Riverpod 같은 도구 탐구
공식 문서: flutter.dev/docs에서 위젯과 예제 확인
추천 학습 자료
유튜브: "The Net Ninja Flutter Tutorial"
무료 강의: Udemy에서 "Flutter & Dart - The Complete Guide" (유료지만 할인 자주 함)
책: "Flutter in Action"
6. 작은 프로젝트 해보기
예: "투두 리스트 앱"
입력창에 할 일 쓰기
버튼으로 추가하기
목록 표시하기
이런 간단한 앱부터 시작하면 실력이 쌓여요.
궁금한 점이나 막히는 부분 있으면 언제든 물어보세요! Flutter 재밌게 배워보시길 응원할게요! 어떤 앱을 만들고 싶으신가요?