Flutter 입문하기
1. 플러터 기초
2. 예제 앱 실행해보기
⌄lib 폴더
플러터 개발을 하기 위해 작성하는 다트 코드들을 넣어두는 곳
각 플랫폼 별 폴더
⌄andriod
⌄ios
⌄linux
⌄macos
⌄web
⌄window
플로터 자체적으로 개발할 수 없는 기능들
-각 플랫폼 내 네이티브 코드로 작성하여 사용함
❕pubspec.yaml
-프로젝트의 구성에 대해서 선언
-Dart SDK 버전
-Flutter SDK 버전 명시
-사용할 패키지들 추가
-앱 내에서 사용할 이미지, 폰트 파일
pubspec.lock
-추가한 패키지들 명시됨

► 패키지란?
개발자들이 쉽게 사용할 수 있도록 특정한 기능들이나 UI등을 미리 구현해 놓은 것
► 사용법
pub.dev 플러터 공식 패키지 저장소에서 추가를 하면 된다!
https://pub.dev/
-shimmer 패키지 페이지의 instaling탭에서 코드를 복사해서
-pubspec.yaml폴더의 dependencis: 의 항목 내에서 추가해주면 된다.
주의할 점!
반드시 같은 열을 맞춰서 작성해야 한다. 어긋나면 에러가 발생한다.

패키지의 버전이 맞지 않을 때엔 에러가 남
이럴 땐 플로터 터미널에서 'flutter pub add shimmer' 를 입력한다.
이게 더 좋은 방법으로 추가됨!
하나의 클래스는 별도의 파일로 뺀다. 규모가 커지는 앱들
► widget 이란?
► MeterialApp 이란?
► MeterialApp vs CupertinoApp
► Scaffold 이란?
Column은 수직, Row는 수평으로 위젯들을 배치

-Column
-Row
-Text
-Text
-Text
-image
-image
[ 이미지 추가해주기 ]
프로젝트를 생성했으면, 강의 예제에 있는 이미지 파일들을 Git에서 다운로드 받기
'assets'라는 폴더 생성해주기. 두 이미지 파일을 끌어와서 추가해줌
pubspec.yaml에서 파일이 있음을 선언해주기

1) 클래스에서 UI요소를 구현하기 위해 필수적으로 각 페이지에는 Scaffold()가 들어가야 한다.

2) main에서 처음 실행 될 페이지를 선언하고 ios 가상 디바이스에서 실행해본다.

3) Row로 배치될 텍스트를 먼저 생성해준다.

4) SafeArea위젯 body의 Column을 위젯으로 감싸준다. 주변 부분에 여백이 생기게 됨

개별적인 위젯을 만들어줘서 각 구역을 나눠준다고 생각하면 된다!
최상단에 몰려있던 텍스트 들이 상단 위젯 부분 아래에 위치하게 됨
5) Text위젯의 Style속성에 TextStyle클래스를 선언해서 글자를 변경할 수 있다.

6) Flutter Devtools 앱의 UI레이아웃 검사 밒 성능 모니터링 도구

7) Spacer 위젯 Row나 Colrumn 위젯 사이의 간격을 조정하는데 사용
8) Padding 위젯 Spacer를 사용해 간격은 벌려주었지만 첫번째, 마지막 글자가 화면 끝에 딱 붙어있게 됨.
Padding(
padding: EdgeInsets.all(16.0),
child: Text('Hello World!'),
)
*EdgeInsets클래스: 상하좌우 여백을 나타내는 클래스
9) Image 위젯 이미지를 화면에 표시하기 위한 위젯

10) Expanded 위젯 이미지가 차지하는 높이가 원하는 것과 다를 때 Column 내에서 남은 공간을 차지하게 해야한다.
11) SizeBox 위젯 width 및 height 크기를 가지는 빈 상자
12) debug 배너 해제 가상 디바이스 우측 상단에 붙어있는 디버그 라벨

간단한 앱을 만들어보며 위젯의 개념을 이해하고 사용하는 방법을 익혔다.
텍스트와 이미지를 넣고 사이즈와 위치를 편집하는 기초적인 방법
251215 TIL
해야할 것