[플러터] 5. 플러터 입문하기

Jun·2024년 2월 19일
0

플러터 소개

플러터 프레임워크는 세 계층으로 나눠져 있습니다.

  • Framework (dart)
  • Engine (c/c++)
  • Embedder (platform-sepcific)

먼저 Framework 계층은 사용자들이 대부분의 시간을 보내는 곳입니다.
flutter 프레임워크를 의미하며 위젯, 애니메이션, material 패키지 등이 있습니다.

그리고 Engine 계층은 플러터 코어 API와 스키아 그래픽 엔진, 파일시스템 그리고 네트워크 기능 등이 정의되어 있습니다. 해당 엔진을 통해 플러터가 컴파일되고 UI를 그릴 수 있게됩니다.
다른 크로스플랫폼 앱 개발 프레임워크는 보통 웹뷰를 사용하거나 각 플랫폼의 UI 라이브러리를 사용합니다. 하지만 플러터는 직접 스키아 엔진을 사용하여 새로 렌더링이 필요한 위젯들만 렌더링 하기 때문에 높은 성능을 보입니다.

마지막으로 Embedder 계층은 현재 플러터가 지원하는 6개 플랫폼 (ios, android 등등)의 네이티브 플랫폼과 직접 통신을 하고 운영체제의 자체적 기능을 모듈화해둔 계층입니다.

Hello World 앱 만들기

먼저 CLI 환경에서 아래 명령어를 실행하여 flutter 프로젝트를 시작합니다.

flutter create hello_world

그리고 hello_world/lib 폴더 아래에 main.dart에 진입합니다.
자동으로 생성된 코드를 모두 삭제하고 아래와 같이 작성해봅니다.

import 'package:flutter/material.dart';

void main() {
  runApp(
    const MaterialApp(
      home: Scaffold(
        body: Text(
          'Hello world!',
        ),
      ),
    ),
  );
}

MaterialApp은 Material 디자인 기반의 위젯들을 사용하게 해주는 위젯입니다.
Saffold는 Material 다음에 위치하는 위젯으로 화면 전체를 차지하며 레이아웃을 도와주고 UI 관련 특수 기능을 제공합니다. 예를 들어 화면에 알림과 같은 스낵바 등이 있습니다.
일반적으로 플러터에서 main 함수 안에 runApp을 실행하고 그 안에 MaterialApp과 Scaffold 위젯을 추가하는 것이 기본 설정이라고 생각하면 됩니다.

다음으로 화면 body에 'Hello world!'라는 Text를 추가하고 코드를 실행해봅니다.

flutter run

《Must Have 코드팩토리의 플러터 프로그래밍 2판》의 스터디 내용 입니다.

profile
HiHi

0개의 댓글