요약

flutter 위젯은 immutable이다. 

 

 

정리

flutter 위젯은 immutable이다. 생성 된 후에는 변경할 수 없다 (케이크랑 같다고 비교)

 

1. 위젯 변경은 어떻게 처리하는가?

  케이크 모양을 바꾸려면 새 케이크를 만들듯이, flutter는 위젯을 다시 만드는 방식으로 이를 처리한다

2. 너무 무겁고 느리지 않나?

 위젯의 상태, 위치, 변경 여부 등을 추적해서 필요한 화면만 다시 그린다

 (flutter가 알아서 해줄테니 걱정하지 말아라 ㅋㅋㅋ)

 

댓글들 훑어보니 나처럼 initState, dispose 같은 걸 기대했던 사람들이 많구나 ㅋㅋㅋ

 

 

링크

Life of a Widget?! | Decoding Flutter

더코딩파파: 위젯(Widget)! 이해하셔야 쉬워요!!!

더코딩파파: Flutter vs Android

 

 

 

 

'dart' 카테고리의 다른 글

flutter 사이드 프로젝트 완료!  (0) 2022.01.29
Hot reload? | Decoding Flutter  (0) 2021.05.16
Introducing Decoding Flutter  (0) 2021.05.16
dart, flutter(+a) vscode 플러그인  (0) 2021.05.16
flutter launcher icon  (0) 2021.05.10

 

 

요약

플러그인이 제대로 설치되어 있으면, 코드 저장만 해도 hot reload가 잘 동작한다

앱 state 초기화가 필요한 경우, 변경하는 사항이 build() 메서드 밖에 있는 경우에는 hot restart를 사용하자

코드 수정 내역 반영이 안 되면, hot reload > hot restart > full restart 순으로 해보자

 

 

정리

명령어

# flutter run
...

Flutter run key commands.
r Hot reload.
R Hot restart.
h Repeat this help message.
d Detach (terminate "flutter run" but leave application running).
c Clear the screen
q Quit (terminate the application on the device).

* hot reload, hot restart, full restart

hot reload

소스 코드를 실행 중인 dart vm(virtual machine)에 삽입해서 작동

vm이 새 버전의 필드와 함수로 클래스를 업데이트 한 후, 위젯 트리를 자동으로 재빌드

(web은 아직 지원하지 않음)

 

hot restart

hot reload에 추가로 앱 state가 초기화 됨

 

full restart

코드 재컴파일 후, 앱을 재시작 함

* hot reload 특수 상황 (동작하지 않거나 오동작하는 경우)

앱이 종료 된 경우

수정한 코드에 컴파일 오류가 발생 한 경우

CupertinoTabView (요놈은 수정 중)

enum을 class로, class를 enum으로 변경 한 경우

font 를 변경 한 경우 (대부분 asset은 지원하나 font는 지원 안 함. hot restart가 필요함)

generic을 변경 한 경우

네이티브 코드를 변경 한 경우

전역변수 또는 static변수를 변경 한 경우

main() 또는 initState()를 메서드를 변경 한 경우

 

 

링크

Hot reload?! | Decoding Flutter

Hot reload - Flutter

'dart' 카테고리의 다른 글

flutter 사이드 프로젝트 완료!  (0) 2022.01.29
Life of a Widget?! | Decoding Flutter  (0) 2021.05.16
Introducing Decoding Flutter  (0) 2021.05.16
dart, flutter(+a) vscode 플러그인  (0) 2021.05.16
flutter launcher icon  (0) 2021.05.10

 

 

플러터에서는 무슨 일이 일어나고 있는가?? 어떻게 동작하는가??
를 정리해주나 보다~~가볍게 보기 좋은 듯!!

 

차차 다음과 같은 것을 알려준다고 함

왜 hot-reload가 동작하지 않는가?
위젯은 얼마나 오래 지속되는가?
'state'라고 하는 것에 무슨 일이 일어나고 있는가?

 

 

링크 

Introducing Decoding Flutter

 

 

 

+ Recent posts