MS의 크로미엄 전환이 가지는 의미는?··· 개발자를 위한 분석

InfoWorld
마이크로소프트가 엣지 브라우저에 대해 자체 브라우저 엔진을 버리고 대신 구글의 크로미엄(Chromium)으로 전격 전환하기로 결정했다. 윈도우 플랫폼 역사상 손꼽히는 변화 가운데 하나다. 

지난 1995년 인터넷 익스플로러를 처음 출시한 이래 윈도우는 지금까지 자체 HTML 렌더링 엔진을 보유했었다. 스프리(Spry) 엔진이 처음 나왔고, 그 후 마이크로소프트 트라이던트, 그리고 마지막으로 윈도우 10의 발매와 함께 나왔던 엣지HTML이 있었다. 모두 합치면 23년이 넘는 기간이다. 

얼핏 굴욕적(?)으로도 보이는 이번 전환에는 물론 나름의 이유가 있다. 마이크로소프트는 웹 애플리케이션이 개발되고 있는 현실을 목격하면서 윈도우 엣지 브라우저의 후속 중요 릴리즈에서 구글의 오픈소스 크로미엄 프로젝트, 그리고 블링크 HTMLV8 자바 스크립트 엔진으로 전환할 필요를 느꼈던 것이다.

그러나 이는 오늘날의 마이크로소프트가 ‘실용적’ 태도를 보이고 있기에 가능한 결정이며, 이는 개발자가 다뤄야 할 브라우저 렌더링 엔진이 하나 줄었음을 의미하기도 한다. 

웹의 균형이 크로미엄으로 기운 것은 사실이다. 하지만 우리가 IE6 독점 시절에 대한  재판처럼 이번 결정을 바라볼 이유도 없다. 마이크로소프트는 크로미엄 오픈소스 커뮤니티에서 큰 역할을 하겠다고 말했고, 회사의 개발자들은 벌써부터 크로미엄 ARM 64에 기여를 하고 있다. 또한 마이크로소프트는 크로미엄이 엣지 만큼 뛰어나지 못한 분야인 터치, 스크롤 등에 그간 축적한 전문성을 가져올 것이다. 

크로미엄을 이용하는 조직이 하나 더 늘어남으로써 침체의 가능성은 더 줄어들고, 더욱 많은 니즈를 지원할 수 있게 됐다. 장차 더욱 많은 코드를 흡수함에 따라 다양성은 혁신을 촉진할 것이다. 
 
ⓒ Image Credit : Getty Images Bank



엣지와 윈도우의 단절 
엣지가 저조했던 이유 가운데 하나는 윈도우 10과의 관계였다. 윈도우 10의 누적 업데이트의 일부로서 매월 패치가 이루어질 수 있지만, 큰 규모의 변경이라면 중요 윈도우 업데이트까지 기다려야 했다. 구글은 신기능이 개발될 때마다 새로운 크롬 빌드를 내놓을 수 있었지만, 마이크로소프트는 엣지를 1년에 2차례만 업데이트할 수 있었다. 기업 이용자는 대다수가 2년 업데이트 주기에 종속되어 있기 때문에 신기능은 2년에 한번 구경하는 정도였다. 

마이크로소프트가 윈도우 스토어를 통해 엣지를 배포하는 것은 기술적으로 가능하기는 했지만, 윈도우 10이 HTML/자바스크립트 기반의 유니버설 윈도우 플랫폼(UWP)) 애플리케이션을 지원하려면 기저의 엣지HTML 및 차크라 엔진을 안정적으로 유지해야 했다. 이로 인해 마이크로소프트는 윈도우 인사이더 베타 빌드 밖에서 새로운 표준 및 기능을 개척할 수가 없었다. 결국 브라우저 경쟁에서 크게 뒤쳐지게 됐다. 

엣지의 렌더링 엔진을 크로미엄으로 전환한다면 마이크로소프트는 브라우저와 UWP의 연계를 끊을 수 있다. Win32 엣지는 윈도우 데스크톱 브릿지에 래핑되어(wrapped) 윈도우 스토어에서 배포될 수 있을 것이고 새로운 버전이 발매될 때 자동 업데이트가 이뤄진다. 동일 코드가 프라이빗 스토어를 통해 전달될 수 있고, 시스템 센터, 여타 데스크톱 관리 툴을 통해 관리될 수 있다. 따라서 기업은 크롬이 아니라 현재의 엣지와 동일한 방식으로 브라우저를 관리할 수 있다. 

마이크로소프트의 브라우저 엔진 선택은 또 다른 측면을 가지고 있다. 마이크로소프트는 팀즈, 비주얼 스튜디오 코드 같은 여러 신규 툴을 기트허브 일렉트론 프레임워크를 기반으로 구축하며 이미 크로미엄에 크게 의존하고 있다. 마이크로소프트는 크로미엄 프로젝트에의 참여를 늘리면서 일렉트론 툴에 입각해 핵심 작업에 집중할 수 있고, 이는 일렉트론의 주요 Node.js 기반 프로세스의 기저에 놓인 V8 자바스크립트 엔진의 성능을 향상시킬 것이다. 

UWP와 크로미엄의 미래 
윈도우 스토어에 존재하는 새 브라우저는 윈도우 10 외의 플랫폼에서도 이용할 수 있다 하지만 마이크로소프트는 여전히 기존의 UWP 라이브러리와 툴을 유지해야 하고, 따라서 엣지HTML와 차크라는 기존의 웹뷰 컨트롤을 지원하기 위해 정비 모드로 계속 유지되어야 한다. 필자는 빠른 렌더링 엔진에 의존할 수 있도록 애플리케이션을 위한 2차 웹뷰 컨트롤 옵션이 결국 나타날 것으로 예상하고 있다. 추정컨데 이는 크로미엄 엔진을 래핑 할 것이다. 


2가지 별개의 UWP 웹뷰 컨트롤을 갖는다면 다소 거추장스러워 보일 수 있지만 이는 개발자에게 기존 코드에 대한 장기적 안정성을 제공하는 유효한 선택지이다. 아울러 이는 과거의 웹뷰 기반 UI 코드를 지원하는 동시에 마이크로소프트가 신기능을 발표할 때 이를 이용할 수 있는, 미래의 개발을 위한 선택지이기도 하다. XAML 아이슬랜드 같은 기술은 윈도우 10에서 실행되는 Win32 코드가 구형의 IE 기반 Win32 컨트롤을 대신해 이들 새 컨트롤을 사용할 수 있게 해줄 것이다.  

마이크로소프트가 과거 발매된 윈도우 버전으로 크로미엄 기반 컨트롤을 백포트 할 것인지는 불분명하다. 윈도우 7은 연장 지원 기간이 불과 1년 남았기 때문에, 내년에 새 Win32 컨트롤이 나오기는 어려울 것이다. 

그렇더라도, 마이크로소프트는 크로미엄으로 구동되는 엣지의 윈도우 7 Win 32 버전을 공급할 예정이다. 따라서 윈도우 10 마이그레이션을 서서히 진행 중인 기업은 최소한 기존 시스템 관리 프레임워크를 이용해 최신의 관리된 브라우저를 전달하고 제어할 수 있을 것이다. 마이크로소프트는 윈도우 7 엣지와 함께 인터넷 익스플로러의 지원을 최종적으로 중단할 수 있을 것이다. 

새로운 교차 플랫폼 엣지 브라우저 
크로미엄은 교차 플랫폼이고, 마이크로소프트는 안드로이드 엣지 버전에서 이를 이미 렌더링 엔진으로 이용하고 있다. iOS 엣지는 애플의 제한 때문에 여전히 웹킷(Webkit)을 이용할 것이지만, 마이크로소프트는 이미 크로미엄 엣지의 맥OS 버전을 살짝 공개한 바 있다.

브라우저 세계를 뒤흔들 정도까지는 아니지만, 맥OS 엣지에는 한 무리의 중요 이용자층이 있다. 바로 웹 디자이너이다. 맥OS는 스케치 등의 프로토타이핑 툴 덕분에 디자이너가 선택하는 OS로 각광받는다. 

현재 윈도우 10에서만 엣지를 이용할 수 있기 때문에, 이는 테스팅을 위한 우선 순위에서 밀려났고, 따라서 웹 앱의 인기 표적이 아니었다. 맥OS상의 크로미엄 엣지는 코드를 테스트할 또 하나의 환경을 디자이너에게 제공하게 되고, 이는 크롬과 별 차이가 없는 환경일 것이다. 심지어 리눅스 버전에 대한 전망도 있다. 모든 버전이 동일한 코드 베이스로부터 구축되기 때문에 가능한 이야기이다.

애플리케이션 테스팅이 단순화되면서 맥에서 설계된 웹 앱은 별도의 윈도우 하드웨어를 필요로 하지 않을 것이다(또는 패러렐이나 VM웨어 퓨전 등의 가상화 툴). 디자이너에게 네이티브 엣지 버전을 제공한다면 맥 상에서 구축되고 테스트된 설계는 윈도우 10 엣지에서도 동일한 경험을 전달할 것이다. 이에 의해 호환성 갭이 메워진다. 

프로그레시브 웹 앱 및 크로미엄 
윈도우 기본 렌더링 엔진을 크로미엄으로 전환함으로써 상당한 효과를 갖는 분야는 PWA의 지원 개선이다. 프로그레시브 웹 애플리케이션은 상당 기간 동안 마이크로소프트 윈도우 스토어의 앱 전략의 일부였다. 그리고 새로운 엣지는 크로미엄의 서비스 작업자에게 갔던 성과의 혜택을 누릴 수 있을 것이다. 구글 지도 등 구글의 자체 서비스와 함께, 크롬의 PWA 툴의 혜택을 누리면서 마이크로소프트는 이들 앱을 윈도우로 쉽게 가져올 수 있다. 

구글의 크로미엄 PWA 접근법은 앱을 다운로드하고 설치하는 툴로서 크롬을 이용하는 것이고, 마이크로소프트는 새 브라우저에서 동일한 모델을 추구할 것이라고 밝혔다. 크로미엄과 엣지는 기저의 PWA 모델이 동일하기 때문에 기존의 PWA는 아무런 변경 없이 성능 향상이 이루어질 것이고, 크롬에 특화된 PWA는 새 엣지 툴에서 실행될 수 있을 것이다. 

마이크로소프트가 엣지에서 크로미엄을 사용하도록 한 결정은 개발자 중심의 접근법에 근거함이 분명하다. 윈도우 개발자는 처음에는 변화를 거의 느끼지 못할 것이다. 구형 UWP 앱은 여전히 엣지HTML과 차크라를 이용할 수 있기 때문이다. 그러면서도 새 코드는 크롬 기반의 새 UWP 컨트롤에 의존할 수 있다. 웹 디자이너와 개발자를 위해 PWA는 더욱 많은 기능을 갖게 될 것이고, 맥을 이용하는 디자인 팀은 엣지 맥OS 버전에서 테스트를 실행할 수 있을 것이다. 

* Simon Bisson은 학계 및 텔레콤 리서치 분야에 종사하고 있다. ciokr@idg.co.kr