
Flutter는 Google에서 개발한 오픈 소스 UI 프레임워크로, 하나의 코드베이스로 iOS와 Android뿐만 아니라 웹, 데스크톱까지 지원하는 크로스 플랫폼 개발 도구입니다. Dart 언어를 기반으로 하며, 빠른 개발 속도와 우수한 성능을 제공합니다.
Flutter 공식 사이트(https://flutter.dev)에서 OS에 맞는 SDK를 다운로드 후 설치합니다.
flutter/bin 경로를 시스템 환경 변수 Path에 추가합니다.flutter doctor 명령어를 실행하여 환경 설정을 확인합니다.터미널에서 다음 명령어를 실행하여 새로운 Flutter 프로젝트를 생성합니다.
flutter create my_first_app
cd my_first_app
flutter run
이제 기본 Flutter 앱이 실행됩니다.
Flutter 프로젝트는 다음과 같은 구조를 가집니다.
my_first_app/
├── lib/ # Dart 코드 (앱의 메인 로직)
│ ├── main.dart # 앱의 진입점
├── android/ # 안드로이드 네이티브 코드
├── ios/ # iOS 네이티브 코드
├── pubspec.yaml # 패키지 및 의존성 관리 파일
Flutter 앱의 진입점은 main.dart 파일입니다.
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text('Hello Flutter')),
body: Center(child: Text('Welcome to Flutter!')),
),
);
}
}
runApp(MyApp()): 앱 실행MaterialApp: 기본적인 앱 설정을 제공하는 위젯Scaffold: 기본 레이아웃 구조 제공AppBar: 상단 바Center: 중앙 정렬Text: 텍스트 표시Flutter는 UI를 구성하는 다양한 위젯을 제공합니다.
Column : 세로 정렬Row : 가로 정렬Container : 박스 형태의 위젯SizedBox : 크기 지정TextField : 텍스트 입력ElevatedButton : 버튼StatefulWidget : 상태 변화가 필요한 위젯class CounterApp extends StatefulWidget {
_CounterAppState createState() => _CounterAppState();
}
class _CounterAppState extends State<CounterApp> {
int _counter = 0;
void _incrementCounter() {
setState(() {
_counter++;
});
}
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('Counter App')),
body: Center(child: Text('$_counter')),
floatingActionButton: FloatingActionButton(
onPressed: _incrementCounter,
child: Icon(Icons.add),
),
);
}
}
Flutter에서는 pub.dev에서 다양한 패키지를 사용할 수 있습니다.
pubspec.yaml 파일에 패키지를 추가합니다.dependencies:
http: ^0.13.4
flutter pub get 명령어를 실행합니다.import 'package:http/http.dart' as http;
flutter run : 기본 실행flutter analyze : 코드 분석flutter doctor : 환경 확인flutter build apkflutter build ios이 가이드를 따라 하면 Flutter의 기본 개념을 익히고 간단한 앱을 만들 수 있습니다. 다음 단계로는 REST API 연동, Firebase 사용법, 상태 관리 방법(Riverpod, Provider 등)을 학습하면 더욱 강력한 앱을 개발할 수 있습니다.
Flutter로 멋진 앱을 만들어 보세요! 🚀