브라우저의 난립
1990년대 시작된 넷스케이프와 IE간의 브라우저 전쟁에서 그 역사가 시작되었다.
웹프로그램의 클라이언트 단은 HTML,CSS, JS등으로 작성돼 작성된 코드를 브라우저에서 랜더링 하는 과정을 거치는데,
이 랜더링 과정상 브라우저간 엔진이 다르기 때문에, 같은 코드라도 브라우저마다 또 그 버전마다 호환되는 기능의 정도가 다 다르다는 문제가 생긴다.
해결책?
이를 위해서 W3C 표준, ECMAScript라고 불리는 브라우저 스크립팅 언어의 표준 이라는 것이 존재한다.
W3C의 규격에 맞는 코딩을 함으로써 어느 브라우저든 의도된대로 보여주게 할 수 있다.
즉 크로스 브라우징이란 Chrome, safari, edge등의 브라우저들이 난립하는 상황에서, 범 브라우저 적인 상호 호환성을 의미한다.
같은 코드라면 최대한 비슷한 렌더링 결과물을 제공하는 것이다.
이것을 위한 노력을 크로스 브라우징이라고 한다.
랜더링 엔진들
페이지를 랜더링할 때 실질적으로 작업을 하게 되는 엔진이다.
같은 엔진을 사용하면 다른 브라우저여도 비슷하게 출력된다.
트라이던트(Trident) - IE, 아웃룩 이메일 클라이언트나 윈도우 프로그램의 미니 브라우저등에 사용된다. 마이크로 소프트
게코(Gecko) | - 파이어 폭스, 모질라 재단의 이메일 클라이언트인 선더버드에 사용된다. | 모질라 |
웹킷(Webkit) | - 초기 애플사가 사파리 엔진으로 사용하기 위해 차용했으나 현재는 웹킷 프로젝트로 분리되어 개발되고 있다.- 크롬에서도 사용되었던 엔진이며 iOS나 안드로이드의 기본 브라우저들이 이 웹킷 엔진을 사용한다.- 점유율이 높은 엔진이다. | 애플사 |
프레스토(Presto) | - 오페라 15버전부터 더이상 사용하지 않는다. | 오페라 소프트웨어 |
블링크(Blink) | - 웹킷 엔진을 사용하던 구글이 크롬이 개발, 사용하고 있는 엔진이다. - 웹킷에서 줄기를 가져 왔기 때문에 웹킷엔지과 비슷한 모습이 보여진다. - 프레스토 엔진을 버린 오페라가 블링크 엔진을 사용하고 있다. | 구글, 오페라 |
듀얼 엔진 | - 국내 이스트소프트의 스윙(Swing) 브라우저를 예로 들면 크롬과 같은면서도 액티브X를 지원하는데, 독자적인 엔진이 아닌 두가지 엔진을 번갈아 사용하는 방식이기 때문에 가능하다. |
- 보통 트라이던트와 웹킷or블링크 엔진을 사용한다. | |
크로스 브라우징 서비스?
W3C통합 검사기 사이트를 통해 웹 사이트 표준에 맞게 개발이 돼 있는지 확인할 수 있다.
기본적으로 점유율이 높은 브라우저를 타게팅하며, IE를 유의 해야한다. 웬만한 브라우저들은
전부 랜더링 엔진 자동 업데이트 기능을 지원하지만 IE는 그런게 없다. 그러므로 지원 기능차이의 편차가
클 수밖에 없다.
https://okayoon.tistory.com/entry/크로스-브라우징cross-browsing
https://blog.naver.com/insaweb/221926915225
댓글