SlideShare una empresa de Scribd logo
1 de 62
Descargar para leer sin conexión
WebKit and Blink: Open Development
Powering the HTML5 Revolution
Juan J. Sánchez
LinuxCon 2013, New Orleans
Myself, Igalia and WebKit

Co-founder, member of the WebKit/Blink/Browsers team
Igalia is an open source consultancy founded in 2001
Igalia is Top 5 contributor to upstream WebKit/Blink
Working with many industry actors: tablets, phones, smart
tv, set-top boxes, IVI and home automation.

WebKit and Blink

Juan J. Sánchez
Outline

The WebKit technology: goals, features, architecture, code
structure, ports, webkit2, ongoing work
The WebKit community: contributors, committers,
reviewers, tools, events
Contributing to WebKit: bugfixing, features, new ports
Blink: history, motivations for the fork, differences, status
and impact in the WebKit community

WebKit and Blink

Juan J. Sánchez
WebKit: the technology

WebKit and Blink

Juan J. Sánchez
The WebKit project

Web rendering engine (HTML, JavaScript, CSS...)
The engine is the product
Started as a fork of KHTML and KJS in 2001
Open Source since 2005
Among other things, it’s useful for:
Web browsers
Using web technologies for UI development

WebKit and Blink

Juan J. Sánchez
Goals of the project
Web Content Engine: HTML, CSS, JavaScript, DOM
Open Source: BSD-style and LGPL licenses
Compatibility: regression testing
Standards Compliance
Stability
Performance
Security
Portability: desktop, mobile, embedded...
Usability
Hackability
WebKit and Blink

Juan J. Sánchez
Goals of the project

NON-goals:
“It’s an engine, not a browser”
“It’s an engineering project not a science project”
“It’s not a bundle of maximally general and reusable code”
“It’s not the solution to every problem”
http://www.webkit.org/projects/goals.html

WebKit and Blink

Juan J. Sánchez
WebKit features
HTML and XML support
JavaScript support (ECMAScript 5.1)
CSS 2.1, CSS 3 support
SVG support
Support for Plugins (NPAPI, WebKit Plugins)
HTML5 support: multimedia, 3D graphics, advanced CSS
animations and transformations, drag’n’drop, offline &
local storage, connectivity...
Accessibility support
Q&A infrastructure: review process, continuous
integration, 30.000 regression tests, API tests...
Passing ACID3 with 100/100 tests since March 2008
WebKit and Blink

Juan J. Sánchez
WebKit Architecture
From a simplified point of view, WebKit is structured this way:
WebKit: thin layer to link against
from the applications
WebCore: rendering, layout,
network access, multimedia,
accessibility support...
JS Engine: the JavaScript engine.
JavaScriptCore by default, but can
be replaced (e.g. V8 in Chromium)
platform: platform-specific hooks to
implement generic algorithms

WebKit and Blink

Juan J. Sánchez
What is a WebKit port?

WebKit and Blink

Juan J. Sánchez
How many WebKit ports are there?

WebKit is available for different platforms:
Main upstream ports during the past 2 years:
Mac OS X, iOS
GTK+ based platforms (GNOME)
Qt based platforms (KDE)
Enlightenment Foundation Libraries (EFL, Tizen)
Google Chromium / Chrome
New proposal: WebKitNIX

Other ports: wxWidgets, Brew MP, Symbian devices (S60),
Win32, BlackBerry, Adobe Integrated Runtime (Adobe
AIR)

WebKit and Blink

Juan J. Sánchez
Some WebKit based browsers
Amazon Kindle

PS3 web browser

Arora

RockMelt

BOLT browser

Safari

Epiphany browser

SRWare Iron

Google Chrome

Shiira

iCab (version >= 4)

Sputnik for MorphOS

Iris Browser

Stainless

Konqueror

Steel for Android

Midori

TeaShark

Nintendo 3DS

Uzbl

OWB

Web Browser for S60 (Nokia)

OmniWeb

WebOS Browser
WebKit and Blink

Juan J. Sánchez
Architecture of a WebKit port

WebKit and Blink

Juan J. Sánchez
Architecture of a WebKit port

WebKit and Blink

Juan J. Sánchez
How do we use a WebKit port?
The WebView widget:
A platform-specific widget that renders web content.
It’s the main component and it’s useful for:
Loading URIs or data buffers pointing to HTML content
Go fullscreen, text/text+image zooming...
Navigate back and forward through history...

Events handling:
Allows embedders to get notified when something
important happens or when some input is needed.
Some examples of these events:
Getting notified when a load finished or failed
Asking permission for navigating to an URI
Requesting authorization for something..

WebKit and Blink

Juan J. Sánchez
A minibrowser written in Python
#!/usr/bin/env python
# -*- coding: utf-8 -*import gtk
import webkit
def entry_activated_cb(entry, embed):
embed.load_uri(entry.get_text())
# Widgets and signals
window = gtk.Window()
window.set_default_size(800, 600)
window.set_title("Mini browser written in Python")
embed = webkit.WebView(); # WebKit embed
entry = gtk.Entry()
entry.connect(’activate’, entry_activated_cb, embed)
scroller = gtk.ScrolledWindow()
scroller.add(embed)
# Pack everything up and show
vbox = gtk.VBox(False, 5)
vbox.pack_start(entry, False, False)
vbox.pack_start(scroller)
window.add(vbox)
window.show_all()
# Load a default URI and run
embed.load_uri("http://www.webkit.org")
gtk.main()

WebKit and Blink

Juan J. Sánchez
A minibrowser written in Python

WebKit and Blink

Juan J. Sánchez
A minibrowser written in C
#include <webkit/webkit.h>
static void entry_activated (GtkEntry *entry, WebKitWebView *embed)
{
webkit_web_view_load_uri (embed, gtk_entry_get_text (entry));
}
int main (int argc, char** argv)
{
gtk_init (&argc, &argv);
/* Widgets and signals */
GtkWidget *window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_default_size (GTK_WINDOW (window), 800, 600);
gtk_window_set_title (GTK_WINDOW (window), "Mini browser written in C");
GtkWidget *embed = webkit_web_view_new();
GtkWidget *entry = gtk_entry_new();
g_signal_connect (entry, "activate", G_CALLBACK (entry_activated), embed);
GtkWidget *scroller = gtk_scrolled_window_new(NULL, NULL);
gtk_container_add (GTK_CONTAINER(scroller), embed);
/* Pack everything and show */
GtkWidget *vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_box_pack_start (GTK_BOX(vbox), entry, FALSE, FALSE, 0);
gtk_box_pack_start (GTK_BOX(vbox), scroller, TRUE, TRUE, 0);
gtk_container_add (GTK_CONTAINER(window), vbox);
gtk_widget_show_all (window);
/* Load a default URI and run */
webkit_web_view_load_uri (WEBKIT_WEB_VIEW (embed), "http://www.webkit.org");
gtk_main();
return 0;
}
WebKit and Blink

Juan J. Sánchez
A minibrowser written in C

WebKit and Blink

Juan J. Sánchez
What is WebKit2?
New API layer designed to support a split process model
(First release by Apple on April 8th, 20101 ).
Different to Chromium’s multi-process implementation
It’s bundled in the framework (reusable)
Different processes take care of different tasks:
UI process: the WebView widget, application UI
Web process: loading, parsing, rendering, layout...
Plugin process: each plugin type in a process

It comes with Inter-Process Communication (IPC)
mechanisms to communicate those processes bundled-in
http://trac.webkit.org/wiki/WebKit2

WebKit and Blink

Juan J. Sánchez
WebKit VS WebKit2

WebKit and Blink

Juan J. Sánchez
WebKit2 vs WebKit1

Pros:
Isolation
Security
Performance
Stability

WebKit and Blink

Juan J. Sánchez
WebKit2 vs WebKit1

Cons:
Higher resource requirements
Multiple processes instead of just one
At the same time easier to release resources

Complexity
Coding
Debugging

WebKit1 and WebKit2 maintenance

WebKit and Blink

Juan J. Sánchez
WebKit2 VS Chromium

WebKit and Blink

Juan J. Sánchez
WebKit2: current status

Apple, Qt and GTK+ already released WebKit2 browsers
WebKit1 moving to maintenance mode for most ports
Cross-platform and non-blocking C API available
Most challenges of the split process model solved
Lots of new architectural changes about to come

WebKit and Blink

Juan J. Sánchez
The Source Code in numbers
According to Ohloh on 2013 Sep 10th, lines of code per
language, without considering blank lines nor comments:
Language
HTML
C++
JavaScript
XML
Objective-C
C
PHP
CSS
Python
Perl
OpenGL Shad
Other (18)
Total

LoC
1,707,944
1,355,784
886,308
163,012
119,890
105,259
97,627
90,581
76,040
75,988
26,234
50,000
4,754,103

%
30.3 %
31.0 %
20.5 %
2.8 %
2.6 %
2.9 %
2.4 %
1.7 %
2.0 %
1.9 %
1.0 %
0.9 %

https://www.ohloh.net/p/WebKit/analyses

Just considering C++, Objective-C and C files,
we have almost 1.6M LoC!
WebKit and Blink

Juan J. Sánchez
The Source Code in numbers
According to Ohloh on 2013 September 10th, files per license:

License
BSD License
GNU LGPL
MPL
Other (9)
Total

Files
4427
3568
607
63
8665

%
51.09 %
41.18 %
7.01 %
0.73 %

https://www.ohloh.net/p/WebKit/analyses

New WebKit code will always be under the terms of either the
LGPL 2.1+ or the BSD license. Never GPL or LGPL 3.

WebKit and Blink

Juan J. Sánchez
High Level source code overview
Source/: the code needed to build WebKit. That is,
WebCore, JavaScriptCore, WebKit and WebKit2
LayoutTests/: layout tests reside here (More than 30000!).
They test the correctness of WebKit features
ManualTests/: specific cases not covered by automatic
testing
PerformanceTests/: measure run-time performance and
memory usage
See perf.webkit.org for results
Tools/: tools and utilities for WebKit development.
Small test applications, tools for testing, helper scripts...
Websites/: code and pages for WebKit related sites
WebKit and Blink

Juan J. Sánchez
Tracking ongoing work in WebKit

Webkit is a big beast and a lot of organizations with
different agendas are working in different parts:
Implementing new standards (like the CSS shaders from
Adobe, or CSS3 GCPM from Apple)
Improvements in architecture, performance and internal
code (WebKit2)

On top of this there is the maintenance work (testing,
continuous integration, bugfixing)
No single centralized place to follow all the information:
blogs, mailing lists, IRC, etc.

WebKit and Blink

Juan J. Sánchez
WebKit: The community

WebKit and Blink

Juan J. Sánchez
A bit of history

Source: http://ariya.ofilabs.com/2011/11/
one-hundred-thousand-and-counting.html

WebKit and Blink

Juan J. Sánchez
The WebKit Project in numbers

Commits per month till 2013:

WebKit and Blink

Juan J. Sánchez
The WebKit Project in numbers
Contributors per month::

WebKit and Blink

Juan J. Sánchez
The WebKit Project in numbers

Evolution in the number of lines of code

WebKit and Blink

Juan J. Sánchez
Activity of Companies

Based on Bitergia’s report2
Based on reviewed commits
“Gardening” commits filtered out
From the beginning of the project till beginning of 2013

2

http://blog.bitergia.com/2013/02/06/
report-on-the-activity-of-companies-in-the-webkit-project/
WebKit and Blink

Juan J. Sánchez
Activity of Companies

Figura: Commits per company (monthly)

WebKit and Blink

Juan J. Sánchez
Activity of Companies

Figura: Active authors per company (monthly)

WebKit and Blink

Juan J. Sánchez
Activity of Companies

Figura: Commits per company

WebKit and Blink

Juan J. Sánchez
Activity of Companies

Figura: Active authors per company

WebKit and Blink

Juan J. Sánchez
Activity of Companies

Some conclusions from the authors:
Google and Apple leading the project
The diversity of the project has been increasing
Contributions from other parties >25 % and growing
> 20 companies actively contributing to WebKit
1500-2000 commits per month
387 committers from 29 different institutions

WebKit and Blink

Juan J. Sánchez
Committers and Reviewers
WebKit Committer
A WebKit Committer should be a person we can trust to follow and
understand the project policies about checkins and other matters.
Has commit rights to the public SVN repository.

WebKit Reviewer
A WebKit Reviewer should be a person who has shown particularly
good judgment, understanding of project policies, collaboration skills,
and understanding of the code.
A WebKit Committer who can review other’s patches.

WebKit and Blink

Juan J. Sánchez
Copyright for contributions

There is no copyright transfer for the contributions
Committers sign some papers where they commit to good
behaviour

WebKit and Blink

Juan J. Sánchez
Releases

There are no releases of WebKit itself
Each port manages the release cycle, typically aligned with
the target platform schedule

WebKit and Blink

Juan J. Sánchez
Coordination and communication tools
Website: http://www.webkit.org/
Port specific Websites (e.g. http://webkitgtk.org/)
Wiki: http://trac.webkit.org/wiki
Blogs: http://planet.webkit.org/
Source Code:
SVN: http://svn.webkit.org/repository/webkit
Git mirror: git://git.webkit.org/WebKit.git

Bugzilla: https://bugs.webkit.org/
Buildbots: http://build.webkit.org/
Mailing lists: http://lists.webkit.org/mailman/listinfo.cgi
IRC (irc.freenode.net): #webkit and #webkitgtk+
WebKit and Blink

Juan J. Sánchez
The WebKit Contributors Meeting

Meeting for contributors to the WebKit project
Organized in an “unconference”-like format
Extremely useful to advance on some topics:
Implementation of new APIs, WebKit2, accelerated
compositing, helper tools, QA infrastructure...
Yearly held in Cupertino, California. Hosted by Apple

WebKit and Blink

Juan J. Sánchez
How to contribute

WebKit and Blink

Juan J. Sánchez
Types of contributions

Bugfixing and new features in:
An existent port
The core components: webcore and JSC/V8

Creation and maintenance of a new port

WebKit and Blink

Juan J. Sánchez
Guidelines for contributing patches to WebKit
1

Get and build the code from the SVN repository

2

Choose or create a bug report to work on

3

Code your changes and make sure you include new
regression or unit tests if needed

4

Create a patch for your changes and submit it asking for
review over it to appropriate reviewers

5

Update and change your patch as many times as needed

6

Once approved, land your patch or ask a
committer/reviewer to do it

7

Watch for any regressions it might have caused

WebKit and Blink

Juan J. Sánchez
Creating a port: what needs to be done
High level API (WebKit1 and WebKit2)
Low level backend specific implementation
Web Template Framework (WTF): memory management,
threading, data structures (vectors, hash tables, bloom
filters, ...) numerical support, etc.
JSC vs V8
Networking: HTTP, DNS, cookies, etc.
Graphics: 2D/3D rendering, compositing, theming, fonts
Multimedia: media player for audio and video tags
DOM bindings
Accessibility
Smaller tasks: clipboard, popup and context menus,
cursors, etc.

Other things: favicons, plugins, downloads, geolocation,
settings, navigation policies, etc.
WebKit and Blink

Juan J. Sánchez
Creating a port: the social side

Difficult without full-time reviewers
Reuse from other ports as much as possible
Try to work upstream from the very beginning
The risk of forking is big, the project moves fast
Focus on testing and continuous integration
Port-specific events and communication tools

WebKit and Blink

Juan J. Sánchez
Present and future

WebKit and Blink

Juan J. Sánchez
Google’s Departure. Blink

Google announced on April 3rd that they would be
forking WebKit and creating Blink
Motivations according to Google:
They were not using WebKit2 anyway
Easier to do ambitious architectural changes after the fork
Simplification of the codebase in Blink

Tension between Apple and Google before the fork
Architectural decisions: NetworkProcess
Code governance: Owners

Big shock within the WebKit community

WebKit and Blink

Juan J. Sánchez
Differences between WebKit and Blink

Removes the concept of ’port’ as it was defined in WebKit
(deep platform integration): Skia, V8 and other libraries
cannot be replaced
Still possible to use Blink in other platforms, but now
integration happens at Content level
Only the rendering engine. Multi-process architecture is
still in Chromium
Peer review process (committers, reviewers, owners) more
flexible in Blink
Many architecture changes are started to be implemented

WebKit and Blink

Juan J. Sánchez
Consequences of Blink for WebKit

Google was the main contributor by # of commits
Opera joined WebKit then moved to Blink. Other
companies and communities thinking what to do.
Apple’s position more dominant. Likely to relax Owners
policy
Several WebCore modules left orphan. Other hackers
assuming WebCore modules maintainership
WebKit developers porting patches from/to Blink
Many hacks to accomodate Chromium removed. Engines
likely start to diverge at faster pace

WebKit and Blink

Juan J. Sánchez
Impact of Blink in numbers

Commits per month in WebKit, including last months:

WebKit and Blink

Juan J. Sánchez
Impact of Blink in numbers
Contributors per month in WebKit, including last months::

WebKit and Blink

Juan J. Sánchez
Impact of Blink in numbers

Contributors per month in 2013::

WebKit:

Blink:

WebKit and Blink

Juan J. Sánchez
Impact of Blink in numbers
Commits per month in 2013, Blink::

Commits per month in 2013, WebKit::

WebKit and Blink

Juan J. Sánchez
The Blink community is consolidating

Dynamics of the community still being consolidated
Opera already actively contributing and using Blink
Qt recently announced that they are moving to Blink
In a few weeks/months we will know how everything
settles down
BlinkOn event, end of September at Google’s office in San
Francisco

WebKit and Blink

Juan J. Sánchez
Open questions about Blink for WebKit

How open the dynamics of each community will be?
Which project will innovate faster and keep higher quality
and performance standards?
Which option will upstream ports be based on?
Which option will companies developing platforms and
solutions use?

WebKit and Blink

Juan J. Sánchez
Conclusions
WebKit is an Open Source web engine powering lots of
applications (not only browsers!) out there
The only true Open Source alternative for embedders for
many years. Clearly defined and modular architecture.
Port friendly. Complex and fast moving project
Developed by a community of organizations and
individuals with different interests, collaborating together.
Lots of contributors. Appropriate policies in place to
handle permissions and responsibilities in the project
The recent announcement of Blink is changing the WebKit
community a lot and it is still to be seen how the situation
in terms of open source dynamics and project health and
quality will be in a few months.
WebKit and Blink

Juan J. Sánchez
Thank you!
Juan J. Sánchez
jjsanchez@igalia.com

WebKit and Blink

Juan J. Sánchez

Más contenido relacionado

La actualidad más candente

Deview 2013 mobile browser internals and trends_20131022
Deview 2013 mobile browser internals and trends_20131022Deview 2013 mobile browser internals and trends_20131022
Deview 2013 mobile browser internals and trends_20131022NAVER D2
 
OVERVIEW: Chromium Source Tree
OVERVIEW: Chromium Source TreeOVERVIEW: Chromium Source Tree
OVERVIEW: Chromium Source TreeChang W. Doh
 
Browsers on Android (Webkit,chromium)
Browsers on Android (Webkit,chromium)Browsers on Android (Webkit,chromium)
Browsers on Android (Webkit,chromium)Bin Chen
 
Chromium ui framework(shared)
Chromium ui framework(shared)Chromium ui framework(shared)
Chromium ui framework(shared)gnomekr
 
Android chromium web view
Android chromium web viewAndroid chromium web view
Android chromium web view朋 王
 
Hardware Acceleration in WebKit
Hardware Acceleration in WebKitHardware Acceleration in WebKit
Hardware Acceleration in WebKitJoone Hur
 
LCU14 208- Chromium-Blink Migration for RDK
LCU14 208- Chromium-Blink Migration for RDKLCU14 208- Chromium-Blink Migration for RDK
LCU14 208- Chromium-Blink Migration for RDKLinaro
 
Chrome Internals: Paint and Composition
Chrome Internals: Paint and CompositionChrome Internals: Paint and Composition
Chrome Internals: Paint and CompositionDzmitry Varabei
 
Bootstrap Jump Start
Bootstrap Jump StartBootstrap Jump Start
Bootstrap Jump StartHaim Michael
 
Web Components the best marriage for a PWA
Web Components the best marriage for a PWAWeb Components the best marriage for a PWA
Web Components the best marriage for a PWAManuel Carrasco Moñino
 
BP206 It's Not Herculean: 12 Tasks Made Easier with IBM Domino XPages
BP206 It's Not Herculean: 12 Tasks Made Easier with IBM Domino XPagesBP206 It's Not Herculean: 12 Tasks Made Easier with IBM Domino XPages
BP206 It's Not Herculean: 12 Tasks Made Easier with IBM Domino XPagesPaul Withers
 
Rp 6 session 2 naresh bhatia
Rp 6  session 2 naresh bhatiaRp 6  session 2 naresh bhatia
Rp 6 session 2 naresh bhatiasapientindia
 
Understanding Webkit Rendering
Understanding Webkit RenderingUnderstanding Webkit Rendering
Understanding Webkit RenderingAriya Hidayat
 
Migrating a Large AEM Project to Touch UI
Migrating a Large AEM Project to Touch UIMigrating a Large AEM Project to Touch UI
Migrating a Large AEM Project to Touch UIGregor Zurowski
 
The WebKit project (LinuxCon North America 2012)
The WebKit project (LinuxCon North America 2012)The WebKit project (LinuxCon North America 2012)
The WebKit project (LinuxCon North America 2012)Igalia
 

La actualidad más candente (19)

Deview 2013 mobile browser internals and trends_20131022
Deview 2013 mobile browser internals and trends_20131022Deview 2013 mobile browser internals and trends_20131022
Deview 2013 mobile browser internals and trends_20131022
 
OVERVIEW: Chromium Source Tree
OVERVIEW: Chromium Source TreeOVERVIEW: Chromium Source Tree
OVERVIEW: Chromium Source Tree
 
Browsers on Android (Webkit,chromium)
Browsers on Android (Webkit,chromium)Browsers on Android (Webkit,chromium)
Browsers on Android (Webkit,chromium)
 
Chromium ui framework(shared)
Chromium ui framework(shared)Chromium ui framework(shared)
Chromium ui framework(shared)
 
Android chromium web view
Android chromium web viewAndroid chromium web view
Android chromium web view
 
Hardware Acceleration in WebKit
Hardware Acceleration in WebKitHardware Acceleration in WebKit
Hardware Acceleration in WebKit
 
Rendering engine
Rendering engineRendering engine
Rendering engine
 
LCU14 208- Chromium-Blink Migration for RDK
LCU14 208- Chromium-Blink Migration for RDKLCU14 208- Chromium-Blink Migration for RDK
LCU14 208- Chromium-Blink Migration for RDK
 
Chrome Internals: Paint and Composition
Chrome Internals: Paint and CompositionChrome Internals: Paint and Composition
Chrome Internals: Paint and Composition
 
How Browser Works?
How Browser Works?How Browser Works?
How Browser Works?
 
Bootstrap Jump Start
Bootstrap Jump StartBootstrap Jump Start
Bootstrap Jump Start
 
Web Components the best marriage for a PWA
Web Components the best marriage for a PWAWeb Components the best marriage for a PWA
Web Components the best marriage for a PWA
 
Gwt 2,3 Deep dive
Gwt 2,3 Deep diveGwt 2,3 Deep dive
Gwt 2,3 Deep dive
 
BP206 It's Not Herculean: 12 Tasks Made Easier with IBM Domino XPages
BP206 It's Not Herculean: 12 Tasks Made Easier with IBM Domino XPagesBP206 It's Not Herculean: 12 Tasks Made Easier with IBM Domino XPages
BP206 It's Not Herculean: 12 Tasks Made Easier with IBM Domino XPages
 
Rp 6 session 2 naresh bhatia
Rp 6  session 2 naresh bhatiaRp 6  session 2 naresh bhatia
Rp 6 session 2 naresh bhatia
 
Understanding Webkit Rendering
Understanding Webkit RenderingUnderstanding Webkit Rendering
Understanding Webkit Rendering
 
Transforming the web into a real application platform
Transforming the web into a real application platformTransforming the web into a real application platform
Transforming the web into a real application platform
 
Migrating a Large AEM Project to Touch UI
Migrating a Large AEM Project to Touch UIMigrating a Large AEM Project to Touch UI
Migrating a Large AEM Project to Touch UI
 
The WebKit project (LinuxCon North America 2012)
The WebKit project (LinuxCon North America 2012)The WebKit project (LinuxCon North America 2012)
The WebKit project (LinuxCon North America 2012)
 

Destacado

A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...Igalia
 
Chromium on Wayland Desktop (BlinkOn 7)
Chromium on Wayland Desktop (BlinkOn 7)Chromium on Wayland Desktop (BlinkOn 7)
Chromium on Wayland Desktop (BlinkOn 7)Igalia
 
Chrom works introduction
Chrom works   introductionChrom works   introduction
Chrom works introductionSoo Kim
 
Compiling and Optimizing Your Own Browser with WebKit
Compiling and Optimizing Your Own Browser with WebKitCompiling and Optimizing Your Own Browser with WebKit
Compiling and Optimizing Your Own Browser with WebKitSencha
 
Maximize The Performance of HTML5 Video in RPI2 (Embedded Linux Conference 2016)
Maximize The Performance of HTML5 Video in RPI2 (Embedded Linux Conference 2016)Maximize The Performance of HTML5 Video in RPI2 (Embedded Linux Conference 2016)
Maximize The Performance of HTML5 Video in RPI2 (Embedded Linux Conference 2016)Igalia
 
Web browser architecture
Web browser architectureWeb browser architecture
Web browser architectureNguyen Quang
 
Architecture of the Web browser
Architecture of the Web browserArchitecture of the Web browser
Architecture of the Web browserSabin Buraga
 
Introduction to Web Architecture
Introduction to Web ArchitectureIntroduction to Web Architecture
Introduction to Web ArchitectureChamnap Chhorn
 

Destacado (10)

A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
 
Chromium on Wayland Desktop (BlinkOn 7)
Chromium on Wayland Desktop (BlinkOn 7)Chromium on Wayland Desktop (BlinkOn 7)
Chromium on Wayland Desktop (BlinkOn 7)
 
Chrom works introduction
Chrom works   introductionChrom works   introduction
Chrom works introduction
 
Compiling and Optimizing Your Own Browser with WebKit
Compiling and Optimizing Your Own Browser with WebKitCompiling and Optimizing Your Own Browser with WebKit
Compiling and Optimizing Your Own Browser with WebKit
 
Maximize The Performance of HTML5 Video in RPI2 (Embedded Linux Conference 2016)
Maximize The Performance of HTML5 Video in RPI2 (Embedded Linux Conference 2016)Maximize The Performance of HTML5 Video in RPI2 (Embedded Linux Conference 2016)
Maximize The Performance of HTML5 Video in RPI2 (Embedded Linux Conference 2016)
 
Chromium vs. Firefox
Chromium vs. FirefoxChromium vs. Firefox
Chromium vs. Firefox
 
How browser work
How browser workHow browser work
How browser work
 
Web browser architecture
Web browser architectureWeb browser architecture
Web browser architecture
 
Architecture of the Web browser
Architecture of the Web browserArchitecture of the Web browser
Architecture of the Web browser
 
Introduction to Web Architecture
Introduction to Web ArchitectureIntroduction to Web Architecture
Introduction to Web Architecture
 

Similar a WebKit and Blink: Open Development Powering the HTML5 Revolution (LinuxCon North America 2013)

WebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 Revolutio...
WebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 Revolutio...WebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 Revolutio...
WebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 Revolutio...Igalia
 
Building a browser for automotive. alternatives, challenges and recommendatio...
Building a browser for automotive. alternatives, challenges and recommendatio...Building a browser for automotive. alternatives, challenges and recommendatio...
Building a browser for automotive. alternatives, challenges and recommendatio...Igalia
 
Building a Browser for Automotive: Alternatives, Challenges and Recommendations
Building a Browser for Automotive: Alternatives, Challenges and RecommendationsBuilding a Browser for Automotive: Alternatives, Challenges and Recommendations
Building a Browser for Automotive: Alternatives, Challenges and Recommendationsjuanjosanchezpenas
 
Add the power of the Web to your embedded devices with WPE WebKit
Add the power of the Web to your embedded devices with WPE WebKitAdd the power of the Web to your embedded devices with WPE WebKit
Add the power of the Web to your embedded devices with WPE WebKitIgalia
 
Browsers and Web Runtimes for Automotive: Alternatives, Challenges, and Curre...
Browsers and Web Runtimes for Automotive: Alternatives, Challenges, and Curre...Browsers and Web Runtimes for Automotive: Alternatives, Challenges, and Curre...
Browsers and Web Runtimes for Automotive: Alternatives, Challenges, and Curre...Igalia
 
Enabling an Accessible Web 2.0
Enabling an Accessible Web 2.0Enabling an Accessible Web 2.0
Enabling an Accessible Web 2.0bgibson
 
DIY: Computer Vision with GWT.
DIY: Computer Vision with GWT.DIY: Computer Vision with GWT.
DIY: Computer Vision with GWT.JooinK
 
DIY- computer vision with GWT
DIY- computer vision with GWTDIY- computer vision with GWT
DIY- computer vision with GWTFrancesca Tosi
 
The Web, After HTML5
The Web, After HTML5The Web, After HTML5
The Web, After HTML5Jonathan Jeon
 
Widgets - the Wookie project
Widgets - the Wookie projectWidgets - the Wookie project
Widgets - the Wookie projectscottw
 
Next Generation Hybrid Applications with Qt - presentation for SEE 2009
Next Generation Hybrid Applications with Qt - presentation for SEE 2009Next Generation Hybrid Applications with Qt - presentation for SEE 2009
Next Generation Hybrid Applications with Qt - presentation for SEE 2009Nokia
 
Surfing on an Interactive Kiosk
Surfing on an Interactive KioskSurfing on an Interactive Kiosk
Surfing on an Interactive KioskLeon Anavi
 
Igalia and WebKit: Status update and plans
Igalia and WebKit: Status update and plansIgalia and WebKit: Status update and plans
Igalia and WebKit: Status update and plansIgalia
 
Qt Technical Presentation
Qt Technical PresentationQt Technical Presentation
Qt Technical PresentationDaniel Rocha
 
Swift at IBM: Mobile, open source and the drive to the cloud
Swift at IBM: Mobile, open source and the drive to the cloudSwift at IBM: Mobile, open source and the drive to the cloud
Swift at IBM: Mobile, open source and the drive to the cloudDev_Events
 
Flux Security & Scalability using VS Code GitOps Extension
Flux Security & Scalability using VS Code GitOps Extension Flux Security & Scalability using VS Code GitOps Extension
Flux Security & Scalability using VS Code GitOps Extension Weaveworks
 
The internet of things in now , see how golang is a part of this evolution
The internet of things in now , see how golang is a part of this evolutionThe internet of things in now , see how golang is a part of this evolution
The internet of things in now , see how golang is a part of this evolutionYoni Davidson
 
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...OpenWhisk
 
WebKit2 And You (GUADEC 2013)
WebKit2 And You (GUADEC 2013)WebKit2 And You (GUADEC 2013)
WebKit2 And You (GUADEC 2013)Igalia
 

Similar a WebKit and Blink: Open Development Powering the HTML5 Revolution (LinuxCon North America 2013) (20)

WebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 Revolutio...
WebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 Revolutio...WebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 Revolutio...
WebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 Revolutio...
 
Building a browser for automotive. alternatives, challenges and recommendatio...
Building a browser for automotive. alternatives, challenges and recommendatio...Building a browser for automotive. alternatives, challenges and recommendatio...
Building a browser for automotive. alternatives, challenges and recommendatio...
 
Building a Browser for Automotive: Alternatives, Challenges and Recommendations
Building a Browser for Automotive: Alternatives, Challenges and RecommendationsBuilding a Browser for Automotive: Alternatives, Challenges and Recommendations
Building a Browser for Automotive: Alternatives, Challenges and Recommendations
 
Add the power of the Web to your embedded devices with WPE WebKit
Add the power of the Web to your embedded devices with WPE WebKitAdd the power of the Web to your embedded devices with WPE WebKit
Add the power of the Web to your embedded devices with WPE WebKit
 
Browsers and Web Runtimes for Automotive: Alternatives, Challenges, and Curre...
Browsers and Web Runtimes for Automotive: Alternatives, Challenges, and Curre...Browsers and Web Runtimes for Automotive: Alternatives, Challenges, and Curre...
Browsers and Web Runtimes for Automotive: Alternatives, Challenges, and Curre...
 
Enabling an Accessible Web 2.0
Enabling an Accessible Web 2.0Enabling an Accessible Web 2.0
Enabling an Accessible Web 2.0
 
DIY: Computer Vision with GWT.
DIY: Computer Vision with GWT.DIY: Computer Vision with GWT.
DIY: Computer Vision with GWT.
 
DIY- computer vision with GWT
DIY- computer vision with GWTDIY- computer vision with GWT
DIY- computer vision with GWT
 
The Web, After HTML5
The Web, After HTML5The Web, After HTML5
The Web, After HTML5
 
Widgets - the Wookie project
Widgets - the Wookie projectWidgets - the Wookie project
Widgets - the Wookie project
 
Next Generation Hybrid Applications with Qt - presentation for SEE 2009
Next Generation Hybrid Applications with Qt - presentation for SEE 2009Next Generation Hybrid Applications with Qt - presentation for SEE 2009
Next Generation Hybrid Applications with Qt - presentation for SEE 2009
 
Surfing on an Interactive Kiosk
Surfing on an Interactive KioskSurfing on an Interactive Kiosk
Surfing on an Interactive Kiosk
 
Igalia and WebKit: Status update and plans
Igalia and WebKit: Status update and plansIgalia and WebKit: Status update and plans
Igalia and WebKit: Status update and plans
 
Qt Technical Presentation
Qt Technical PresentationQt Technical Presentation
Qt Technical Presentation
 
Swift at IBM: Mobile, open source and the drive to the cloud
Swift at IBM: Mobile, open source and the drive to the cloudSwift at IBM: Mobile, open source and the drive to the cloud
Swift at IBM: Mobile, open source and the drive to the cloud
 
Flux Security & Scalability using VS Code GitOps Extension
Flux Security & Scalability using VS Code GitOps Extension Flux Security & Scalability using VS Code GitOps Extension
Flux Security & Scalability using VS Code GitOps Extension
 
The internet of things in now , see how golang is a part of this evolution
The internet of things in now , see how golang is a part of this evolutionThe internet of things in now , see how golang is a part of this evolution
The internet of things in now , see how golang is a part of this evolution
 
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...
 
Guides To Analyzing WebKit Performance
Guides To Analyzing WebKit PerformanceGuides To Analyzing WebKit Performance
Guides To Analyzing WebKit Performance
 
WebKit2 And You (GUADEC 2013)
WebKit2 And You (GUADEC 2013)WebKit2 And You (GUADEC 2013)
WebKit2 And You (GUADEC 2013)
 

Más de Igalia

A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Building End-user Applications on Embedded Devices with WPE
Building End-user Applications on Embedded Devices with WPEBuilding End-user Applications on Embedded Devices with WPE
Building End-user Applications on Embedded Devices with WPEIgalia
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Automated Testing for Web-based Systems on Embedded Devices
Automated Testing for Web-based Systems on Embedded DevicesAutomated Testing for Web-based Systems on Embedded Devices
Automated Testing for Web-based Systems on Embedded DevicesIgalia
 
Embedding WPE WebKit - from Bring-up to Maintenance
Embedding WPE WebKit - from Bring-up to MaintenanceEmbedding WPE WebKit - from Bring-up to Maintenance
Embedding WPE WebKit - from Bring-up to MaintenanceIgalia
 
Optimizing Scheduler for Linux Gaming.pdf
Optimizing Scheduler for Linux Gaming.pdfOptimizing Scheduler for Linux Gaming.pdf
Optimizing Scheduler for Linux Gaming.pdfIgalia
 
Running JS via WASM faster with JIT
Running JS via WASM      faster with JITRunning JS via WASM      faster with JIT
Running JS via WASM faster with JITIgalia
 
To crash or not to crash: if you do, at least recover fast!
To crash or not to crash: if you do, at least recover fast!To crash or not to crash: if you do, at least recover fast!
To crash or not to crash: if you do, at least recover fast!Igalia
 
Implementing a Vulkan Video Encoder From Mesa to GStreamer
Implementing a Vulkan Video Encoder From Mesa to GStreamerImplementing a Vulkan Video Encoder From Mesa to GStreamer
Implementing a Vulkan Video Encoder From Mesa to GStreamerIgalia
 
8 Years of Open Drivers, including the State of Vulkan in Mesa
8 Years of Open Drivers, including the State of Vulkan in Mesa8 Years of Open Drivers, including the State of Vulkan in Mesa
8 Years of Open Drivers, including the State of Vulkan in MesaIgalia
 
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por IgaliaIntroducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por IgaliaIgalia
 
2023 in Chimera Linux
2023 in Chimera                    Linux2023 in Chimera                    Linux
2023 in Chimera LinuxIgalia
 
Building a Linux distro with LLVM
Building a Linux distro        with LLVMBuilding a Linux distro        with LLVM
Building a Linux distro with LLVMIgalia
 
turnip: Update on Open Source Vulkan Driver for Adreno GPUs
turnip: Update on Open Source Vulkan Driver for Adreno GPUsturnip: Update on Open Source Vulkan Driver for Adreno GPUs
turnip: Update on Open Source Vulkan Driver for Adreno GPUsIgalia
 
Graphics stack updates for Raspberry Pi devices
Graphics stack updates for Raspberry Pi devicesGraphics stack updates for Raspberry Pi devices
Graphics stack updates for Raspberry Pi devicesIgalia
 
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOSDelegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOSIgalia
 
MessageFormat: The future of i18n on the web
MessageFormat: The future of i18n on the webMessageFormat: The future of i18n on the web
MessageFormat: The future of i18n on the webIgalia
 
Replacing the geometry pipeline with mesh shaders
Replacing the geometry pipeline with mesh shadersReplacing the geometry pipeline with mesh shaders
Replacing the geometry pipeline with mesh shadersIgalia
 
I'm not an AMD expert, but...
I'm not an AMD expert, but...I'm not an AMD expert, but...
I'm not an AMD expert, but...Igalia
 
Status of Vulkan on Raspberry
Status of Vulkan on RaspberryStatus of Vulkan on Raspberry
Status of Vulkan on RaspberryIgalia
 

Más de Igalia (20)

A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Building End-user Applications on Embedded Devices with WPE
Building End-user Applications on Embedded Devices with WPEBuilding End-user Applications on Embedded Devices with WPE
Building End-user Applications on Embedded Devices with WPE
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Automated Testing for Web-based Systems on Embedded Devices
Automated Testing for Web-based Systems on Embedded DevicesAutomated Testing for Web-based Systems on Embedded Devices
Automated Testing for Web-based Systems on Embedded Devices
 
Embedding WPE WebKit - from Bring-up to Maintenance
Embedding WPE WebKit - from Bring-up to MaintenanceEmbedding WPE WebKit - from Bring-up to Maintenance
Embedding WPE WebKit - from Bring-up to Maintenance
 
Optimizing Scheduler for Linux Gaming.pdf
Optimizing Scheduler for Linux Gaming.pdfOptimizing Scheduler for Linux Gaming.pdf
Optimizing Scheduler for Linux Gaming.pdf
 
Running JS via WASM faster with JIT
Running JS via WASM      faster with JITRunning JS via WASM      faster with JIT
Running JS via WASM faster with JIT
 
To crash or not to crash: if you do, at least recover fast!
To crash or not to crash: if you do, at least recover fast!To crash or not to crash: if you do, at least recover fast!
To crash or not to crash: if you do, at least recover fast!
 
Implementing a Vulkan Video Encoder From Mesa to GStreamer
Implementing a Vulkan Video Encoder From Mesa to GStreamerImplementing a Vulkan Video Encoder From Mesa to GStreamer
Implementing a Vulkan Video Encoder From Mesa to GStreamer
 
8 Years of Open Drivers, including the State of Vulkan in Mesa
8 Years of Open Drivers, including the State of Vulkan in Mesa8 Years of Open Drivers, including the State of Vulkan in Mesa
8 Years of Open Drivers, including the State of Vulkan in Mesa
 
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por IgaliaIntroducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
 
2023 in Chimera Linux
2023 in Chimera                    Linux2023 in Chimera                    Linux
2023 in Chimera Linux
 
Building a Linux distro with LLVM
Building a Linux distro        with LLVMBuilding a Linux distro        with LLVM
Building a Linux distro with LLVM
 
turnip: Update on Open Source Vulkan Driver for Adreno GPUs
turnip: Update on Open Source Vulkan Driver for Adreno GPUsturnip: Update on Open Source Vulkan Driver for Adreno GPUs
turnip: Update on Open Source Vulkan Driver for Adreno GPUs
 
Graphics stack updates for Raspberry Pi devices
Graphics stack updates for Raspberry Pi devicesGraphics stack updates for Raspberry Pi devices
Graphics stack updates for Raspberry Pi devices
 
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOSDelegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
 
MessageFormat: The future of i18n on the web
MessageFormat: The future of i18n on the webMessageFormat: The future of i18n on the web
MessageFormat: The future of i18n on the web
 
Replacing the geometry pipeline with mesh shaders
Replacing the geometry pipeline with mesh shadersReplacing the geometry pipeline with mesh shaders
Replacing the geometry pipeline with mesh shaders
 
I'm not an AMD expert, but...
I'm not an AMD expert, but...I'm not an AMD expert, but...
I'm not an AMD expert, but...
 
Status of Vulkan on Raspberry
Status of Vulkan on RaspberryStatus of Vulkan on Raspberry
Status of Vulkan on Raspberry
 

Último

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 

Último (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

WebKit and Blink: Open Development Powering the HTML5 Revolution (LinuxCon North America 2013)

  • 1. WebKit and Blink: Open Development Powering the HTML5 Revolution Juan J. Sánchez LinuxCon 2013, New Orleans
  • 2. Myself, Igalia and WebKit Co-founder, member of the WebKit/Blink/Browsers team Igalia is an open source consultancy founded in 2001 Igalia is Top 5 contributor to upstream WebKit/Blink Working with many industry actors: tablets, phones, smart tv, set-top boxes, IVI and home automation. WebKit and Blink Juan J. Sánchez
  • 3. Outline The WebKit technology: goals, features, architecture, code structure, ports, webkit2, ongoing work The WebKit community: contributors, committers, reviewers, tools, events Contributing to WebKit: bugfixing, features, new ports Blink: history, motivations for the fork, differences, status and impact in the WebKit community WebKit and Blink Juan J. Sánchez
  • 4. WebKit: the technology WebKit and Blink Juan J. Sánchez
  • 5. The WebKit project Web rendering engine (HTML, JavaScript, CSS...) The engine is the product Started as a fork of KHTML and KJS in 2001 Open Source since 2005 Among other things, it’s useful for: Web browsers Using web technologies for UI development WebKit and Blink Juan J. Sánchez
  • 6. Goals of the project Web Content Engine: HTML, CSS, JavaScript, DOM Open Source: BSD-style and LGPL licenses Compatibility: regression testing Standards Compliance Stability Performance Security Portability: desktop, mobile, embedded... Usability Hackability WebKit and Blink Juan J. Sánchez
  • 7. Goals of the project NON-goals: “It’s an engine, not a browser” “It’s an engineering project not a science project” “It’s not a bundle of maximally general and reusable code” “It’s not the solution to every problem” http://www.webkit.org/projects/goals.html WebKit and Blink Juan J. Sánchez
  • 8. WebKit features HTML and XML support JavaScript support (ECMAScript 5.1) CSS 2.1, CSS 3 support SVG support Support for Plugins (NPAPI, WebKit Plugins) HTML5 support: multimedia, 3D graphics, advanced CSS animations and transformations, drag’n’drop, offline & local storage, connectivity... Accessibility support Q&A infrastructure: review process, continuous integration, 30.000 regression tests, API tests... Passing ACID3 with 100/100 tests since March 2008 WebKit and Blink Juan J. Sánchez
  • 9. WebKit Architecture From a simplified point of view, WebKit is structured this way: WebKit: thin layer to link against from the applications WebCore: rendering, layout, network access, multimedia, accessibility support... JS Engine: the JavaScript engine. JavaScriptCore by default, but can be replaced (e.g. V8 in Chromium) platform: platform-specific hooks to implement generic algorithms WebKit and Blink Juan J. Sánchez
  • 10. What is a WebKit port? WebKit and Blink Juan J. Sánchez
  • 11. How many WebKit ports are there? WebKit is available for different platforms: Main upstream ports during the past 2 years: Mac OS X, iOS GTK+ based platforms (GNOME) Qt based platforms (KDE) Enlightenment Foundation Libraries (EFL, Tizen) Google Chromium / Chrome New proposal: WebKitNIX Other ports: wxWidgets, Brew MP, Symbian devices (S60), Win32, BlackBerry, Adobe Integrated Runtime (Adobe AIR) WebKit and Blink Juan J. Sánchez
  • 12. Some WebKit based browsers Amazon Kindle PS3 web browser Arora RockMelt BOLT browser Safari Epiphany browser SRWare Iron Google Chrome Shiira iCab (version >= 4) Sputnik for MorphOS Iris Browser Stainless Konqueror Steel for Android Midori TeaShark Nintendo 3DS Uzbl OWB Web Browser for S60 (Nokia) OmniWeb WebOS Browser WebKit and Blink Juan J. Sánchez
  • 13. Architecture of a WebKit port WebKit and Blink Juan J. Sánchez
  • 14. Architecture of a WebKit port WebKit and Blink Juan J. Sánchez
  • 15. How do we use a WebKit port? The WebView widget: A platform-specific widget that renders web content. It’s the main component and it’s useful for: Loading URIs or data buffers pointing to HTML content Go fullscreen, text/text+image zooming... Navigate back and forward through history... Events handling: Allows embedders to get notified when something important happens or when some input is needed. Some examples of these events: Getting notified when a load finished or failed Asking permission for navigating to an URI Requesting authorization for something.. WebKit and Blink Juan J. Sánchez
  • 16. A minibrowser written in Python #!/usr/bin/env python # -*- coding: utf-8 -*import gtk import webkit def entry_activated_cb(entry, embed): embed.load_uri(entry.get_text()) # Widgets and signals window = gtk.Window() window.set_default_size(800, 600) window.set_title("Mini browser written in Python") embed = webkit.WebView(); # WebKit embed entry = gtk.Entry() entry.connect(’activate’, entry_activated_cb, embed) scroller = gtk.ScrolledWindow() scroller.add(embed) # Pack everything up and show vbox = gtk.VBox(False, 5) vbox.pack_start(entry, False, False) vbox.pack_start(scroller) window.add(vbox) window.show_all() # Load a default URI and run embed.load_uri("http://www.webkit.org") gtk.main() WebKit and Blink Juan J. Sánchez
  • 17. A minibrowser written in Python WebKit and Blink Juan J. Sánchez
  • 18. A minibrowser written in C #include <webkit/webkit.h> static void entry_activated (GtkEntry *entry, WebKitWebView *embed) { webkit_web_view_load_uri (embed, gtk_entry_get_text (entry)); } int main (int argc, char** argv) { gtk_init (&argc, &argv); /* Widgets and signals */ GtkWidget *window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_default_size (GTK_WINDOW (window), 800, 600); gtk_window_set_title (GTK_WINDOW (window), "Mini browser written in C"); GtkWidget *embed = webkit_web_view_new(); GtkWidget *entry = gtk_entry_new(); g_signal_connect (entry, "activate", G_CALLBACK (entry_activated), embed); GtkWidget *scroller = gtk_scrolled_window_new(NULL, NULL); gtk_container_add (GTK_CONTAINER(scroller), embed); /* Pack everything and show */ GtkWidget *vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_box_pack_start (GTK_BOX(vbox), entry, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX(vbox), scroller, TRUE, TRUE, 0); gtk_container_add (GTK_CONTAINER(window), vbox); gtk_widget_show_all (window); /* Load a default URI and run */ webkit_web_view_load_uri (WEBKIT_WEB_VIEW (embed), "http://www.webkit.org"); gtk_main(); return 0; } WebKit and Blink Juan J. Sánchez
  • 19. A minibrowser written in C WebKit and Blink Juan J. Sánchez
  • 20. What is WebKit2? New API layer designed to support a split process model (First release by Apple on April 8th, 20101 ). Different to Chromium’s multi-process implementation It’s bundled in the framework (reusable) Different processes take care of different tasks: UI process: the WebView widget, application UI Web process: loading, parsing, rendering, layout... Plugin process: each plugin type in a process It comes with Inter-Process Communication (IPC) mechanisms to communicate those processes bundled-in http://trac.webkit.org/wiki/WebKit2 WebKit and Blink Juan J. Sánchez
  • 21. WebKit VS WebKit2 WebKit and Blink Juan J. Sánchez
  • 23. WebKit2 vs WebKit1 Cons: Higher resource requirements Multiple processes instead of just one At the same time easier to release resources Complexity Coding Debugging WebKit1 and WebKit2 maintenance WebKit and Blink Juan J. Sánchez
  • 24. WebKit2 VS Chromium WebKit and Blink Juan J. Sánchez
  • 25. WebKit2: current status Apple, Qt and GTK+ already released WebKit2 browsers WebKit1 moving to maintenance mode for most ports Cross-platform and non-blocking C API available Most challenges of the split process model solved Lots of new architectural changes about to come WebKit and Blink Juan J. Sánchez
  • 26. The Source Code in numbers According to Ohloh on 2013 Sep 10th, lines of code per language, without considering blank lines nor comments: Language HTML C++ JavaScript XML Objective-C C PHP CSS Python Perl OpenGL Shad Other (18) Total LoC 1,707,944 1,355,784 886,308 163,012 119,890 105,259 97,627 90,581 76,040 75,988 26,234 50,000 4,754,103 % 30.3 % 31.0 % 20.5 % 2.8 % 2.6 % 2.9 % 2.4 % 1.7 % 2.0 % 1.9 % 1.0 % 0.9 % https://www.ohloh.net/p/WebKit/analyses Just considering C++, Objective-C and C files, we have almost 1.6M LoC! WebKit and Blink Juan J. Sánchez
  • 27. The Source Code in numbers According to Ohloh on 2013 September 10th, files per license: License BSD License GNU LGPL MPL Other (9) Total Files 4427 3568 607 63 8665 % 51.09 % 41.18 % 7.01 % 0.73 % https://www.ohloh.net/p/WebKit/analyses New WebKit code will always be under the terms of either the LGPL 2.1+ or the BSD license. Never GPL or LGPL 3. WebKit and Blink Juan J. Sánchez
  • 28. High Level source code overview Source/: the code needed to build WebKit. That is, WebCore, JavaScriptCore, WebKit and WebKit2 LayoutTests/: layout tests reside here (More than 30000!). They test the correctness of WebKit features ManualTests/: specific cases not covered by automatic testing PerformanceTests/: measure run-time performance and memory usage See perf.webkit.org for results Tools/: tools and utilities for WebKit development. Small test applications, tools for testing, helper scripts... Websites/: code and pages for WebKit related sites WebKit and Blink Juan J. Sánchez
  • 29. Tracking ongoing work in WebKit Webkit is a big beast and a lot of organizations with different agendas are working in different parts: Implementing new standards (like the CSS shaders from Adobe, or CSS3 GCPM from Apple) Improvements in architecture, performance and internal code (WebKit2) On top of this there is the maintenance work (testing, continuous integration, bugfixing) No single centralized place to follow all the information: blogs, mailing lists, IRC, etc. WebKit and Blink Juan J. Sánchez
  • 30. WebKit: The community WebKit and Blink Juan J. Sánchez
  • 31. A bit of history Source: http://ariya.ofilabs.com/2011/11/ one-hundred-thousand-and-counting.html WebKit and Blink Juan J. Sánchez
  • 32. The WebKit Project in numbers Commits per month till 2013: WebKit and Blink Juan J. Sánchez
  • 33. The WebKit Project in numbers Contributors per month:: WebKit and Blink Juan J. Sánchez
  • 34. The WebKit Project in numbers Evolution in the number of lines of code WebKit and Blink Juan J. Sánchez
  • 35. Activity of Companies Based on Bitergia’s report2 Based on reviewed commits “Gardening” commits filtered out From the beginning of the project till beginning of 2013 2 http://blog.bitergia.com/2013/02/06/ report-on-the-activity-of-companies-in-the-webkit-project/ WebKit and Blink Juan J. Sánchez
  • 36. Activity of Companies Figura: Commits per company (monthly) WebKit and Blink Juan J. Sánchez
  • 37. Activity of Companies Figura: Active authors per company (monthly) WebKit and Blink Juan J. Sánchez
  • 38. Activity of Companies Figura: Commits per company WebKit and Blink Juan J. Sánchez
  • 39. Activity of Companies Figura: Active authors per company WebKit and Blink Juan J. Sánchez
  • 40. Activity of Companies Some conclusions from the authors: Google and Apple leading the project The diversity of the project has been increasing Contributions from other parties >25 % and growing > 20 companies actively contributing to WebKit 1500-2000 commits per month 387 committers from 29 different institutions WebKit and Blink Juan J. Sánchez
  • 41. Committers and Reviewers WebKit Committer A WebKit Committer should be a person we can trust to follow and understand the project policies about checkins and other matters. Has commit rights to the public SVN repository. WebKit Reviewer A WebKit Reviewer should be a person who has shown particularly good judgment, understanding of project policies, collaboration skills, and understanding of the code. A WebKit Committer who can review other’s patches. WebKit and Blink Juan J. Sánchez
  • 42. Copyright for contributions There is no copyright transfer for the contributions Committers sign some papers where they commit to good behaviour WebKit and Blink Juan J. Sánchez
  • 43. Releases There are no releases of WebKit itself Each port manages the release cycle, typically aligned with the target platform schedule WebKit and Blink Juan J. Sánchez
  • 44. Coordination and communication tools Website: http://www.webkit.org/ Port specific Websites (e.g. http://webkitgtk.org/) Wiki: http://trac.webkit.org/wiki Blogs: http://planet.webkit.org/ Source Code: SVN: http://svn.webkit.org/repository/webkit Git mirror: git://git.webkit.org/WebKit.git Bugzilla: https://bugs.webkit.org/ Buildbots: http://build.webkit.org/ Mailing lists: http://lists.webkit.org/mailman/listinfo.cgi IRC (irc.freenode.net): #webkit and #webkitgtk+ WebKit and Blink Juan J. Sánchez
  • 45. The WebKit Contributors Meeting Meeting for contributors to the WebKit project Organized in an “unconference”-like format Extremely useful to advance on some topics: Implementation of new APIs, WebKit2, accelerated compositing, helper tools, QA infrastructure... Yearly held in Cupertino, California. Hosted by Apple WebKit and Blink Juan J. Sánchez
  • 46. How to contribute WebKit and Blink Juan J. Sánchez
  • 47. Types of contributions Bugfixing and new features in: An existent port The core components: webcore and JSC/V8 Creation and maintenance of a new port WebKit and Blink Juan J. Sánchez
  • 48. Guidelines for contributing patches to WebKit 1 Get and build the code from the SVN repository 2 Choose or create a bug report to work on 3 Code your changes and make sure you include new regression or unit tests if needed 4 Create a patch for your changes and submit it asking for review over it to appropriate reviewers 5 Update and change your patch as many times as needed 6 Once approved, land your patch or ask a committer/reviewer to do it 7 Watch for any regressions it might have caused WebKit and Blink Juan J. Sánchez
  • 49. Creating a port: what needs to be done High level API (WebKit1 and WebKit2) Low level backend specific implementation Web Template Framework (WTF): memory management, threading, data structures (vectors, hash tables, bloom filters, ...) numerical support, etc. JSC vs V8 Networking: HTTP, DNS, cookies, etc. Graphics: 2D/3D rendering, compositing, theming, fonts Multimedia: media player for audio and video tags DOM bindings Accessibility Smaller tasks: clipboard, popup and context menus, cursors, etc. Other things: favicons, plugins, downloads, geolocation, settings, navigation policies, etc. WebKit and Blink Juan J. Sánchez
  • 50. Creating a port: the social side Difficult without full-time reviewers Reuse from other ports as much as possible Try to work upstream from the very beginning The risk of forking is big, the project moves fast Focus on testing and continuous integration Port-specific events and communication tools WebKit and Blink Juan J. Sánchez
  • 51. Present and future WebKit and Blink Juan J. Sánchez
  • 52. Google’s Departure. Blink Google announced on April 3rd that they would be forking WebKit and creating Blink Motivations according to Google: They were not using WebKit2 anyway Easier to do ambitious architectural changes after the fork Simplification of the codebase in Blink Tension between Apple and Google before the fork Architectural decisions: NetworkProcess Code governance: Owners Big shock within the WebKit community WebKit and Blink Juan J. Sánchez
  • 53. Differences between WebKit and Blink Removes the concept of ’port’ as it was defined in WebKit (deep platform integration): Skia, V8 and other libraries cannot be replaced Still possible to use Blink in other platforms, but now integration happens at Content level Only the rendering engine. Multi-process architecture is still in Chromium Peer review process (committers, reviewers, owners) more flexible in Blink Many architecture changes are started to be implemented WebKit and Blink Juan J. Sánchez
  • 54. Consequences of Blink for WebKit Google was the main contributor by # of commits Opera joined WebKit then moved to Blink. Other companies and communities thinking what to do. Apple’s position more dominant. Likely to relax Owners policy Several WebCore modules left orphan. Other hackers assuming WebCore modules maintainership WebKit developers porting patches from/to Blink Many hacks to accomodate Chromium removed. Engines likely start to diverge at faster pace WebKit and Blink Juan J. Sánchez
  • 55. Impact of Blink in numbers Commits per month in WebKit, including last months: WebKit and Blink Juan J. Sánchez
  • 56. Impact of Blink in numbers Contributors per month in WebKit, including last months:: WebKit and Blink Juan J. Sánchez
  • 57. Impact of Blink in numbers Contributors per month in 2013:: WebKit: Blink: WebKit and Blink Juan J. Sánchez
  • 58. Impact of Blink in numbers Commits per month in 2013, Blink:: Commits per month in 2013, WebKit:: WebKit and Blink Juan J. Sánchez
  • 59. The Blink community is consolidating Dynamics of the community still being consolidated Opera already actively contributing and using Blink Qt recently announced that they are moving to Blink In a few weeks/months we will know how everything settles down BlinkOn event, end of September at Google’s office in San Francisco WebKit and Blink Juan J. Sánchez
  • 60. Open questions about Blink for WebKit How open the dynamics of each community will be? Which project will innovate faster and keep higher quality and performance standards? Which option will upstream ports be based on? Which option will companies developing platforms and solutions use? WebKit and Blink Juan J. Sánchez
  • 61. Conclusions WebKit is an Open Source web engine powering lots of applications (not only browsers!) out there The only true Open Source alternative for embedders for many years. Clearly defined and modular architecture. Port friendly. Complex and fast moving project Developed by a community of organizations and individuals with different interests, collaborating together. Lots of contributors. Appropriate policies in place to handle permissions and responsibilities in the project The recent announcement of Blink is changing the WebKit community a lot and it is still to be seen how the situation in terms of open source dynamics and project health and quality will be in a few months. WebKit and Blink Juan J. Sánchez
  • 62. Thank you! Juan J. Sánchez jjsanchez@igalia.com WebKit and Blink Juan J. Sánchez