라티의 작은 일기장

패스트캠퍼스 환급챌린지 25일차 미션(2월 25일): 15개 프로젝트로 실무까지 끝내는 Dart & Flutter 앱 개발 강의 후기 본문

Flutter & Dart

패스트캠퍼스 환급챌린지 25일차 미션(2월 25일): 15개 프로젝트로 실무까지 끝내는 Dart & Flutter 앱 개발 강의 후기

코드라티 2024. 2. 25. 23:53

오늘은 주식 탭에서 상단 appbar의 검색 버튼을 눌렀을 때 나오는 화면을 구현하기 시작했다.

일단 강사님의 구현 속도가 너무 빨라서 강의를 한번 쭉 보면서 든 생각은... 단축키 활용 능력이 진짜 중요하다...

IDE 활용을 잘하면 당연한 얘기지만 개발 속도가 매우 빨라진다.

 

오늘은 구현은 못하고 강의를 들으면서 필기만 열심히 했다.

- SafeArea 위젯은 앱의 화면이 OS의 상단바와 겹치지 않도록 해준다.

 

- TextInput 위젯의 textInputAction 프로퍼티로 네이티브 키보드의 주 액션 버튼 유형을 지정해줄 수 있다. (신기했음)

- TextInput 위젯의 onEditingComplete 프로퍼티로 함수를 할당하면, 주 액션 버튼에 대한 콜백을 지정해줄 수 있다.

- 네이티브 키보드를 닫고 싶으면 AppKeyboardUtil.hide(context)를 활용하면 된다.

- GetX 패키지의 유용한 기능 중 하나로, 리스트의 데이터가 변할 때마다 리스트를 통해 UI를 동적으로 갱신해주기 위한 RxList가 있다.

아래와 같이 사용한다.

RxList<String> searchHistoryList = <String>[].obs;

- Obx 위젯은 함수를 리턴하는데, 함수 내의 controller에서 obs를 관찰해서 obs의 변화를 감지하면 해당 위젯을 '부분적으로' 빌드해서 결과를 리턴한다. 부분적인 빌드라서 앱의 퍼포먼스 향상에 도움이 된다.

- 리스트뷰나 스크롤뷰처럼 스크롤이 가능한 형태의 위젯의 경우 항상 레이아웃 설정 시 높이를 명시해주는게 좋다. 오토레이아웃에 의해 자동 계산되는 높이는 어떤 상황에서는 계산할 수가 없어서 잠재적인 에러의 원인이 된다.

- 리스트의 String 형태의 요소를 지울 때는 remove() 메서드로 간단하게 지울 수 있지만, 복합 형태의 요소를 지울 때는 removeWhere() 메서드로 조건을 지정해서 해당하는 요소를 지워줄 수 있다.

 

 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

https://bit.ly/48sS29N