#3. DB 설계 및 기본적인 flutter 학습

hyeon·2022년 5월 24일
0

Flutter 프로젝트

목록 보기
3/3

DB 설계

firebase의 realtimedatabase를 쓸 예정이므로 key-value 구조로 대략 구조를 짜봤다.

위젯

플러터는 React에서 영감을 얻어 위젯으로 UI를 구축한다.
플러터는 모든 요소가 위젯이다.

위젯? textview, button 같은거?

내가 네이티브 개발을 할때 activity안에 있는 text와 button 같은것들을 위젯이라고 불렀지만 플러터에서는fragment나 Activity 같은 개념 대신 비슷한 것으로 Route(스크린이나 페이지를 추상화한것)라는 개념이 있다고 한다. 그리고 이를 관리하는 것이 Navigator이다. (stack처럼 LIFO) 아무튼 이것들 조차 위젯이다.

공식문서에서 친절하게도 기존 Android 개발자를 위해 공식 doc을 만들어주셨다. ios 개발자, 웹개발자를 위한 문서들도 있으니 참고해보시길!
Android 개발자를 위한 Flutter

flutter의 위젯

일단 flutter는 runApp() 함수를 사용하여 inflate되어 화면에 attatch 된다. runApp() 함수는 주어진 값을 가져와 위젯트리의 루트로 만든다. (위젯트리를 바탕으로 화면이 그려진다)
위젯은 상태를 관리하는지 여부에따라 statelesswidget과 statefulwidget 두가지로 나누어진다. state(=data)

Stateful Widget

그들의 lifetime동안 여러번 다르게 빌드 될수 있는 위젯을 위한 위젯
(1) createState() : 상태를 생성 State 객체를 리턴
(2) initState() : 위젯이 생성될때 초기화
(3) build() : 위젯을 화면에 출력
(4) setState() : 위젯 state 값 갱신 -> 다시 build

Stateless Widget

특정 구성 및 주변 상태가 주어지면 항상 동일한 방식으로 빌드하는 위젯을 위한것
상태관리가 필요없음. 사용자와 상호작용하지 않음

기본 위젯

  • scaffold : 기본머티리얼 디자인 비주얼 레이아웃 구조를 구현 기본적으로 appbar와 body라는 옵션을 가짐 (materialapp에서 가장 먼저나오는 페이지는 home)
  • Container
  • Text
  • Stack
profile
남기고 싶은 개발자입니다 :>

0개의 댓글