학습목표
Flutter 최신 개념 이해 및 정리
1. Flutter Devtools 개념 이해
2. null-safety 추가 이유 개념 이해
3. GetX 개념 이해
4. StreamBuilder vs FutureBuilder 개념 이해
회고
1. Flutter Devtools 개념 이해
- Flutter 앱의 UI 레이아웃과 상태를 검사
- Flutter 앱에서 UI 버벅거림 성능 문제를 진단
- Flutter 또는 Dart 명령줄 앱의 소스 수준 디버깅
- Flutter 또는 Dart 명령줄 앱에서 메모리 문제를 디버그
- 실행 중인 Flutter 또는 Dart 명령줄 앱에 대한 일반 로그 및 진단 정보 확인
https://cheolheelee.tistory.com/377
2. null-safety 추가 이유 개념 이해
Flutter 2.0 업데이트 이후 dart 언어에 null safety가 적용되었다.
null으로 인한 런타임 에러를 방지하여 개발자의 생산성을 높일 수 있다.
유저가 실수로 체크하지 못한곳에서 발생하는 NullPointerException같은 에러를 조기에 방지하고
실제로 돌아가는 어셈블리상에서 null체크를 다시 안하기 때문에 성능적 이득도 있다.
자세히 말하면, null safety는 변수가 null을 허용하는지 구분하기 위한 개념인데 기본적으로 null을 허용하지 않는다.
dart 언어는 null safety를 지원하지 않았기 때문에
변수 값이 초기화 되지 않았거나 null 값을 전달하면 컴파일 에러는 발생하지 않고 런타임 과정에서 오류가 발생했다.
이러한 이유로 코드를 작성할 땐 오류가 발생할 것을 예상하지 못하기 때문에 코드를 수정하고 다시 빌드하기까지의 개발 시간이 추가된다.
이를 해결하기 위해 null safety를 적용하여
개발자가 런타임 과정이 아닌 코드를 편집하는 과정에서 IDE로 부터 빠른 피드백을 받도록 하였다.
https://cheolheelee.tistory.com/369
3. GetX 개념 이해
GetX가 제공하는 기능
- 고성능 상태 관리
- 지능형 종속성 주입
- 편리한 라우트 관리 기능 제공
GetX의 3가지의 기본 원칙
- 성능
- 성능과 리소스 소비의 최소화
- Streams, ChangeNotifier를 사용하지 않는다.
- 생산성
- 쉽고 간결한 구문을 사용한다.
- 사용하지 않는 리소스는 메모리에서 자동으로 제거해준다. 따라서 개발자가 메모리에서 컨트롤러를 제거하는 것을 신경쓰지 않아도 된다.
- 조직화
- 화면, 프레젠테이션 로직, 비즈니스 로직, 종속성 주입, 네비게이션을 완전히 분리할 수 있다.
https://cheolheelee.tistory.com/365
4. StreamBuilder vs FutureBuilder 개념 이해
Futurebuilder
데이터를 한 번만 가져온다. 로또 유틸앱을 개발할 때 Future builder로 구현하였다. dhlottery.co.kr에 http request를 한 번 보내여 전 주의 당첨 정보를 표시했다.
StreamBuilder
변화가 발생할 때마다 연속적으로 계속 가져온다. snapshot에 변화가 생기면 widget를 다시 빌드한다. 실시간으로 데이터의 변화를 반영할 수 있다.
https://cheolheelee.tistory.com/366
'독서' 카테고리의 다른 글
모각코(모더나 팀) 3회차 학습목표/회고 (1) | 2022.01.11 |
---|---|
모각코(모더나 팀) 2회차 학습목표/회고 (1) | 2022.01.04 |
자기관리론 (1) | 2021.12.04 |
좋은 사람을 곁에 둬라 :: 인간관계/친구/학습태도 (0) | 2021.07.03 |
이노베이션이 아니라 리노베이션으로 창조하라 (0) | 2021.07.03 |