Flutter Instruction

Llux lux·2025년 3월 28일

Flutter

목록 보기
1/6

Dart

Dart 는 Flutter 를 사용하기 위한 언어이다.

Flutter 어플리케이션의 동작과정

  1. 다른 Framework들은 OS를 통하여 버튼이나 근사한 애니메이션 등의 모든 요소를 만들어달라고 요청하는 직접적인 소통을 하는 반면, Flutter는 C나 C++로 짜인 엔진을 통하여 Framework를 동작시키고 UI를 그려낸다. (직접적 소통이 아니라서 OS에 대한 어떠한 제약 사항이 없다.)

  2. 안드로이드, 윈도우 등의 플렛폼이 엔진을 동작하면 엔진은 "runner"프로젝트를 열어 엔진을 실행시키고 우리가 짠 Dart Flutter 코드를 동작시켜 화면에 UI를 보여준다.

  3. Flutter : 엔진을 어플리케이션 내부에 집어넣기 -> 우리가 짠 Dart 코드 컴파일하기

  4. 유저가 어플리케이션을 실행시킬 때 엔진을 가동시키는 "runner"프로젝트를 실행시킨 후, 엔진이 모든 UI를 Framework와 함께 그려준다.


  1. Embedder(= "runner"프로젝트) : 특정 플렛폼에 특화된 것

  2. iOS, 안드로이드, 맥OS, 윈도우, 리눅스를 위한 다양한 Embedder이 존재한다.

  3. Embedder의 역할: 엔진 가동시키기

Flutter vs React native

React Native👍
네이티브 앱 운영체제 상에서 가능한 위젯을 사용해야 하는 경우
디자인이 iOS 혹은 Android 앱처럼 보이게끔 만들고 싶은 경우

Flutter👍
세밀한 디자인 요구사항이 있거나 100% 커스터마이징하고 싶은 경우
외부 패키지에 의존하지 않고 고수준의 애니메이션을 구현하고 싶은 경우

Recap

  • Flutter와 다른 크로스플랫폼과의 차이
  • Flutter
  • 비디오 게임 엔진과 유사하다.
  • 어플리케이션이 실행되면, 엔진이 UI를 그려주는 역할을 한다.
    (= 하나의 어플리케이션으로 다양한 플랫폼에서 동작 가능한 이유)
  • 운영체제와 대화하는 방식이 아닌, 엔진이 렌더링하는 방식.
    → 화면상의 모든 것을 제어 가능.
  • React Native
  • JavaScript를 이용하여 운영체제와 소통.
    → 운영체제를 통해 렌더링 하기 때문에, 운영체제가 가지고 있는 컴포넌트와 동일하게 만들어진다.
  • 언제 사용하기 좋은가?
  • Flutter : 커스터마이징된 디자인을 사용하고 싶을 때.
  • React Native : 플랫폼의 기본 디자인을 사용하고 싶을 때.
profile
하하하

0개의 댓글