오늘은 어플의 생태주기,
그리고 플러터의 기본적인 포맷에 대해서 배웠습니다.
2주차지만 다시한 번 느낀건
이건 절대 초급 스터디가 아닙..니....다..
배운점
1.플러터 내에서 모든 widget은 핫 리로드 하는 순간에 Build함수를를 통해서 리빌딩 된다.
2. stateless, stateful, inherited
- stateless는 데이터의 변화가 없기에 리빌딩 되더라도 메모리 소모가 적다.
- stateful의는 데이터의 변화가 있는 위젯, 매번 리빌딩 하면서 상태를 재구성하는 setState의 함수가 필요로 한다.
고로 메모리 소모가 많다.
- inherited 위젯 : 위젯이 처음 리빌딩 될 때만 사용된다. 고로 여기에다 변수를 선언하면 메모리를 아낄 수 있다.
3. sateful 내의 widget의 값이 바뀌더라도 element의 값은 변하지 않는다. 그 뜻은 element는 위젯의 값을 의미하는게 아니라
실제 값이 저장되어 있는 위치의 값이다. (C언어의 포인터와 비슷한 내용인 것 같다. )
widget이 사람의 피부라 생각한다면 element는 사람의 근육인 것 같다.
사람의 피부는 쉽게 바꿀 수 있다. 피부 위에 타투를 그려넣거나, 피부의 색이다르거나 차이가 생길 수는 있다.
하지만 사람의 근육은 흑인이든, 백인이든 피부의 모양이 달라지더라도 근육은 변화하지 않는다.
간혹 클론코딩을 하면서 Scaffold.of(context).showbottomsheet 와 비슷한 코드를 본적이 많은데
이 코드가 element의 기능을 한다. showbottomsheet를 어느 위치에 놓아야 하는지 알 수 없을 때, 또는 정해진 곳이 아닌 다른 곳으로 놓아야 할 때, 상위위젯.of(context).하위위젯 으로 위치를 특정시켜서 놓을 수 있게 된다.
4. Key의 역활
플러터는 widget의 역할이 중요하다. stateful은 데이터의 변화가 있는 widget이라 각 widget마다 인덱스 처럼 색인 값을 붙여주게 된다. 그 key의 값을 가지고 데이터의 변화를 감지한다.
5. List를 2번을 작성하는 이유
첫번째 List는 앞으로 사용하게 될 데이터를 선언을 하는 곳,
두번째 List는 그 데이터를 어떻게 사용하는지에 대해 선언 하는 곳
6.머터리얼 디자인의 역사
2014년에 개발되었다... 와 이렇게 오래 전에 생긴 것인 줄은 몰랐다.
구글이 자바를 탈출하기 위해 엄청 애를 쓰고 있었구나를 다시금 느꼈다.
6.스캐폴드의 뜻
아파트나, 건물을 지을 때 쉽게 작업을 할 수 있게 발판을 먼저 만든다. 그 발판이 영어로 Scaffold이다.
이 단어로 플러터가 목표로 하는 것을 쉽게 알 수 있다. Scaffold 위에 쌓여진 위젯들이 = 어플
오늘 수업을 100% 이해하기는 어려웠습니다.
그래도 제가 이해한 그대로 적어봤습니다.
틀린부분이 있다면 알려주세요 ㅠㅠ
유튜브, 유료강의에서 찾아볼 수도 없는 강의를 해주신 곡소리님, 재현님께 정말 감사합니다.
'Flutter-플러터 > 플러터 공부' 카테고리의 다른 글
Sql 기초실습 1편 (0) | 2022.11.26 |
---|---|
임시 저장 기능[Shared Preferences] (1) | 2022.11.19 |
final const (0) | 2022.10.25 |
Get X 4편 - 테마 변경 (0) | 2022.10.14 |
Get x 3편 - 종속성 관리 (0) | 2022.10.14 |