Flutter (Cross Platform)
Flutter는 구글에서 개발한 UI 소프트웨어 개발 키트(SDK)로, 하나의 코드베이스로 안드로이드, iOS, 웹, 데스크톱 앱을 만들 수 있습니다.
1. Flutter의 특징
- Hot Reload: 코드 변경 사항을 즉시 화면에 반영하여 개발 속도가 매우 빠릅니다.
- Widget 기반 UI: 모든 것이 위젯(Widget)으로 구성되어 있어 커스터마이징이 매우 자유롭습니다.
- Dart 언어: 구글이 만든 Dart 언어를 사용하여 고성능 렌더링을 구현합니다.
2. 모든 것은 위젯이다
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('Flutter App')),
body: Center(child: Text('Hello Flutter!')),
),
);
}
}
3. 상태 관리 (State Management)
앱이 복잡해질수록 데이터의 흐름을 관리하는 것이 중요합니다.
- Provider, ** Riverpod**, ** Bloc**, ** GetX**등 다양한 라이브러리가 사용됩니다.
4. Flutter의 미래
최근에는 단순 모바일 앱을 넘어 macOS, Windows용 데스크톱 앱 개발에도 널리 쓰이고 있습니다.
다음 장에서는 자바스크립트 개발자에게 친숙한 React Native를 알아봅니다.