매일메일 "낙관적 업데이트에 관하여 설명해주세요."

이수용·2025년 4월 30일

매일메일

목록 보기
29/31
post-thumbnail

낙관적 업데이트? 😃

성공적인 상태 업데이트가 이뤄질 거라는 가정 하에 서버 응답 이전에 UI를 미리 업데이트하는 방법
서버가 사용자의 요청을 성공적으로 처리할 거라고 예상하고 UI를 즉각적으로 변경해서 사용자에게 빠른 반응을 제공한다.

대표적인 예시 : 좋아요 기능
우리가 좋아요 버튼을 클릭하면 서버 응답 의 기다림 없이 화면에 바로 클릭한 상태가 나타난다.
이때 서버 응답이 실패하면 UI에서 좋아요 상태를 다시 해제하거나 오류 메시지를 보여준다.

장점

  1. 즉각적인 피드백이 가능
  2. 사용자가 빠르게 시스템을 사용할 수 있다.
  3. 네트워크 상태가 좋지 않거나 응답 시간이 길어도 사용자에게 영향이 적다.

단점

  1. 서버 오류 발생 시 화면에 잘못된 정보가 잠시동안 표시될 수 있다. -> 오류 핸들링 (롤백) 로직 설계

그렇다면 낙관적 업데이트는 많이 적용하는 것이 좋은걸까? 🤔

무조건 좋은 것은 아님...!
요청이 성공할 가능성이 높고 사용자 경험을 즉시 개선하는 데 큰 장점이 있을 때 사용하기
네트워크 환경이 불안정한 경우에는 요청에 대한 실패율이 높아지기 때문에 잦은 롤백이 발생할 수 있기 때문에 서버 응답을 기다리는 것이 더 좋을 수 있다.

0개의 댓글