PostCSS에 대해 정리하다가 크로스 브라우징에 대해서도 정리를 한 번 해야겠다는 생각을 했다. 왜냐하면, 내가 해본 건 겨우 클론코딩이 전부이지만 코드를 작성할 때 한 번도 이 부분에 대해 신경을 써본 적이 없다는 걸 깨달았기 때문이다. 단순히 디바이스에 따른 레이아웃 변화만 크로스브라우징이라 생각했던 것도 있는 것 같다.
크로스 브라우징(Cross Browsing)은 웹 개발에서 중요한 개념으로, 다양한 웹 브라우저와 디바이스에서 웹 사이트나 웹 애플리케이션이 동일한 사용자 경험을 제공하는 것을 목표로 한다.
다른 웹 브라우저(ex:Chrome, Firefox, Safari, Edge 등)나 다양한 디바이스(데스크톱, 태블릿, 스마트폰 등)에서 웹 페이지가 일관된 모습과 동작을 보이도록 만드는 작업을 포함한다. 즉, 크로스 브라우징은 웹 페이지의 상호 호환성을 의미한다.
크로스 브라우징을 신경쓰지 않으면, 웹 페이지가 한 브라우저나 디바이스에서는 잘 작동하더라도 다른 브라우저나 디바이스에서는 레이아웃이 깨지거나 기능이 동작하지 않을 수 있다.
실제로, 가입되어 있는 여러 스터디 모임에서 크롬에서는 잘 되는데 사파리에서는 레이아웃이 뒤틀린다고 어떻게 하면 되냐는 질문글을 많이 보기도 했다. 이게 다 크로스 브라우징을 신경쓰지 않아서 생긴 문제라는 것을 지금은 나도 안다.
그럼 어떤 노력을 해야 할까?
크로스브라우징은 웹 개발을 하면서 정말 필수적인 요소일 수밖에 없겠구나라는 걸 느꼈다. 그리고 IE 기술지원 종료가 발표됐을 때 왜 많은 개발자들이 그렇게 환호했는지도 좀 알 것 같다.
난 아직 반응형 웹을 따라서 만들어보는 것 말고는 제대로 신경써서 만들어본 적이 없어서 정확히 어떤 점이 불편하게 하는지는 아직 모르겠지만, IE의 종말에 이어 safari의 종말도 기다리는 사람들이 있는 걸 보니 얼마나 어마무시한 녀석인지 두렵기도 하다.
아무튼 역시 계속 테스트해보고 디버깅해보는 게 중요하겠구나 하는 생각이 든다.