본문 바로가기
Flutter

Flutter 기초 (1)

by Mecodata 2023. 8. 6.

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

댓글