크로스 브라우징(Cross Browsing)이란?

한국소프트웨어진흥원 공개 SW 지원센터에서 발간한 Cross Browsing 가이드라는 문서에 따르면 크로스 브라우징에 대해 이렇게 설명합니다.

<aside> 💡 *Cross Browsing이란 적어도 표준 웹 기술을 채용하여 다른 기종 혹은 플랫폼에 따라 달리 구현되는 기술을 비슷하게 만듦과 동시에 어느 한쪽에 최적화되어 치우지지 않도록 공통 요소를 사용하여 웹페이지를 제작하는 기법을 말하는 것이다.*

또한, 지원할 수 없는 다른 웹 브라우저를 위한 장치를 구현하여 모든 웹브라우저 사용자가 방문했을 때 정보로서의 소외감을 느끼지 않도록 하는 방법론적 가이드를 의미하는 것이다.

이는 인터넷 환경 자체가 일반 데스크톱 웹 브라우저 뿐만 아니라 모바일, 임베디드 기기, 홈 네트워킹용 장비 등 아주 다양한 인터넷 환경이 존재하며, 일반인, 장애인, 노약자, 어린이 등 다양한 사용자가 존재하기 때문이다.

</aside>

무슨 말이지? 라고 생각할 수도 있다. 처음에는 조금 어렵게 느껴지지만 즉, 크로스 브라우징은 쉽게 말해 웹페이지간의 상호 호환성을 의미합니다. 결국 서로 다른 브라우저들끼리 서로 호환이 가능하도록 하는 것을 의미하는 것입니다.

하지만 여기서 중요한 것은 크로스 브라우징은 모든 브라우저에서 100% 똑같이 보이도록 만드는 동일성이 아닌 동등성(등가성)을 의미한다는 것입니다.

*Cross Browsing 가이드라는 문서에 이런 내용도 포함됩니다.*

<aside> 💡 웹페이지의 상호 호환성(Cross Browsing) 구축에 대해 이야기하면 기본적인 오해가 있다. 그것은 바로 이것이 모든 웹브라우저에서 100% 똑같이 보이도록 만드는 것이라는 생각이다. 작게는 1990년대 후반 Netscape사와 Microsoft사의 Browser War 기간 동안 일어난 브라우저의 비호환성을 억지로 끼워 맞추려는 기법 정도로 치부되는 것이다. (중략)

</aside>

어느 한쪽에 최적화되지 않고, 공통 요소를 사용하여 웹 페이지를 제작하는 기법으로 동등한 수준의 정보, 기능 접근에 초점을 맞춥니다.

왜 동일하게 만드는 것이 아닌가?

상호 호환성, 동등성, 등가성 모두 단어 자체의 의미는 알겠지만 그래서 ‘왜?’ 크로스 브라우징은 동일하게 만드는 것이 아닌가에 대한 의문은 풀리지 않았다.

그 이유는 사용되는 기기마다 OS가 다르고, 브라우저마다 렌더링 엔진이 다르기 때문이다. 결국 동일하게 안만드는 것이 아닌, 어쩌면 동일하게 만드는 것이 애초에 불가능한 일이기 때문이었습니다.

<aside> 💡

렌더링 엔진 브라우저에 요청한 콘텐츠를 표시합니다. 요청하면 HTML과 CSS를 파싱하여 화면에 표시합니다.

</aside>

그럼 어디까지 맟춰야 하나?

정해진 것은 없습니다. 고객이 서비스하려는 대상에 따라 달라져야 합니다. 하지만 대부분 브라우저 점유율에 따라 크로스 브라우징이 결정되는 경우도 많습니다. 많이 사용되는 브라우저가 우선적일 수밖에 없으니까요.