Flutter UI 의 가장 기본적인 단위는 Widget
Flutter의 Widget들과의 관계
상태 관리 차이
별도의 디자이너 직군이 없는 소규모 앱 개발 인원만 있다면 디자인 가이드를 지키는 것이 앱의 완성도를 높이는데 유리하다.
부모로부터 제약 걸기
Container안에 Container있을 때 안에 있는 Container가 가로,세로가 작더라도 상위color를 먹는 경우가 있음.
그 때 Constraints로 제한 걸기
부모의 제약조건에서 벗어날 수 있음
얘로 overflow나더라도 제한된 영역에서만 보이게 할 수 있음.
initState 없이도 초기값을 설정 가능.
classLevel에서 변수 선언하면 해당 변수는 클래스의 인스턴스가 생성될 때 초기화.
initState에서 변수 선언하면 해당 변수는 위젯이 처음 빌드 될때 = State 객체가 초기화 될 때 실행 < 1번만 실행.
controller들은 dispose시 반드시 dispose해주기.
Create > build() > dispose
위젯이 1번 빌드되면 바뀌지 않음
Create Widget > Create State < Widget > > initState() > build() > setState(), didUpdatedWidget() or deactivate > dispose() > Dispose
Stateful에서 dispose하지 않으면 채팅의 경우 스트림데이터가 쌓여서 앱의 성능 따운, 최적화x
쉽지않은 상태관리로 Riverpod / BLoC / GetX / Provider / Redux 이용
Embedder 위에 Engine 위에 Framework