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회사 홈페이지, 관리자 시스템, 웹 앱
DesktopPOS 시스템, 실시간 대시보드, 개발 툴 등

📌 Flutter 개발 준비 (환경 세팅 요약)

  1. Flutter 공식 사이트에서 SDK 설치
  2. VS Code 또는 Android Studio 설치
  3. flutter doctor 명령어로 개발 환경 확인
  4. 프로젝트 생성: bash복사편집flutter create my_app cd my_app flutter run

zerg96

Recent Posts

노트북(윈도우)에서 아이폰 유선 테더링 하기

윈도우 운영체제의 노트북에서는 iPhone 유선 테더링이 잘 안되는 경우가 많습니다. 보통 iPhone의 드라이버가 설치가 안되있어서인…

3일 ago

오라클 래치(Latch)

오라클 데이터베이스의 성능을 논할 때, 내부적으로 발생하는 경합(Contention)은 피할 수 없는 주제다. 특히 다수의 프로세스가…

7일 ago

사장님도 3표, 나도 3표? ‘3%룰’ 완전 정복!

안녕하세요, 혹시 이런 생각해 본 적 없으신가요? "내가 투자한 회사는 누가 감시하고, 어떻게 운영될까?" 오늘은…

3주 ago

Vector Store(벡터 스토어)

'벡터 스토어' 완벽 가이드: AI 시대, 데이터의 새로운 심장을 만나다 IT 업계는 인공지능(AI)이라는 거대한 패러다임의…

3주 ago

Gemini CLI (재미나이 CLI)

1. Gemini CLI란 무엇인가요? Gemini CLI는 터미널 환경에서 직접 Gemini 모델과 상호작용할 수 있도록 만들어진…

3주 ago

과적합 (overfitting)

과적합은 머신러닝에서 학습용데이터를 과하게 학습하여, 실제데이터를 예측하지 못하는 현상을 말합니다. 인공지능(AI)의 학습 방법은 우리가 시험공부를…

1개월 ago