ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Flutter 플러터] 6. Stateless와 Stateful
    Study/Flutter, Dart 2024. 8. 2. 11:24
    728x90
    반응형

     

    Stateless vs Stateful

     

    Stateless

    - 클라이언트⇄서버 관계에서 서버가 클라이언트의 상태를 보존하지 않음.

     

    - 서버는 단순히 요청이 오면 응답을 보내는 역할만 수행, 상태 관리는 전적으로 클라이언트 책임.

     

    - 서버는 단순히 받아서 응답만 하기 때문에 상태 유지에 대한 부하가 줄어듦.

     

    - 서버 1에 문제가 생겨 서버 2가 이어받아도 응답에 문제 없음.

     

    - 대량의 트래픽 발생 시, 서버 확장을 통해 대처를 수월하게 할 수 있다는 장점.

     

    - 서버가 세션 상태 및 세션 정보를 저장하지 않기 때문에, 클라이언트 측에서 송신할 데이터 양이 많아진다는 단점.

    반응형

     

     

     

    Stateful

    - 클라이언트⇄서버 관계에서 서버가 클라이언트의 상태를 보존함.

     

    - 클라이언트의 이전 요청이 서버에 잘 전달되었을 때, 클라이언트의 다음 요청이 이전 요청과 관계가 이어지는 것을 의미.

     

    - 상태에 대해 저장해야하기 때문에 백업 스토리지 요구됨.

     

    - 상태 저장에 대한 요청은 서버 측 상태에 따라 달라짐.

     

    - 서버는 클라이언트의 세션 정보를 저장하므로, 갑자기 통신이 중단되더라도 중단된 곳부터 다시 시작할 수 있다는 장점.

     

    - 확장성이 좋지 않다는 단점.

    728x90

     

     

     

    Lifecycle

    - 일반적인 프로그래밍에선, 한 객체가 생성이 되고 동작이 이루어진 뒤, 프로그램 내에서 정리되는 과정.

     

    - 객체 지향 프로그래밍을 비롯해 여러 프로그래밍 방식에서 중요한 개념 중 하나이며, 최적화나 안정성을 고려하는 프로그램인 경우, 중요도가 더더욱 올라가는 개념.

     

    - 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
    반응형

    댓글

Designed by Tistory.