-
[Flutter 플러터] 6. Stateless와 StatefulStudy/Flutter, Dart 2024. 8. 2. 11:24728x90반응형
Stateless vs Stateful
Stateless
- 클라이언트⇄서버 관계에서 서버가 클라이언트의 상태를 보존하지 않음.
- 서버는 단순히 요청이 오면 응답을 보내는 역할만 수행, 상태 관리는 전적으로 클라이언트 책임.
- 서버는 단순히 받아서 응답만 하기 때문에 상태 유지에 대한 부하가 줄어듦.
- 서버 1에 문제가 생겨 서버 2가 이어받아도 응답에 문제 없음.
- 대량의 트래픽 발생 시, 서버 확장을 통해 대처를 수월하게 할 수 있다는 장점.
- 서버가 세션 상태 및 세션 정보를 저장하지 않기 때문에, 클라이언트 측에서 송신할 데이터 양이 많아진다는 단점.
반응형Stateful
- 클라이언트⇄서버 관계에서 서버가 클라이언트의 상태를 보존함.
- 클라이언트의 이전 요청이 서버에 잘 전달되었을 때, 클라이언트의 다음 요청이 이전 요청과 관계가 이어지는 것을 의미.
- 상태에 대해 저장해야하기 때문에 백업 스토리지 요구됨.
- 상태 저장에 대한 요청은 서버 측 상태에 따라 달라짐.
- 서버는 클라이언트의 세션 정보를 저장하므로, 갑자기 통신이 중단되더라도 중단된 곳부터 다시 시작할 수 있다는 장점.
- 확장성이 좋지 않다는 단점.
728x90Lifecycle
- 일반적인 프로그래밍에선, 한 객체가 생성이 되고 동작이 이루어진 뒤, 프로그램 내에서 정리되는 과정.
- 객체 지향 프로그래밍을 비롯해 여러 프로그래밍 방식에서 중요한 개념 중 하나이며, 최적화나 안정성을 고려하는 프로그램인 경우, 중요도가 더더욱 올라가는 개념.
- Flutter에서도 각각의 Widget을 비롯한 모든 객체가 각자의 Lifecycle을 가지고 있음.
Stateless Widget Lifecycle
Create → build() → dispose
Steteful Widget Lifecycle
Create → Create State<Widget> → initState() → build() → setState(), didUpdatedWidget → build() → deactivate → dispose() → Dispose
728x90반응형'Study > Flutter, Dart' 카테고리의 다른 글
[Flutter 플러터] 8. 플러터 라이브러리 사용하기 (0) 2024.08.17 [Flutter 플러터] 7. Flutter의 다양한 입력들 (0) 2024.08.15 [Flutter 플러터] 5. 위젯 배치해보기 (0) 2024.07.26 [Flutter 플러터] 4. Dart 컨테이너와 위젯 공부하기 (0) 2024.07.18 [Flutter 플러터] 3. Dart 분기문, 반복문 (2) 2024.07.16