Blink (browser engine)

From Wikipedia, the free encyclopedia
Blink
Developer(s)The Chromium Project and contributors
Initial release3 April 2013; 8 years ago (2013-04-03)[1]
Repository
Written inC++
TypeBrowser engine
LicenseBSD and LGPLv2.1
Websitechromium.org/blink

Blink is a browser engine developed as part of the Chromium project (since 2013)[2] with contributions from Google, Facebook, Microsoft, Opera Software, Adobe, Intel, IBM, Samsung, and others.[3][4] It was first announced in April 2013.[5]

Naming[]

Blink's naming was influenced by the non-standard presentational blink HTML element, which was introduced by Netscape Navigator, and supported by Presto- and Gecko-based browsers until August 2013. Blink has, contrary to its name, never functionally supported the element.[2][6][7]

History[]

Blink is a fork of the WebCore component of WebKit,[8] which was originally a fork of the KHTML and KJS libraries from KDE.[9][10] It is used in Chrome starting at version 28,[11][12] Microsoft Edge starting at version 79,[13] Opera (15+),[11] Vivaldi, Brave, Amazon Silk and other Chromium-based browsers and frameworks.[citation needed]

Much of WebCore's code was used for features that Google Chrome implemented differently such as sandboxing and the multi-process model. These parts were altered for the Blink fork, and although slightly bulkier, it allowed greater flexibility for adding new features. The fork also deprecates CSS vendor prefixes; existing prefixes will be phased out and new experimental functionality will instead be enabled on an opt-in basis.[14] Aside from these planned changes, Blink initially remained relatively similar to WebCore.[12]

By commit count, Google has been the largest contributor to the WebKit code base since late 2009.[15]

Internals[]

Blink engine has the following components:[16]

  • DOM, HTML DOM and CSS rendering engines
  • Web IDL implementation
  • Skia Graphics engine — makes calls to an underlying Graphics Library (like OpenGL, Vulkan, DirectX etc) which depends on the platform
  • V8 JavaScript engine

Frameworks[]

Several projects exist to turn Chromium's Blink into a reusable software framework for other developers:

  • In currently supported versions of the Android operating system (since version 4.4) the WebView component is based on Blink instead of WebKit.[17]
  • Chromium Embedded Framework is widely used in software by Adobe Systems,[18][19][20] streaming media services such as Spotify,[21] video game services such as Battle.net and Steam,[22] etc.[23]
  • NW.js (previously known as Node-Webkit) is the original Node.js based framework and is being developed by Intel.
  • Electron is a Node.js based framework developed by GitHub.
  • In the Qt 5 framework the Qt WebEngine module supersedes the previous QtWebKit module.[23][24] In 2013, Qt WebEngine replaced the Apple-developed WebKit engine with Blink because of its cross-platform features (like WebRTC, WebGL, WebSockets, system calls etc) that work out of the box.[25][26] Qt developers found it easier to maintain and test it.[25]
  • Microsoft Edge WebView2 is a framework that allows developers of Windows apps to implement a desktop app using web technologies, replacing the older EdgeHTML or MSHTML based WebView and WebBrowser controls.
  • DotNetBrowser is a proprietary .NET Chromium-based library that can be used to use Chromium capabilities in a wide range of .NET applications, including desktop and server solutions.[27][better source needed]

Platforms[]

Chromium Blink is implemented on seven platforms: Windows, macOS, Linux, Chrome OS, Fuchsia, Android, and Android WebView.

Blink is also unofficially supported on FreeBSD[28] and OpenBSD.[29]

iOS versions of Chromium continue to use the WebKit WebCore renderer.[30]

See also[]

References[]

  1. ^ "[chrome] Log of /releases/28.0.1463.0/DEPS". Src.chromium.org. Retrieved 31 December 2016.
  2. ^ a b Lardinois, Frederic (3 April 2013). "Google Forks WebKit And Launches Blink, A New Rendering Engine That Will Soon Power Chrome And Chrome OS". TechCrunch. Retrieved 25 November 2013.
  3. ^ "AUTHORS - chromium/src.git - Git at Google". googlesource.org.
  4. ^ "Google, Opera Fork WebKit. Samsung Joins Firefox to Push Servo". infoq.com. April 2013.
  5. ^ "Blink: A rendering engine for the Chromium project". The Chromium Blog. Retrieved 3 April 2013.
  6. ^ Kobie, Nicole (7 August 2013). "Firefox 23 finally kills "blink" tag". PC Pro. Archived from the original on 2 December 2013. Retrieved 25 November 2013.
  7. ^ Shankland, Stephen (3 April 2013). "Google parts ways with Apple over WebKit, launches Blink". CNet. Retrieved 25 November 2013.
  8. ^ "Which webkit revision is Blink forking from?". blink-dev mailing list. Retrieved 18 April 2013.
  9. ^ "'(fwd) Greetings from the Safari team at Apple Computer' – MARC". Lists.kde.org. 7 January 2003. Retrieved 2 May 2017.
  10. ^ "The WebKit Open Source Project". Retrieved 7 April 2012.
  11. ^ a b "Blink". QuirksBlog. April 2013. Retrieved 4 April 2013.
  12. ^ "Download the new Microsoft Edge based on Chromium". support.microsoft.com. Retrieved 27 January 2020.
  13. ^ "Blink Developer FAQ". The Chromium Projects. Retrieved 22 October 2014.
  14. ^ Siracusa, John (12 April 2013). "Hypercritical: Code Hard or Go Home". Hypercritical.co. Retrieved 15 June 2013.
  15. ^ "How Blink works". Google Docs. Retrieved 6 May 2021.
  16. ^ "WebView for Android". Retrieved 22 April 2017.
  17. ^ Hallgrimur Bjornsson. "Introducing HTML5 extensions". Adobe Systems.
  18. ^ "Adobe Edge Animate Team Blog". Adobe Systems. Archived from the original on 29 October 2011. Retrieved 24 September 2018.
  19. ^ "CEF integration in Dreamweaver". Helpx.adobe.com. Retrieved 31 December 2016.
  20. ^ "Open Source". Spotify.com. Retrieved 31 December 2016.
  21. ^ "Chromium Embedded Framework - Valve Developer Community". Developer.valvesoftware.com. Retrieved 31 December 2016.
  22. ^ a b "Developer diary: Creating a desktop client for Conclave - 10×10 Room". 10x10room.com. 24 April 2014. Archived from the original on 18 January 2017.
  23. ^ "Qt WebEngine Overview". Qt Project. Retrieved 31 December 2016.
  24. ^ a b "Introducing the Qt WebEngine". www.qt.io. Retrieved 6 May 2021.
  25. ^ "Qt Switching From WebKit To Chromium Engine - Phoronix". www.phoronix.com. Retrieved 6 May 2021.
  26. ^ "DotNetBrowser". Retrieved 12 May 2021.
  27. ^ "FreshPorts www/chromoum". freshports.org. 13 October 2010. Retrieved 3 October 2021.
  28. ^ "openports.se www/chromoum". openports.se. 19 December 2009. Retrieved 3 October 2021.
  29. ^ EMIL PROTALINSKI (4 April 2013). "Google's Blink Q&A: New rendering engine will replace WebKit on all platforms in 10 weeks with Chrome 28". thenextweb.com. Retrieved 10 July 2018.

External links[]

Retrieved from ""