What is Blink?

Chrome for Developers · Beginner ·📰 AI News & Updates ·3y ago

Key Takeaways

The video explains the Blink rendering engine, its components, and how it works in Chrome, covering topics such as rendering, JavaScript execution, and WebIDL. It also discusses the difference between Chromium and Chrome, and how Blink is used in various browsers.

Full Transcript

[Music] foreign you may have heard of chromium well this is the open source browser project on which Chrome and some other browsers are built and chromium has several components blink is the rendering engine used by chromium and the rendering engine of a web browser is the part of the software that's used to transform HTML CSS and JavaScript along with you know images and other resources into web pages that you can view and interact with I'm Sam Dutton and in this video I'll give you an overview of what blink is and how it works so the blink rendering engine has a lot of work to do web pages usually include a variety of different resources potentially you know from multiple Origins and that's called composability and you know it's one of the web's special powers first of all blink needs to retrieve HTML CSS JavaScript to images and any other resources that a web page asks for and to do that blink needs to manage interactions with the network stack in chromium and the underlying operating system so as soon as CSS and HTML is loaded blink can begin to transform that code it's in the form of text into a representation that it can work with and that's called parsing JavaScript also needs to be parsed and then executed and once all that's done blink can then begin the work of laying out and displaying web pages that you can view and interact with and this is called rendering so at a high level rendering has several tasks a rendering engine displays web page content on your screen animates visual effects enables scrolling and Route input from users to scripts and underlying subsystems now as you can see there are multiple stages in the pipeline of rendering tasks I won't go into the details here but bear in mind that some stages can be skipped if they're not needed for example scrolling can skip layout pre-paint and paint now for the job of interacting with the underlying Graphics Hardware on your device you know your phone or laptop or whatever blink uses the skier Graphics engine rather than try to support multiple different operating systems and devices all on its own and keep up with platform changes skier uses a graphics Library that's built for the job such as opengl or Vulcan or DirectX so the graphics Library used by skier depends on the platform it's running on such as Android on mobile or Windows on desktop for example and you can find out a lot more about how rendering Works in Chrome in the Chrome University video life of a pixel and there's an excellent article from the Chrome rendering team as well okay so enough about rendering let's go back to JavaScript for a moment so to parse and execute JavaScript and webassembly code blink uses V8 V8 is the open source engine developed by the chromium project to run JavaScript and webassembly code in Chrome and by the way in case you're wondering webassembly abbreviated as wasm is a binary format for code which can be run even faster than JavaScript V8 makes it possible for a developer to use JavaScript or webassembly code to access the capabilities of the the underlying browser for example to manipulate the document object model which is the representation that blink builds from HTML code V8 uses a number of techniques that make it very fast and efficient in fact the speed and capability of JavaScript engines like V8 have transformed the web lots of things that used to be impossible on the web because they were you know too slow or too memory hungry are now commonplace V8 needs to process JavaScript in accordance with the JavaScript standard which is known as ecmascript in fact the point a web engines like blink is to interoperably implement web standards that way developers and users can be confident that web pages work well no matter what browser they're using for example blink interoperably implements web standards for HTML CSS JavaScript webassembly and more but let's take a closer look at the HTML standard if you look at the specifications for each HTML element you'll see a section that defines the Dom interface this is written in a language called Web IDL web interface definition language and the web IDL in this section defines how a developer should be able to use JavaScript to interact with an element this definition is known as an interface and in this example it's for an image element web IDL is a standardized way of describing functional interfaces like those that make up most web standards to implement a feature Engineers put that web IDL code in a file and this automatically gets transformed by Blink to provide an interface to Developers for that feature once the interface is defined with web IDL Engineers can build the implementations that respond to interface calls blink also makes use of lots of fantastic third-party libraries for example webgl is used to render interactive 2D and 3D graphics libraries like webgl are highly optimized and carefully tested and they give blink access to important features and functionality you know without needing to reinvent the wheel so the webgl IDL is defined and the blink Engineers connect that web interface with code and libraries under the hood that know how to render things so all in all to sum up all those components make up blink and blink is the rendering engine used by the open source web browser chromium and you can actually download and run chromium as your browser if you want but be aware that Chrome adds some really important features for example Chrome adds proprietary software for decoding audio and video files known as codecs Chrome can report errors if users give permission and chrome provides a number of user agent features like password management shared history bookmarks and more using your Google account but best of all I think Chrome downloads updates automatically Chrome will update automatically you know if you restart but if you do see that update button make sure to click it and relaunch Chrome also goes through rigorous additional testing processes through its release channels Chrome Canary Chrome Dev Chrome Beta And Chrome stable you can find out lots more about that from our video what are Chrome release channels now you might be wondering does Chrome use Blink everywhere on all operating systems and devices well nearly Chrome on Windows Linux and Mac on desktop use Blink and on Android and on Chromebooks of course however on iOS so on iPads and iPhones it's currently Apple's policy that all browsers have to use the webkit rendering engine and here's a little history webkit was actually a fork of another project KDE which goes all the way back to 1998. in fact Safari and chromium initially were both based on webkit now the problem was the chromium project used a different multi-process software architecture and you know maintaining two separate architectures in one code base was just becoming problematic chromium also wanted to use features that weren't being built into webkit so starting from version 28 Chrome Engineers decided to Begin work on their own rendering engine they forked their code from webkit and they called it blink rumor has it in fact that blink was named after the blink tag that was available in the Netscape Navigator browser to make text blink on and off yeah classy uh anyway to sum up Chrome Microsoft Edge Opera Vivaldi Brave and other chromium-based browsers and Frameworks use Blink Safari and some other browsers use webkit along with all browsers including Chrome on iOS Firefox uses a rendering engine called gecko anyway enough history that's the basics of blink to find out more take a look at our article you might also want to take a look at our video what our blink intents which describes how new features make their way into blink so thanks for watching and be sure to check out the other videos in the Chrome Concepts series [Music] [Applause] [Music] thank you foreign [Music]

Original Description

What is the Blink rendering engine, and how is it used in Chrome? Chapters: 0:00 - Introduction 0:17 - What is a rendering engine? 0:40 - What work does Blink have to do? 1:42 - Rendering and Skia 3:07 - What is V8? 4:53 - WebIDL 6:34 - What's the difference between Chromium and Chrome? 7:36 - WebKit, Blink and Gecko More Chrome Concepts videos → https://goo.gle/cc Subscribe to Google Chrome Developers → https://goo.gle/ChromeDevs #ChromeConcepts
Watch on YouTube ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Playlist

Uploads from Chrome for Developers · Chrome for Developers · 0 of 60

← Previous Next →
1 Polymer Performance Patterns (The Polymer Summit 2015)
Polymer Performance Patterns (The Polymer Summit 2015)
Chrome for Developers
2 Polymer Power Tools (The Polymer Summit 2015)
Polymer Power Tools (The Polymer Summit 2015)
Chrome for Developers
3 Chrome Dev Summit 2014 – Chrome Case Studies
Chrome Dev Summit 2014 – Chrome Case Studies
Chrome for Developers
4 Web Directions Code 2015 round up
Web Directions Code 2015 round up
Chrome for Developers
5 Maintainable Code - HTTP203
Maintainable Code - HTTP203
Chrome for Developers
6 iron-ajax… wat?! -- Polycasts #26
iron-ajax… wat?! -- Polycasts #26
Chrome for Developers
7 The Guardian - Supercharged
The Guardian - Supercharged
Chrome for Developers
8 ES2015 (next version of JavaScript), Totally Tooling Tips (S2 Ep1)
ES2015 (next version of JavaScript), Totally Tooling Tips (S2 Ep1)
Chrome for Developers
9 #AskPolymer: Rob answers all the questions ever -- Polycasts #27
#AskPolymer: Rob answers all the questions ever -- Polycasts #27
Chrome for Developers
10 The Future of JavaScript - HTTP203
The Future of JavaScript - HTTP203
Chrome for Developers
11 Data Binding 101 -- Polycasts #28
Data Binding 101 -- Polycasts #28
Chrome for Developers
12 The Guardian part 2 - Supercharged
The Guardian part 2 - Supercharged
Chrome for Developers
13 The Future of Web Audio: with Chris Wilson and Chris Lowis
The Future of Web Audio: with Chris Wilson and Chris Lowis
Chrome for Developers
14 Chrome 46: New motion-path animations, client hints and service worker improvements
Chrome 46: New motion-path animations, client hints and service worker improvements
Chrome for Developers
15 Sublime Snippets, Totally Tooling Tips (S2 Ep2)
Sublime Snippets, Totally Tooling Tips (S2 Ep2)
Chrome for Developers
16 #AskPolymer: How do you make the show? -- Polycasts #29
#AskPolymer: How do you make the show? -- Polycasts #29
Chrome for Developers
17 Critical Path CSS, Totally Tooling Tips (S2 Mini Tip #1)
Critical Path CSS, Totally Tooling Tips (S2 Mini Tip #1)
Chrome for Developers
18 Binding to Objects -- Polycasts #30
Binding to Objects -- Polycasts #30
Chrome for Developers
19 Player FM - Supercharged
Player FM - Supercharged
Chrome for Developers
20 Where’s the Designer? #AskPolymer -- Polycasts #31
Where’s the Designer? #AskPolymer -- Polycasts #31
Chrome for Developers
21 Jake Beats Wikipedia - HTTP203
Jake Beats Wikipedia - HTTP203
Chrome for Developers
22 Supercharged Observers! -- Polycasts #32
Supercharged Observers! -- Polycasts #32
Chrome for Developers
23 Jai's Web blog - Supercharged
Jai's Web blog - Supercharged
Chrome for Developers
24 Windows Command-line Tooling, Totally Tooling Tips (S2, Ep4)
Windows Command-line Tooling, Totally Tooling Tips (S2, Ep4)
Chrome for Developers
25 What about internationalization? #AskPolymer -- Polycasts #33
What about internationalization? #AskPolymer -- Polycasts #33
Chrome for Developers
26 Developing for Billions (Chrome Dev Summit 2015)
Developing for Billions (Chrome Dev Summit 2015)
Chrome for Developers
27 Google+ Performance Improvement Comparison
Google+ Performance Improvement Comparison
Chrome for Developers
28 Deploying HTTPS: The Green Lock and Beyond (Chrome Dev Summit 2015)
Deploying HTTPS: The Green Lock and Beyond (Chrome Dev Summit 2015)
Chrome for Developers
29 Progressive Web Apps (Chrome Dev Summit 2015)
Progressive Web Apps (Chrome Dev Summit 2015)
Chrome for Developers
30 Instant Loading with Service Workers (Chrome Dev Summit 2015)
Instant Loading with Service Workers (Chrome Dev Summit 2015)
Chrome for Developers
31 Increase Engagement with Web Push Notifications (Chrome Dev Summit 2015)
Increase Engagement with Web Push Notifications (Chrome Dev Summit 2015)
Chrome for Developers
32 Engaging with the Real World: Web Bluetooth and Physical Web (Chrome Dev Summit 2015)
Engaging with the Real World: Web Bluetooth and Physical Web (Chrome Dev Summit 2015)
Chrome for Developers
33 Asking for Permission: respectful, opinionated UI (Chrome Dev Summit 2015)
Asking for Permission: respectful, opinionated UI (Chrome Dev Summit 2015)
Chrome for Developers
34 Polymer - State of the Union (Chrome Dev Summit 2015)
Polymer - State of the Union (Chrome Dev Summit 2015)
Chrome for Developers
35 Building Progressive Web Apps with Polymer (Chrome Dev Summit 2015)
Building Progressive Web Apps with Polymer (Chrome Dev Summit 2015)
Chrome for Developers
36 Introduction to RAIL (Chrome Dev Summit 2015)
Introduction to RAIL (Chrome Dev Summit 2015)
Chrome for Developers
37 DevTools in 2015: Authoring to the max (Chrome Dev Summit 2015)
DevTools in 2015: Authoring to the max (Chrome Dev Summit 2015)
Chrome for Developers
38 RAIL in the real world (Chrome Dev Summit 2015)
RAIL in the real world (Chrome Dev Summit 2015)
Chrome for Developers
39 #ChromeDevSummit talks are up - W00T! -- Polycast #34
#ChromeDevSummit talks are up - W00T! -- Polycast #34
Chrome for Developers
40 V8 Performance from the Driver's Seat (Chrome Dev Summit 2015)
V8 Performance from the Driver's Seat (Chrome Dev Summit 2015)
Chrome for Developers
41 Quantify and improve real-world RAIL (Chrome Dev Summit 2015)
Quantify and improve real-world RAIL (Chrome Dev Summit 2015)
Chrome for Developers
42 Owning your performance: RAIL (Chrome Dev Summit 2015)
Owning your performance: RAIL (Chrome Dev Summit 2015)
Chrome for Developers
43 HTTP/2 101 (Chrome Dev Summit 2015)
HTTP/2 101 (Chrome Dev Summit 2015)
Chrome for Developers
44 Leadership Panel (Chrome Dev Summit 2015)
Leadership Panel (Chrome Dev Summit 2015)
Chrome for Developers
45 Build Processes, Totally Tooling Tips (S2, Ep 5)
Build Processes, Totally Tooling Tips (S2, Ep 5)
Chrome for Developers
46 Accessibility (Chrome Dev Summit 2015)
Accessibility (Chrome Dev Summit 2015)
Chrome for Developers
47 Binding to Arrays -- Polycasts #35
Binding to Arrays -- Polycasts #35
Chrome for Developers
48 HTTP2 - HTTP203
HTTP2 - HTTP203
Chrome for Developers
49 Chrome 47: Splash Screens, requestIdleCallback and better desktop notifications (New in Chrome)
Chrome 47: Splash Screens, requestIdleCallback and better desktop notifications (New in Chrome)
Chrome for Developers
50 Call For Submissions - Supercharged
Call For Submissions - Supercharged
Chrome for Developers
51 Cross Device Testing, Totally Tooling Tips (S2 Ep6)
Cross Device Testing, Totally Tooling Tips (S2 Ep6)
Chrome for Developers
52 Testing AJAX with Web Component Tester -- Polycasts #37
Testing AJAX with Web Component Tester -- Polycasts #37
Chrome for Developers
53 Slack: Extended Xmas Special - Supercharged
Slack: Extended Xmas Special - Supercharged
Chrome for Developers
54 Browser testing with Travis & Sauce Labs -- Polycasts #38
Browser testing with Travis & Sauce Labs -- Polycasts #38
Chrome for Developers
55 Optimize for production with Vulcanize -- Polycasts #39
Optimize for production with Vulcanize -- Polycasts #39
Chrome for Developers
56 Highlights from Chrome Dev Summit 2015
Highlights from Chrome Dev Summit 2015
Chrome for Developers
57 Chrome 48: Custom buttons in notifications, DevTools Security panel, and Presentation mode
Chrome 48: Custom buttons in notifications, DevTools Security panel, and Presentation mode
Chrome for Developers
58 Crisper: Protecting your Polymer app with CSP -- Polycasts #40
Crisper: Protecting your Polymer app with CSP -- Polycasts #40
Chrome for Developers
59 How do I use Sass with Polymer? #AskPolymer -- Polycasts #41
How do I use Sass with Polymer? #AskPolymer -- Polycasts #41
Chrome for Developers
60 Colors – DevTools Tonight #0 (Pilot)
Colors – DevTools Tonight #0 (Pilot)
Chrome for Developers

The video introduces the Blink rendering engine, its role in Chrome, and how it works with JavaScript, WebIDL, and other components. It also covers the difference between Chromium and Chrome, and how Blink is used in various browsers.

Key Takeaways
  1. Learn about the Blink rendering engine and its components
  2. Understand how Blink works with JavaScript and WebIDL
  3. Familiarize yourself with the difference between Chromium and Chrome
  4. Explore how Blink is used in various browsers
💡 Blink is a crucial component of Chrome, responsible for rendering web pages and executing JavaScript code, and its development and maintenance are essential for ensuring a smooth and secure browsing experience.

Related Reads

📰
10 Jobs That Are Safe Because Robots Cost Too Much
Discover 10 jobs that are currently safe from automation due to high robot costs, but may not remain so forever
Forbes Innovation
📰
Five Signals From the Frontier of AI Research
Explore the latest AI research signals from Frontier Labs, advancing real-world AI applications
Medium · AI
📰
AI Giants Are Handing Out Tons of Free Computing Power to Grab
Learn how AI giants are offering free computing power to startups and how to leverage this opportunity for your business, understanding the strategic motivations behind it.
Dev.to AI
📰
The Great AI Chip Recalibration: Why Record Profits and Massive Investments Aren't Calming Markets
Learn why AI chip stocks are experiencing a selloff despite record profits and massive investments, and what this means for the future of AI technology
Dev.to AI

Chapters (8)

Introduction
0:17 What is a rendering engine?
0:40 What work does Blink have to do?
1:42 Rendering and Skia
3:07 What is V8?
4:53 WebIDL
6:34 What's the difference between Chromium and Chrome?
7:36 WebKit, Blink and Gecko
Up next
Anthropic's Sonnet 5 is quiet AI shrinkflation #AInews #Claude #Anthropic #Sonnet5 #LLM #AItools
__beginnerscode__
Watch →