본문 바로가기
2023년 이전/flutter

플러터의 핵심개념

by JeongUPark 2021. 12. 5.
반응형
  • 플러터는 모든 것이 위젯이다. 이는 다른 객체가 없다는 것은 아니다. 앱의 모든 조각이 위젯이라는 것을 뜻한다. 스타일, 애니메이션, 리스트, 텍스트, 버튼 심지어 페이지도 위젯이다.
  • 플러터는 상속보다는 조합을 우선시하며, 이를 이용해 고유한 위젯을 만든다. (조합 우대 정책은 http://mng.bz/dxov 를 참고)
  • 대부분 위젯은 상태가있는 위젯(StatefulWidget), 상태가 없는 위젯(StatelessWidget) 둘 중 하나에 속한다. 앱 개발자 입장에서 StatelessWidget은 언제 파괴되어도 괜찮은 위쳇이다.
    • 즉 어떤 정보를 저장하지 않으므로 위젯이 사라져도 별일 없다.
    • 이언제 위젯을 트리에서 제거해야 할지, 언제 리빌드해야할지 프레임워크에 알리지 않는다. (StatelessWidget의 생명 주기는 외부의 힘으로 결정된다)
    • 반대로 프레임워크가 위젯을 언제 리빌드해야할지 알려준다.
  • 위젯을 빌드하고 갱신하는 과정을 생명주기라 부른다.
  • 플러터는 모든 위젯을 빌드하구 위젯 트리를 만든다.
  • 트리가 완성되면 레이아웃을 처리한다. (트리 탐색을 하면서 위젯읠 위치 정보를 수집한다.)
  • 플러터에서 레이아웃 크기 제약은 부모에서 자식 위젯 순으로 작성된다.
  • 레이아웃을 결정했고 다른 위젯과 충돌하지 않을음 확인 했으면 플러터는 위젯을 그린다.
    • 조립과정을 진행한다. 이떄 플러터는 위젯에 실제 화면상의 좌표를 제공하면 위젯은 자신이 차지할 실제 픽셀 수를 안게된다.
  • 위젯이 준비되고, 엔진은 전체 트리를 그릴 수 있는 뷰로 모든 다음, 운영체제를 통하여 화면을 그리도록 요청. 이를 래스터라이징이라 부르며, 이 과정을 끝으로 위젯이 화면에 그려진다

요약

  1. 플러터는 리액티브다.
  2. 모든 것은 위젯이다
  3. State 객체는 오래 살아남으며 종종 재사용된다.
  4. 위젯의 제약은 부모가 서술한다.
반응형

'2023년 이전 > flutter' 카테고리의 다른 글

Flutter - as Prefix  (1) 2021.12.13
Flutter 관련 도규먼트들  (0) 2021.12.13
FlatButton, RaisedButton, OutlineButton Deprecated  (0) 2021.12.13
Flutter 실행 해보기  (0) 2021.12.06
Flutter 설치  (0) 2021.12.05