갤럭시 Z 폴드 같은 폴더블 폰은 접었을 때와 폈을 때 화면 크기가 다르다. 웹 개발에서 새로운 도전이다.
두 가지 화면
접었을 때: 좁은 커버 화면(약 375px). 폈을 때: 넓은 내부 화면(약 1812x2176 물리). 뷰포트로는 더 작게 나온다.
Viewport Segments API
CSS로 폴드 상태를 감지할 수 있다. 아직 지원이 제한적이지만 점점 늘어날 것이다. 화면 크기 확인기로 현재 화면 크기를 확인하자.
현재 대응법
미디어쿼리로 넓은 화면과 좁은 화면 두 가지를 지원하면 된다. 확인기로 테스트하면서 레이아웃을 조정하자.
다양한 환경에서의 테스트
개발 중에는 크롬 개발자 도구의 디바이스 모드를 많이 쓰지만, 실제 기기에서의 테스트도 중요하다. 시뮬레이션과 실제 기기는 미묘한 차이가 있을 수 있다. 화면 크기 확인기를 실제 스마트폰, 태블릿에서 열어보면 정확한 뷰포트 크기를 알 수 있다.
성능과 화면 크기
큰 화면에 무거운 이미지를 로드하고 작은 화면에는 가벼운 이미지를 로드하면 성능을 최적화할 수 있다. srcset과 sizes 속성을 활용하자. 화면 크기에 따른 리소스 최적화는 사용자 경험과 비용 모두에 영향을 준다.
반응형 디자인의 미래
Container Queries, 새로운 뷰포트 단위(dvh, svh, lvh) 등 CSS도 계속 발전하고 있다. 이런 새로운 기능들을 활용하면 더 정교한 반응형 디자인이 가능하다. 확인기와 함께 새로운 기술을 익혀나가자.
화면 크기 확인기를 자주 활용하면서 다양한 화면 환경에 대응하는 습관을 들이자.