SDK는 프레임워크 등을 개발에 활용하는데 있어 필요한 기본 라이브러리, 도구, 문서 등을 모아둔 패키지.
Flutter SDK에는 기본적으로 다트가 내장되어 있어 다트를 별도 설치 할 필요 없음.
근데 플러터는 버전이 자주 변해서 FVM(Flutter Version Manager)를 통해 버전 변경을 용이하게 할 수 있음.
환경설정에서
virtual ruby랑 rbenv의 gem 확인
FVM은 그냥 플러터의 버전을 쉽게 쉽게 갈아끼울 수 있는 버전 매니저
IDE에서 Flutter SDK path 설정하려고 폴더 열 때 숨김파일 확인하는 단축키: shift + command + .
sdk: 하드웨어 플랫폼, OS, 프로그래밍 언어 제작사가 제공하는 툴로 컴파일러, 디버거, api, 런타임 등이 포함됨.
path, bin dist 등 파일 설치 및 설정 관련 개념 공부 필요
개발자들은 시스템이미지 설정시 api level을 확인함.
안스에서 virtual device는 티라미수로 세팅함. 그중 부트 옵션에서 콜브부트는 안정적인 환경에서 부팅할 때를, 퀵 부트는 최근 실행한 환경을 기반으로 빠르게 부팅하는 걸 뜻함.
최초 폴더 구조 설명
(.이 들어간 건 숨겨진 파일들임)
.idea: 안스의 설정 값들이 포함됨 (직접 접근 및 사용X)
android: 안드로이드 내 권한 및 옵션 설정 / native 직접 써야할 때 해당 폴더 내 src에서 코틀린/자바 코드 작성
ios: 상동 ... xcode로 보통 작업함 (몇몇 예외사항 제외)
lib: 앞으로 작성될 다트파일은 다 여기로 저장됨
- main 파일 내 main method는 파일을 실행시키기 위한 메소드. runApp 인자가 있음.
pubspec.yaml: 프로젝트 파일의 설정값을 저장할 수 있는 환경설정 파일 (버전도 조정 가능)
pubspec.lock: 야믈 수정 후 나오는 세부적인 파일
Flutter UI의 가장 기본적인 단위는 Widget임.
그래서 widget tree 개념이 중요함.
stateless vs. stateful widget
화면을 갱신할 필요가 없는 정적인 화면 구성은 stateless, 특정한 상황에 따라 화면을 갱신할 필요가 있다면 stateful widget 사용.
cmd opt l 누르면 정렬됨 (알잖아? 프리티어 쓰자 그냥)
코드에 opt + enter 하면 widget이나 다른 걸로 감싸기 가능 (wrap 기능 나옴)
안스에서 stless 치면 바로 클래스 만들어줌
hot restart와 hot reload
hot restart: 앱 재시작 형태. 이 기능 활용시 앱의 모든 상태가 초기화되고 코드 변경 사항을 반영할 수 있음
hot reload: 앱을 재실행하지 않지만 코드 변경 사항 반영 가능 (UI 변경만...)
주의사항) 둘 다 앱을 재 컴파일 후 빌드하는게 아니라 앱의 기초가 되는 네이티브 코드 수정, 라이브러리나 asset 추가 등의 상황에는 정상 작동 안됨.
[Flutter] 간단 가위바위보 앱 (0) | 2024.04.23 |
---|---|
[Flutter] UI, Class, Container, Setting, Widget, Theme, Page (0) | 2024.04.22 |
[Dart] 기본 문법 (비동기 Future / Stream / const final) (1) | 2024.04.18 |
[TypeScript] const, readonly (0) | 2024.04.16 |
[TypeScript] 개발환경 구축 / tsc컴파일러 (0) | 2024.04.14 |