블링크는 크롬 프로젝트의 일환으로 개발된 브라우저 엔진으로 애플, 구글, 메타, 마이크로소프트, 오페라 소프트웨어, 비발디 테크놀로지스, 어도비, 인텔, IBM, 삼성 등이 참여하고 있으며, 2013년 4월에 처음 발표되었다. 되었다.
블링크의 네이밍은 속도라는 의미와 넷스케이프 네비게이터(Netscape Navigator)에 의해 도입되어 2013년 8월까지 프레스토(Presto)와 게코(Gecko) 기반 브라우저에서 지원했던 비표준 프레젠테이션용 블링크(blink) HTML 요소에 대한 언급이라는 2가지 Blink는 이름과 달리 기능적으로 이 요소를 지원한 적이 없으며, 이 요소는 두 가지 큰 요소의 조합에 의해 영향을 받았다.
Blink는 WebKit의 WebCore 컴포넌트의 포크이며, 원래는 KDE의 KHTML과 KJS 라이브러리의 포크였다. Chrome 버전 28 이상, Microsoft Edge 버전 79 이상, Opera(15+), Vivaldi, Brave, Amazon Silk 및 기타 Chromium 기반 브라우저와 프레임워크에서 사용되고 있다.
WebCore의 코드 중 상당 부분은 샌드박스, 멀티 프로세스 모델 등 구글 크롬이 구현하는 기능과 다른 기능에 사용됐다. 이러한 부분은 블링크 포크로 인해 변경되어 다소 부피가 커졌지만, 새로운 기능을 추가할 수 있는 유연성이 높아졌다. 이번 포크에서는 CSS 벤더 프리픽스도 폐지된다. 기존 접두사는 단계적으로 폐지되고, 대신 새로운 실험적 기능이 옵트인 기반으로 활성화된다. 이러한 계획된 변경을 제외하면, 블링크는 초기에는 웹코어와 비교적 비슷한 모습을 유지했다.
커밋 수로 볼 때, 구글은 2009년 말부터 블링크의 포크인 블링크 작업을 시작한 2013년까지 웹킷 코드베이스에 가장 많은 기여를 했다.
Blink 엔진에는 다음과 같은 구성요소가 있다:
DOM, HTML DOM, CSS 렌더링 엔진 웹 IDL 구현 Skia Graphics 엔진 - 플랫폼에 의존하는 그래픽 라이브러리(OpenGL, Vulkan, DirectX 등)를 호출한다. V8 자바스크립트 엔진
Blink는 퍼블릭 API를 공개하여 Chromium과 같은 브라우저가 브라우저 엔진의 내부 변경으로부터 차단된 상태에서 Blink와 상호 작용할 수 있도록 하고 있다.
#프레임워크
Chromium의 Blink를 다른 개발자들이 재사용할 수 있는 소프트웨어 프레임워크로 만드는 프로젝트가 몇 개 있다:
현재 지원되는 안드로이드 운영체제 버전(버전 4.4 이상)에서 WebView 컴포넌트는 WebKit이 아닌 Blink를 기반으로 한다. Chromium Embedded Framework는 Adobe Systems의 소프트웨어, Spotify와 같은 스트리밍 미디어 서비스, Battle.net 및 Steam과 같은 비디오 게임 서비스 등에서 널리 사용되고 있다. NW.js(이전에는 Node-Webkit으로 알려짐)는 원래 Node.js 기반 프레임워크로 인텔이 개발했다. Electron은 GitHub에서 개발한 Node.js 기반 프레임워크이다. Qt 5 프레임워크에서는 Qt WebEngine 모듈이 이전 QtWebKit 모듈을 대체하고 있으며, 2013년 Qt WebEngine은 애플이 개발한 WebKit 엔진을 Blink로 대체했다. Qt 개발자들은 Blink의 크로스 플랫폼 기능(WebRTC, WebGL, WebSocket, 시스템 호출 등)을 즉시 사용할 수 있고, Blink가 유지보수 및 테스트가 더 쉽다고 판단했기 때문이다. Microsoft Edge WebView2는 Windows 앱 개발자가 웹 기술을 사용하여 데스크톱 앱을 구현할 수 있는 프레임워크로, 기존의 WebView EdgeHTML 기반 또는 WebBrowser MSHTML 기반 컨트롤을 대체합니다. 대체하는 프레임워크입니다. DotNetBrowser는 독자적인 .NET Chromium 기반 라이브러리로, 데스크톱 및 서버 솔루션 등 다양한 .NET 애플리케이션에서 Chromium 기능을 사용할 수 있다.
Chromium Blink는 Windows, macOS, Linux, ChromeOS, Fuchsia, Android, Android WebView 등 7가지 플랫폼에 구현되어 있다.
Blink는 FreeBSD와 OpenBSD에서도 비공식적으로 지원된다.
iOS 버전의 Chromium은 여전히 WebKit WebCore 렌더러를 사용하고 있다.