flutter - 플러터로 크로스 플랫폼 앱 개발하기(3)
·
dev/app
상태 관리 라이브러리앱에는 고정된 데이터와 변경되는 데이터가 존재한다. 앱의 주된 사용 목적 중 대부분은 변경되는 데이터의 조회로 이 데이터를 어떻게 관리하고 표현하는지가 앱의 성능, 사용성에 큰 영향을 미친다. 상태 관리 라이브러리는 변경되는 데이터를 클래스 내부에서 관리하고 위젯에 담아 화면에 출력하는 클래스간 데이터 흐름을 총괄한다. 상태 관리 라이브러리로는 대표적으로 Provider, Bloc, Riverpod, GetX가 존재한다. GetX는 이제 거의 안 쓰이고, Provider는 일전에 설명한 관계로 Bloc, Riverpod 두 라이브러리를 중심으로 설명한다.BlocBusiness Logic Componentimperative (명령형) : 외부 자극을 단일 경로를 따라 내부 상태 변화로 ..
flutter - 플러터로 크로스 플랫폼 앱 개발하기(4)
·
dev/app
개발환경 세팅과 플러터 핵심 개념 학습을 어느정도 완료했으니 이를 토대로 플러터 프로젝트를 생성해보자. AI와의 채팅을 통해 갈등 관리 기능을 제공하는 간단한 채팅 앱 conflicAI을 만들기로 했다. VScode를 사용한다.플러터 프로젝트 생성모바일 앱이므로 웹이나 데스크톱 전용 패키지를 따로 세팅하지 않도록 --platforms로 iOS와 Android를 설정하고 --org로 프로젝트 담당 조직(추후 앱의 식별자에 포함)을 명시해서 프로젝트를 생성한다. 이때 프로젝트 이름은 snake_case로 설정해야 한다.flutter create --platforms ios,android --org com.cusum26 conflic_ai create 명령어로 프로젝트를 생성하면 다음과 같은 파일 구조가 만들..
flutter - 플러터로 크로스 플랫폼 앱 개발하기(2)
·
dev/app
본격적인 프로젝트 개발에 앞서 플러터의 필수 개념에 대해 알아보자. 플러터 아키텍쳐 플러터 프로젝트의 구조를 나름 비유하자면 다음과 같다. 무한하게 상상할 수 있는 Framework가 특정 규칙에 따라 상상력을 전기적 신호로 표현할 수 있는 Engine이라는 뇌로 실체화되고, Embedder를 통해 Native까지 전달된 뇌의 전기적 신호가 실제 물리적 움직임으로 구체화된다... 추상화된 하나의 뇌로 네이티브라는 서로 천차만별인 신체를 적절하게 제어하기 위해서는 뇌의 신경이 각 신체 전용 제어 구조로 연결돼야 한다. 이때 Embedder가 각 몸뚱아리 전용 제어 틀을 이 추상화된 뇌에게 제공하는 역할을 한다. Embedder 플러터로 만든 앱이 기기에서 실행되려면 각 네이티브 환경의 인터페이스 규칙을 ..
flutter - 플러터로 크로스 플랫폼 앱 개발하기(1)
·
dev/app
개발 환경 세팅플러터 설치 (macOS 기준)(1) 터미널로 설치하는 방법1. 터미널 앱에서 다음 명령어로 플러터 sdk 설치 (brew는 이미 설치 완료 가정)brew install --cask flutter 2. flutter 명령어 사용을 위한 PATH 추가 (.zshrc 파일에 sdk가 설치된 경로를 등록)수동으로 설정한 디렉토리에 다운로드 했다면 "which flutter" 명령어로 sdk 설치된 경로 확인 가능echo 'export PATH="/opt/homebrew/bin:$PATH"' >> ~/.zshrcsource ~/.zshrc 3. 설치 확인flutter --version 4. 적용 확인flutter doctorDoctor summary (to see all details, run f..