Flutter
- 구글에서 개발한 오픈 소스 크로스 플랫폼 GUI SDK
- 크로스 플랫폼 = 하나의 코드 베이스로 Android, iOS, Linux, Windows, MacOS 및 웹 브라우저에서 모두 동작 가능
- 구글에서 개발한 프로그래밍 언어인 Dart가 기반
- 위젯들을 이용해 위젯 트리를 쌓으며 User Interface를 코드로 구현하는 환경을 제공함
- Skia 그래픽 엔진을 통해 화면에 그려지는 모든 픽셀을 자체적으로 제어함
※ Skia = C++로 개발된 오픈 소스 2D 그래픽 라이브러리 (OpenGL의 Canvas를 사용해 렌더링을 수행함)
※ Android Studio에서 ctrl+space = 자동완성 불러오기
Dart
- 구글이 JavaScript를 대체하기 위해 개발한 웹 프로그래밍 언어
- 객체 지향 프로그래밍에 최적화 => 마크업 언어 사용 없이 Dart 만으로 손쉽게 시각적인 요소를 구현 가능
- 생산성이 좋고 예측 가능함
- 다른 언어들에 비해서 상대적으로 배우기 쉬움
- JIT, AOT 두 가지 컴파일러를 모두 사용
=> 개발 과정에서는 JIT를 이용해 빠른 개발, 배포 시에는 AOT를 이용해 안정적인 실행을 보장함
※ JIT(Just-In-Time) = 바이트코드를 런타임에 읽어 빠른 속도(실시간)로 기계어를 생성하는 컴파일러
=> 핫 리로드 지원을 통해 빠른 개발 속도와 반복을 보장함
※ AOT(Ahead-Of-Time) = 바이트코드를 실행 전에 기계어로 바꾸는 컴파일러
=> Dart 코드를 효율적인 네이티브 코드로 바꿔줌으로써 개발자가 플러터의 거의 모든 것을 커스터마이즈 가능
※ 네이티브 코드(Native Code) = CPU와 운영체제가 직접적으로 실행할 수 있는 코드
기본 세팅
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp()); // 앱 구동 runApp 안에 메인 페이지 입력 => MyApp을 실행
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
// 실질적인 코딩은 return에서 진행
return MaterialApp(
home:
);
}
}
기본 위젯
- Text("출력되기 원하는 글자") = 텍스트 위젯

- Icon(Icons.아이콘이름) = 아이콘 위젯

- Image.asset("이미지 파일 경로") = 이미지 위젯
=> 이미지 파일의 경우 프로젝트 내에 assets 폴더를 만들어 해당 폴더에 저장하여야 불러올 수 있음
+ pubspec.yaml의 flutter: 부분에 다음과 같이 입력해야 assets 폴더에 있는 모든 파일들을 불러와 사용할 수 있음
flutter:
assets:
- assets/

- Container(), SizedBox() = 박스 위젯
=> width, height, color 등의 속성들로 설정 가능 (사이즈 단위는 픽셀이 아닌 LP => 100LP = 12cm)
※ child = 자식 위젯 (위젯 안의 위젯) 설정


'Flutter' 카테고리의 다른 글
| Flutter Web 배포 (With docker-compose & nginx) (0) | 2023.09.05 |
|---|---|
| Flutter 기초 (2) (0) | 2023.08.07 |
댓글