본문 바로가기
카테고리 없음

Flutter 설치

by james_janghun 2024. 10. 8.

요즘 Flutter를 공부하고 있는데요. 간단하게 알아보겠습니다.

 

플러터는 다중 플랫폼을 지원하는 구글의 모바일 UI 프레임워크입니다.

기본적으로 네이티브앱으로 컴파일이 가능하고, 크로스플랫폼을 지원합니다.

Widget 기반으로 동작해서 Widget만 이해하면 대부분을 이해한 것입니다. 대표적으로 Stateless widget, stateful widget 등 그 종류가 엄청 다양합니다.

 

Dart

Dart 라는 프로그래밍 언어로 되어있습니다. 네이티브 코드로 컴파일해서 앱에 빌드가 가능합니다. 개발시 핫 리로드라는 특수 기능이 있는 가상 머신을 사용합니다. 이 덕분에 굳이 다시 배포하지 않아도 코드를 실행해볼 수 있습니다.

 

Dart 언어의 특징

- Type을 지원합니다. Type 추론이 됩니다.

- 단일 스레드 비동기 방식을 지원합니다.

- 동시성을 지원하지만 완벽하게 격리되(isolate)는 것을 보장합니다.

- 스프레드 연산자를 지원합니다.

- 배열은 없고 컬렉션만 존재합니다.

 

skia 엔진

다양한 플랫폼에서 공통 API를 가지고 화면을 그릴 수 있도록 도와주는 오픈소스 2D 그래픽 라이브러리입니다. Flutter에 내장된 엔진입니다. 이를 통해 각각의 디바이스에서 렌더링 하는 방식으로 Skia를 사용해 다중 플랫폼에서도 손쉽게 렌더링이 가능합니다.

 

AOT와 JIT 지원

AOT(Ahead of time)을 지원합니다. Dart 언어로 개발된 코드를 휴대폰에 빌드하기 전에 해당 핸드폰의 네이티브 코드(기계어 코드)로 사전 컴파일해 코드를 빌드할 수 있습니다. 따라서 성능도 네이티브에 가깝습니다.

 

JIT(Just in time)을 지원해 런타임에서 실행할 수 있는 중간언어로 변환해 Dart의 가상머신을 통해 중간언어를 실시간으로 번역합니다. 주로 개발모드에서 사용하고 프로덕션 모드에서는 AOT를 활용합니다.

 

플러터 아키텍처

프레임워크 계층

Dart로 작성합니다. UI 테마, 위젯, 레이아웃 등 다양한 기본 구성 요소가 포함됩니다. 그리고 플러그인이 포함되는데 JSON 직렬화, 위치 정보, 카메라 액세스, 인앱 결제 등 고급 기능을 활용할 수 있습니다.

 

엔진 계층

C++ 라이브러리가 포함되어 있습니다. I/O, 그래픽, 텍스트 레이아웃 및 Dart 런타임 등과 같은 Flutter API의 저수준 기본 요소를 구현합니다. 엔진은 화면에서 빠른 렌더링을 위해 Flutter 장면을 래스터화 하는 역할을 합니다.

 

임베더 계층

네이티브 앱으로 통하는 진입점을 제공합니다. 네이티브 서비스에 대한 액세스를 위해 기본 운영 체제와 통신합니다. 

 

설치방법

공식사이트에서 제공하는 방식입니다.

https://docs.flutter.dev/get-started/install/macos/desktop

 

Start building Flutter native desktop apps on macOS

Configure your system to develop Flutter desktop apps on macOS.

docs.flutter.dev

블로그를 보고해도됩니다.

https://blog.naver.com/getinthere/222324876638

 

2장 플러터 시작하기 (플러터 설치 하고 실행해보기)

해당 문서는 저작권이 있는 페이지입니다. Chapter02 플러터 시작하기 2.1 Flutter SDK 설치하기 2.1....

blog.naver.com

 

 

1. MAC apple sillicon 모델부터는 rosetta2 설치 및 라이센스 동의가 필요합니다.

sudo softwareupdate --install-rosetta --agree-to-license

 

 

2. Xcode를 설치합니다. 앱스토어에서 진행하시면 됩니다.

 

3. Android Studio를 설치합니다.

https://developer.android.com/studio/?gclid=Cj0KCQiAjJOQBhCkARIsAEKMtO3zEhdK4_I0CEZic3UH4dl-9gVXuHFR9dCl3TOHKjmv3xWLU3UxfhYaApfAEALw_wcB&gclsrc=aw.ds&hl=ko

 

Android 스튜디오 및 앱 도구 다운로드 - Android 개발자  |  Android Studio  |  Android Developers

Android Studio provides app builders with an integrated development environment (IDE) optimized for Android apps. Download Android Studio today.

developer.android.com

 

4. Flutter plug-in을 설치합니다.

 

 

5. Flutter doctor를 통해서 확인합니다.

 

sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
sudo xcodebuild -runFirstLaunch

 

6. cocoapod 설치

https://guides.cocoapods.org/using/getting-started.html#installation 여기 가이드를 따라가면됩니다.

sudo gem install cocoapods