Optimistic UI란 특정 요청이 성공할 것이라는 가정을 하고 먼저 그 요청의 결과를 보여주는 방식의 UI이다.
어떠한 요청이 아주 높은 확률로 성공한다는 보장이 있을 때, 그리고 그 요청이 너무 늦지 않은 시간 안에 응답이 온다는 보장이 있을 때 사용할 수 있는 UI이다.
Optimistic UI를 사용하는 이유라고 한다면 사용자 입장에서 (유저입장)에서 매우 빠르다고 느껴지기 때문에 사용자 경험에 긍정적인 영향을 준다. 대표적으로 페이스북의 좋아요 기능이 있겠다.
좋아요 버튼을 누르면 즉각적으로 UI에 변화가 반영되지만, 개발자 도구에 들어가서 확인해 본다면 즉각적이라고 하기엔 약간은 어폐가 있을 정도의 통신속도가 존재함을 알 수 있다.
Optimistic UI는 상당히 유용하지만 혹시 모를 에러 발생에 대비하는 로직은 반드시 구성 해 두어야 한다
요청이 정말 예기치 못한 상황으로 실패하는 경우도 있기 마련이고(백엔드 서버의 문제라던가?), 이에 대한 대비가 없을 경우 사용자 입장에서는 분명 요청이 성공한 것처럼 보였는데 실제로는 실패한, 어이없는 상황을 마주하게 된다. 그리고 높은 확률로 서비스에서 이탈할 것이다 .