Flutter는 구글(Google)이 만든 오픈소스 UI 프레임워크로, 하나의 코드베이스로 Android, iOS, 웹, 데스크탑 앱까지 개발할 수 있게 해주는 크로스 플랫폼 프레임워크입니다.
🎯 Flutter란?
항목 | 설명 |
---|
개발사 | Google |
언어 | Dart |
목적 | 단일 코드베이스로 다양한 플랫폼 앱 개발 |
특징 | 빠른 개발, 아름다운 UI, 고성능 네이티브 실행 |
🚀 Flutter의 주요 특징
1. 단일 코드베이스로 멀티 플랫폼
- Android, iOS는 물론 웹, Windows, macOS, Linux까지 지원
- 유지보수가 쉬움
2. Hot Reload 기능
- 코드를 수정하면 앱을 재실행하지 않고도 즉시 결과 확인 가능
- 실시간 UI 수정 및 디버깅에 매우 유용
3. 위젯 기반 UI
- UI는 모두 위젯(Widget) 으로 구성
- 재사용성과 커스터마이징이 뛰어남
4. 고성능
- Flutter 앱은 네이티브 ARM 코드로 컴파일됨
- 빠르고 부드러운 애니메이션, 고성능 UI 구현 가능
5. 다양한 플러그인 지원
- Firebase, 카메라, 위치 정보, 결제 등 다양한 기능을 플러그인으로 간편하게 사용 가능
🧱 Flutter 구조 개념도
Flutter App
├── MaterialApp (또는 CupertinoApp)
│ ├── HomeScreen (위젯)
│ │ ├── Scaffold
│ │ │ ├── AppBar
│ │ │ ├── Body: Column, Row, Text 등
│ │ │ └── FloatingActionButton
│ │ └── 상태관리 (StatefulWidget)
└── 라우팅, 테마, 글로벌 설정 등
🧑💻 Flutter로 앱 만들기 예시
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text('Hello Flutter')),
body: Center(child: Text('Welcome!')),
),
);
}
}
📱 Flutter로 만들 수 있는 것들
플랫폼 | 예시 앱 |
---|
Android / iOS | 쇼핑앱, 메신저, 뉴스앱, 게임 등 |
Web | 회사 홈페이지, 관리자 시스템, 웹 앱 |
Desktop | POS 시스템, 실시간 대시보드, 개발 툴 등 |
📌 Flutter 개발 준비 (환경 세팅 요약)
- Flutter 공식 사이트에서 SDK 설치
- VS Code 또는 Android Studio 설치
flutter doctor
명령어로 개발 환경 확인
- 프로젝트 생성: bash복사편집
flutter create my_app cd my_app flutter run