| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
- 알고리즘
- git
- NextJs
- 코드트리챌린지
- frontend
- UIKit
- TypeScript
- 코딩테스트실력진단
- react-query
- 코드트리
- 코딩테스트
- iOSDeveloper
- Front-end
- Apple Developer Academy
- error
- react
- JavaScript
- 프로젝트
- velog
- Xcode
- tshaped
- AppleDeveloperAcademy
- swiftUI
- ios
- globalcommunity
- 프론트엔드
- 회고
- SWIFT
- 자바스크립트
- 프로그래머스
- Today
- Total
Moon Work
Skeleton UI 적용기 본문

시작하며
이전부터 유튜브의 skeleton UI를 좋아했다. 이미지와 영상이 대부분이라 로딩시간이 오래 걸리는데 아래와 같은 skeleton ui는 사용자가 대기하는 시간을 더 빠르게 느끼게 해주고 그 다음에 나올 화면에 대한 예측이 가능하게함으로 사용자 경험을 높일 수 있다.

Skeleton UI
skeleton UI는 사용자에게 화면을 보여주기 전에 나타나는 로딩 에니메이션으로 단순히 돌아가는 loading 애니메이션보다 더 나은 사용자 경험을 제공한다. 하지만 무조건 skeleton UI를 적용하는 것이 좋은 것은 아니다. 닐슨 로먼에서 발표한 자료에서는 1초 이하로 걸리는 작업에 대해 skeleton UI뿐 아니라 loading 상태를 나타내는 Progress Indicator를 보여주는 것은 오히려 깜빡임을 유발해 불안함을 느끼게 한다고 말한다. 따라서 데이터를 가져오는데 시간이 걸리는 작업에 적절히 사용해야 한다.
Skeleton UI 적용하기
사실 오래전부터 skeleton UI를 적용해보고 싶었지만 간단한 프로젝트는 금방 데이터를 가져와서 적용할 일이 없었다. 하지만 마침 최근에 만드는 board game을 위한 paper 앱에서 데이터를 가져오는데 2초 이상 걸리는 것을 파악하고 skeleton UI를 적용해보았다.
마치며
skeleton UI를 적용하는 것이 만사는 아니겠지만 적절히 사용할 경우 보다 친절한 사용자 경험을 줄 수 있는 것 같다. react Suspense와 함께 더 자연스럽게 사용하는 부분을 추후 리팩토링을 통해 다시 정리해보려 한다.
참고
사용자 경험 개선을 위한 Skeleton UI 도입 with Suspense
Next.js + Suspense로 Skeleton UI 도입하기
velog.io
https://velog.io/@oimne/UX-Progress-Indicator%EB%9E%80
UX - Progress Indicator란?
제품 사용성에 대해서 어떤 필자는 프론트엔드 개발자에 대해 이렇게 말한다. "일관된 시각적 계층 구조 유지와 시각적 노이즈를 제거하고, 사용자에게 제공되는 알림, 입력 라벨을 작성하는 것
velog.io
'이해를 위한 기록들' 카테고리의 다른 글
| Firebase Cloud Function 설정(V2 함수 사용하여 세팅하기) (0) | 2025.02.25 |
|---|---|
| 함수형 프로그래밍 (0) | 2023.01.15 |
| 드디어 정규 표현식 (0) | 2022.12.22 |
| jest 기초 (0) | 2022.12.12 |
| Typescript와 OOP SOLID 원칙 (0) | 2022.11.29 |