Flutter 01 : Flutter와 Dart의 관계

앱 개발 방법은
① 네이티브 앱(Native App)
② 크로스 플랫폼 앱(Cross Platform App)
이렇게 크게 2가지로 나뉜다.

  1. 네이티브 앱(Native App)

    원래 앱을 개발하던 방식. 모바일 기기는 iOS와 Android로 양분되어 있다.
    네이티브로 앱을 제작하려면 안드로이드, iOS 앱을 각각의 개발 방법으로 두 번 제작 해야 함.
    따라서 리소스가 많이 들어간다는 단점은 있지만 성능이 가장 빠르고 최신 기능을 빠르게 적용할 수 있다는 장점이 있다.

    Android

  • 개발 언어: Java, Kotlin

  • 개발 툴 : Android Studio

    → Google의 Android SDK(Software Development Kit)을 이용하여 개발

    iOS

  • 개발 언어: Objective-C, Swift

  • 개발 툴 : Xcode

    → Apple의 iOS SDK(Software Development Kit)을 이용하여 개발

  1. 크로스 플랫폼 앱(Cross Platform App)

    하나의 프로그래밍 언어와 소스코드로 Android와 iOS를 모두 개발하는 방법
    네이티브 앱의 성능을 뛰어넘기는 힘드나, 하나의 언어로 두 플랫폼에서 모두 실행하는
    앱을 빠르게 만들 수 있다는 강력한 장점이 있다. (생산성 월등🔥)

  • React Native

    • 개발 언어 : JavaScript

      → 페이스북에서 출시한 오픈 소스 모바일 애플리케이션 프레임워크 React라는 라이브러리를 앱을 만들 수 있게 끔 바꾼 게 React Native

  • Flutter

    • 개발 언어 : Dart

      → 구글에서 출시한 오픈 소스 모바일 애플리케이션 프레임워크

크로스 플랫폼 앱을 만드는 데 있어 React Native 보다 Flutter를 선호하는 이유

  • 플러터가 리액트 네이티브보다 후발주자이긴 하지만 커뮤니티나 관련 자료 등이 더 많고 핫함
  • 구글에서 제공하는 공식 문서가 굉장히 Good
  • 연산 시간 등, 성능이 React Native 보다 월등

Dart > Flutter

Dart : Google에서 개발한 프로그래밍 언어
Flutter : Dart라는 프로그래밍 언어를 기반으로 하는 프레임워크*
(프레임워크 : 어떤 규칙대로 코드를 작성하면 앱이나 웹서비스를 만들어주는 코드 뭉치)
즉, Flutter 프레임워크는 Dart 언어를 기반으로 구축되었으며,
Flutter 애플리케이션을 개발하기 위해서는 Dart 언어를 사용해야 한다.
Dart는 Flutter의 필수 요소지만, Dart는 Flutter 외에도 다른 애플리케이션 개발에서 사용될 수 있다.