SlideShare uma empresa Scribd logo
1 de 24
Baixar para ler offline
State of the ${kit}
(kit=WebKitGTK+)
Adrián Pérez
Igalia
WebKit Basics
Includes WebKitGTK+
What is WebKit?

# webkitgtk # fosdem

4/24
What is WebKitGTK+?

# webkitgtk # fosdem

5/24
What is WebKit2?

# webkitgtk # fosdem

6/24
Who is using it?

# webkitgtk # fosdem

7/24
Previously on WebKitGTK+…
Stable release 1.10.x
· Now enabled by default:
- Geolocation
- WebGL
- Web Timing
· New features:
- Accelerated compositing
-

Smooth scrolling
Full-screen mode
HTML5 History API
WebAudio

- JSC LLint
· Boatloads of bugfixes.
· WebKit2GTK+ API augmented, nearing stabilization:
- To happen
# webkitgtk # fosdem with GNOME 3.8, including Epiphany.

8/24
WebKit2 now
State of the art
·
·
·
·

WebKit2 announced in April 2010
Apple has released Safari using it
Cross-platform internal C API exists
One Two Qt browsers out there in the wild
- N9 browser: uses the C API

- Snowshoe: uses Qt5
· WebKitGTK+ is the next to have support ☺

# webkitgtk # fosdem

9/24
So… How's WebKit2GTK+ doing?
The evil is in the details
Doing nicely:
· The basics have been working for quite a while
· Most of the small details are already in place as of 1.10:
- Context menus
- Web inspector
- Favicons
- On-disk cache
- Spell checking
- Printing support
- Documentation, GI annotations…

# webkitgtk # fosdem

10/24
WebKit2 changes
(For developers)
WebKit1GTK+
Goal: same API for WebKit1GTK+ and WebKit2GTK+
Gkigt*k =wbi_e_iwnw(;
tWde wt
ektwbve_e )
WbiWbetns*etns=wbi_e_iwgtstig (EKTWBVE (k)
eKteStig stig
ektwbve_e_etns WBI_E_IW wt)
/ Cniueuigtete“etns ojc *
* ofgr sn h h stig” bet /
Gkigt*i =gkwno_e (T_IDWTPEE)
tWde wn
t_idwnw GKWNO_OLVL;
gkcnanrad(T_OTIE (i) wt;
t_otie_d GKCNANR wn, k)
wbi_e_iwla_r (EKTWBVE (k) "tp/fse.r";
ektwbve_odui WBI_E_IW wt, ht:/odmog)
gkwde_hwal(i)
t_igtso_l wn;
gkmi (;
t_an )

# webkitgtk # fosdem

C

12/24
WebKit2GTK+
Goal: same API for WebKit1GTK+ and WebKit2GTK+
Gkigt*k =wbi_e_iwnw(;
tWde wt
ektwbve_e )
WbiStig *etns=wbi_e_iwgtstig (EKTWBVE (k)
eKtetns stig
ektwbve_e_etns WBI_E_IW wt)
/ Cniueuigtete“etns ojc *
* ofgr sn h h stig” bet /
Gkigt*i =gkwno_e (T_IDWTPEE)
tWde wn
t_idwnw GKWNO_OLVL;
gkcnanrad(T_OTIE (i) wt;
t_otie_d GKCNANR wn, k)
wbi_e_iwla_r (EKTWBVE (k) "tp/fse.r";
ektwbve_odui WBI_E_IW wt, ht:/odmog)
gkwde_hwal(i)
t_igtso_l wn;
gkmi (;
t_an )

C

· There are some changes, though!
· For simple uses changes are none or minimal
· Start porting your application now!

# webkitgtk # fosdem

13/24
Differences are small(–ish)
· Some classes renamed (mostly removing “Web”):
- W b i W b e t n s→ W b i S t i g
eKteStig
eKtetns
- W b i W b l g n→ W b i P u i
eKtePui
eKtlgn
- WbiWbitrIe → WbiBcFradittm
eKteHsoytm
eKtakowrLsIe
- …
· Some new classes (mostly new fatures):
- WbiCneteu
eKtotxMn
- WbiScrtMngr
eKteuiyaae
- …
· Some classes gone away (no longer needed, or missing):
- WbiWblgnaaae
eKtePuiDtbs
- WbiWbrm
eKteFae
- …

# webkitgtk # fosdem

14/24
What next?
A sneak peek
To the future… and beyond
Slicker media controls

New media controls

Old media controls

# webkitgtk # fosdem

16/24
To the future… and beyond
WebKitGTK+ on Wayland with WebGL

0:51

# webkitgtk # fosdem

17/24
To the future… and beyond
Epiphany overview

Epiphany overview

# webkitgtk # fosdem

18/24
To the future… and beyond
Epiphany “UXperiments”

0:00

# webkitgtk # fosdem

19/24
To the future… and beyond
And more!
· Text rendering with Harfbuzz
· GObject Introspection for WebKit2GTK+
· GStreamer 1.0 for multimedia
· HW accelerated video rendering
· WebP and Opus support
· Native notifications
· Web applications
· Print preview
· Win32 (printing, IPC, etc.)
· …
· ${FEATURE}

# webkitgtk # fosdem

20/24
Wrapping up
Conclusions, everybody ♥ these
Conclusions
tl;dr
· Mature port, widely used
· Released regularly, every ~6 months
· Well maintained
· Useable for developing serious browsers
· Scales from desktop to embedded
· WebKit2GTK+ API nearing completion, stabilization approaching
- Beta since 3.6
- Epiphany adopting it for 3.8
· WebKit1GTK+ API still being maintained
- New features and improvements for WebKit2GTK+ first

# webkitgtk # fosdem

22/24
Contributing
Every single bit matters
· bugs.webkit.org
· webkitgtk.org
· webkit.org
· Mailing lists:
- wbi-t@it.ektog
ektgklsswbi.r
- wbi-e@it.ektog
ektdvlsswbi.r
· IRC channels on i c f e n d . e :
r.reoent
- #ektt+
wbigk
- #ekt
wbi

# webkitgtk # fosdem

23/24
Thank You!
…and enjoy the rest of FOSDEM

twitter @aperezdc
www perezdecastro.org
github github.com/aperezdc

Mais conteúdo relacionado

Mais procurados

WebKit for Wayland (Web Engines Hackfest 2014)
WebKit for Wayland (Web Engines Hackfest 2014)WebKit for Wayland (Web Engines Hackfest 2014)
WebKit for Wayland (Web Engines Hackfest 2014)
Igalia
 

Mais procurados (20)

Waylandifying Chromium: From downstream to shipping (ELCE 2020)
Waylandifying Chromium: From downstream to shipping (ELCE 2020)Waylandifying Chromium: From downstream to shipping (ELCE 2020)
Waylandifying Chromium: From downstream to shipping (ELCE 2020)
 
WebKit Security Updates (GUADEC 2016)
WebKit Security Updates (GUADEC 2016)WebKit Security Updates (GUADEC 2016)
WebKit Security Updates (GUADEC 2016)
 
WebKit2 And You (GUADEC 2013)
WebKit2 And You (GUADEC 2013)WebKit2 And You (GUADEC 2013)
WebKit2 And You (GUADEC 2013)
 
Fixing Gaps. Strengthening the Chromium platform for content blocking
Fixing Gaps. Strengthening the Chromium platform for content blockingFixing Gaps. Strengthening the Chromium platform for content blocking
Fixing Gaps. Strengthening the Chromium platform for content blocking
 
glTF and the WebGL Art Pipeline March 2015
glTF and the WebGL Art Pipeline March 2015glTF and the WebGL Art Pipeline March 2015
glTF and the WebGL Art Pipeline March 2015
 
JS digest, March 2017
JS digest, March 2017JS digest, March 2017
JS digest, March 2017
 
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)
 
2015-09-16 georchestra @ foss4g2015 Seoul
2015-09-16 georchestra @ foss4g2015 Seoul2015-09-16 georchestra @ foss4g2015 Seoul
2015-09-16 georchestra @ foss4g2015 Seoul
 
Code on the Beach 2019 - Let's Take a Tour of .Net Core: CLI
Code on the Beach 2019 - Let's Take a Tour of .Net Core: CLICode on the Beach 2019 - Let's Take a Tour of .Net Core: CLI
Code on the Beach 2019 - Let's Take a Tour of .Net Core: CLI
 
WPE WebKit for Android
WPE WebKit for AndroidWPE WebKit for Android
WPE WebKit for Android
 
Chromium on Wayland Desktop (BlinkOn 7)
Chromium on Wayland Desktop (BlinkOn 7)Chromium on Wayland Desktop (BlinkOn 7)
Chromium on Wayland Desktop (BlinkOn 7)
 
WebKit for Wayland (Web Engines Hackfest 2014)
WebKit for Wayland (Web Engines Hackfest 2014)WebKit for Wayland (Web Engines Hackfest 2014)
WebKit for Wayland (Web Engines Hackfest 2014)
 
Petri Niemi Qt Web Kit
Petri Niemi Qt Web KitPetri Niemi Qt Web Kit
Petri Niemi Qt Web Kit
 
georchestra SDI: Project Status Report
georchestra SDI: Project Status Reportgeorchestra SDI: Project Status Report
georchestra SDI: Project Status Report
 
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
 
Multimedia in WebKitGtk+, past/present/future
Multimedia in WebKitGtk+, past/present/futureMultimedia in WebKitGtk+, past/present/future
Multimedia in WebKitGtk+, past/present/future
 
Using Control-Webpanel for Hosting Service - Part 2
Using Control-Webpanel for Hosting Service - Part 2Using Control-Webpanel for Hosting Service - Part 2
Using Control-Webpanel for Hosting Service - Part 2
 
Recap- Laravel Melbourne Meetup and Laracons
Recap- Laravel Melbourne Meetup  and LaraconsRecap- Laravel Melbourne Meetup  and Laracons
Recap- Laravel Melbourne Meetup and Laracons
 
WPE: Current Status and Future (Web Engines Hackfest 2018)
WPE: Current Status and Future (Web Engines Hackfest 2018)WPE: Current Status and Future (Web Engines Hackfest 2018)
WPE: Current Status and Future (Web Engines Hackfest 2018)
 
ISM APAC TechTalk - WebSockets Presentation
ISM APAC TechTalk - WebSockets PresentationISM APAC TechTalk - WebSockets Presentation
ISM APAC TechTalk - WebSockets Presentation
 

Destaque

Black hat dc-09-laurie-satellite-hacking
Black hat dc-09-laurie-satellite-hackingBlack hat dc-09-laurie-satellite-hacking
Black hat dc-09-laurie-satellite-hacking
cr0security
 
Hacking a Bird in the Sky: Hijacking VSAT Connection
Hacking a Bird in the Sky: Hijacking VSAT ConnectionHacking a Bird in the Sky: Hijacking VSAT Connection
Hacking a Bird in the Sky: Hijacking VSAT Connection
Jim Geovedi
 
Hacking a Bird in the Sky: The Revenge of Angry Birds
Hacking a Bird in the Sky: The Revenge of Angry BirdsHacking a Bird in the Sky: The Revenge of Angry Birds
Hacking a Bird in the Sky: The Revenge of Angry Birds
Jim Geovedi
 
Hacking Satellite: A New Universe to Discover
Hacking Satellite: A New Universe to DiscoverHacking Satellite: A New Universe to Discover
Hacking Satellite: A New Universe to Discover
Jim Geovedi
 
Satellites presentation
Satellites presentationSatellites presentation
Satellites presentation
Vikas Sharma
 

Destaque (15)

Hacking in the real world: photography from above (FOSDEM 2012)
Hacking in the real world: photography from above (FOSDEM 2012)Hacking in the real world: photography from above (FOSDEM 2012)
Hacking in the real world: photography from above (FOSDEM 2012)
 
ESA - Hacking the aerospace industry - should we worry ?
ESA - Hacking the aerospace industry - should we worry ? ESA - Hacking the aerospace industry - should we worry ?
ESA - Hacking the aerospace industry - should we worry ?
 
Black Hat '15: Spread Spectrum Satcom Hacking: Attacking The GlobalStar Simpl...
Black Hat '15: Spread Spectrum Satcom Hacking: Attacking The GlobalStar Simpl...Black Hat '15: Spread Spectrum Satcom Hacking: Attacking The GlobalStar Simpl...
Black Hat '15: Spread Spectrum Satcom Hacking: Attacking The GlobalStar Simpl...
 
Black hat dc-09-laurie-satellite-hacking
Black hat dc-09-laurie-satellite-hackingBlack hat dc-09-laurie-satellite-hacking
Black hat dc-09-laurie-satellite-hacking
 
Hacking a Bird in the Sky: Hijacking VSAT Connection
Hacking a Bird in the Sky: Hijacking VSAT ConnectionHacking a Bird in the Sky: Hijacking VSAT Connection
Hacking a Bird in the Sky: Hijacking VSAT Connection
 
Satellite Telephony Security
Satellite Telephony SecuritySatellite Telephony Security
Satellite Telephony Security
 
Hacking a Bird in the Sky: The Revenge of Angry Birds
Hacking a Bird in the Sky: The Revenge of Angry BirdsHacking a Bird in the Sky: The Revenge of Angry Birds
Hacking a Bird in the Sky: The Revenge of Angry Birds
 
Hacking Satellite: A New Universe to Discover
Hacking Satellite: A New Universe to DiscoverHacking Satellite: A New Universe to Discover
Hacking Satellite: A New Universe to Discover
 
Satellite Network Hacking & Security Analysis
Satellite Network Hacking & Security AnalysisSatellite Network Hacking & Security Analysis
Satellite Network Hacking & Security Analysis
 
Introduction to satellite communication
Introduction to satellite communicationIntroduction to satellite communication
Introduction to satellite communication
 
Satellite hacking
Satellite hackingSatellite hacking
Satellite hacking
 
Satellite Hacking — Intro by Indianz (2012)
Satellite Hacking — Intro by Indianz (2012)Satellite Hacking — Intro by Indianz (2012)
Satellite Hacking — Intro by Indianz (2012)
 
Satellites presentation
Satellites presentationSatellites presentation
Satellites presentation
 
Satellite communications
Satellite communicationsSatellite communications
Satellite communications
 
Satellite communications ppt
Satellite communications pptSatellite communications ppt
Satellite communications ppt
 

Semelhante a State of the kit (FOSDEM 2013)

How to use WebKitGtk+
How to use WebKitGtk+How to use WebKitGtk+
How to use WebKitGtk+
Joone Hur
 
DIY- computer vision with GWT
DIY- computer vision with GWTDIY- computer vision with GWT
DIY- computer vision with GWT
Francesca Tosi
 
Reconcile Terraform Resources the GitOps Way with Priyanka Ravi
Reconcile Terraform Resources the GitOps Way with Priyanka RaviReconcile Terraform Resources the GitOps Way with Priyanka Ravi
Reconcile Terraform Resources the GitOps Way with Priyanka Ravi
Weaveworks
 

Semelhante a State of the kit (FOSDEM 2013) (20)

Web 3.12: A browser to make us proud (GUADEC 2014)
Web 3.12: A browser to make us proud (GUADEC 2014)Web 3.12: A browser to make us proud (GUADEC 2014)
Web 3.12: A browser to make us proud (GUADEC 2014)
 
How to use WebKitGtk+
How to use WebKitGtk+How to use WebKitGtk+
How to use WebKitGtk+
 
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...
 
WebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 Revolution
WebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 RevolutionWebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 Revolution
WebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 Revolution
 
WebKit and Blink: open development powering the HTML5 revolution
WebKit and Blink: open development powering the HTML5 revolutionWebKit and Blink: open development powering the HTML5 revolution
WebKit and Blink: open development powering the HTML5 revolution
 
WebKit and GStreamer
WebKit and GStreamerWebKit and GStreamer
WebKit and GStreamer
 
WebKit and GStreamer (GStreamer Conference 2013)
WebKit and GStreamer (GStreamer Conference 2013)WebKit and GStreamer (GStreamer Conference 2013)
WebKit and GStreamer (GStreamer Conference 2013)
 
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)
 
Wayland support in WebKit2GTK+ (GUADEC 2014)
Wayland support in WebKit2GTK+ (GUADEC 2014)Wayland support in WebKit2GTK+ (GUADEC 2014)
Wayland support in WebKit2GTK+ (GUADEC 2014)
 
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
 
The WebKit project
The WebKit projectThe WebKit project
The WebKit project
 
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
 
Testing with Codeception
Testing with CodeceptionTesting with Codeception
Testing with Codeception
 
XTech May 2008
XTech May 2008XTech May 2008
XTech May 2008
 
WebKit and Blink: Open Development Powering the HTML5 Revolution (LinuxCon No...
WebKit and Blink: Open Development Powering the HTML5 Revolution (LinuxCon No...WebKit and Blink: Open Development Powering the HTML5 Revolution (LinuxCon No...
WebKit and Blink: Open Development Powering the HTML5 Revolution (LinuxCon No...
 
Reconcile Terraform Resources the GitOps Way with Priyanka Ravi
Reconcile Terraform Resources the GitOps Way with Priyanka RaviReconcile Terraform Resources the GitOps Way with Priyanka Ravi
Reconcile Terraform Resources the GitOps Way with Priyanka Ravi
 
EclipseCon France 2018 report
EclipseCon France 2018 reportEclipseCon France 2018 report
EclipseCon France 2018 report
 
WPEWebKit, the WebKit port for embedded platforms (Linaro Connect San Diego 2...
WPEWebKit, the WebKit port for embedded platforms (Linaro Connect San Diego 2...WPEWebKit, the WebKit port for embedded platforms (Linaro Connect San Diego 2...
WPEWebKit, the WebKit port for embedded platforms (Linaro Connect San Diego 2...
 
Tomcat from a cluster to the cloud on RP3
Tomcat from a cluster to the cloud on RP3Tomcat from a cluster to the cloud on RP3
Tomcat from a cluster to the cloud on RP3
 

Mais de 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 WPE
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 Devices
Igalia
 
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
Igalia
 
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
Igalia
 

Mais 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

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Último (20)

FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
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
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
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
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 

State of the kit (FOSDEM 2013)

  • 1.
  • 2. State of the ${kit} (kit=WebKitGTK+) Adrián Pérez Igalia
  • 4. What is WebKit? # webkitgtk # fosdem 4/24
  • 5. What is WebKitGTK+? # webkitgtk # fosdem 5/24
  • 6. What is WebKit2? # webkitgtk # fosdem 6/24
  • 7. Who is using it? # webkitgtk # fosdem 7/24
  • 8. Previously on WebKitGTK+… Stable release 1.10.x · Now enabled by default: - Geolocation - WebGL - Web Timing · New features: - Accelerated compositing - Smooth scrolling Full-screen mode HTML5 History API WebAudio - JSC LLint · Boatloads of bugfixes. · WebKit2GTK+ API augmented, nearing stabilization: - To happen # webkitgtk # fosdem with GNOME 3.8, including Epiphany. 8/24
  • 9. WebKit2 now State of the art · · · · WebKit2 announced in April 2010 Apple has released Safari using it Cross-platform internal C API exists One Two Qt browsers out there in the wild - N9 browser: uses the C API - Snowshoe: uses Qt5 · WebKitGTK+ is the next to have support ☺ # webkitgtk # fosdem 9/24
  • 10. So… How's WebKit2GTK+ doing? The evil is in the details Doing nicely: · The basics have been working for quite a while · Most of the small details are already in place as of 1.10: - Context menus - Web inspector - Favicons - On-disk cache - Spell checking - Printing support - Documentation, GI annotations… # webkitgtk # fosdem 10/24
  • 12. WebKit1GTK+ Goal: same API for WebKit1GTK+ and WebKit2GTK+ Gkigt*k =wbi_e_iwnw(; tWde wt ektwbve_e ) WbiWbetns*etns=wbi_e_iwgtstig (EKTWBVE (k) eKteStig stig ektwbve_e_etns WBI_E_IW wt) / Cniueuigtete“etns ojc * * ofgr sn h h stig” bet / Gkigt*i =gkwno_e (T_IDWTPEE) tWde wn t_idwnw GKWNO_OLVL; gkcnanrad(T_OTIE (i) wt; t_otie_d GKCNANR wn, k) wbi_e_iwla_r (EKTWBVE (k) "tp/fse.r"; ektwbve_odui WBI_E_IW wt, ht:/odmog) gkwde_hwal(i) t_igtso_l wn; gkmi (; t_an ) # webkitgtk # fosdem C 12/24
  • 13. WebKit2GTK+ Goal: same API for WebKit1GTK+ and WebKit2GTK+ Gkigt*k =wbi_e_iwnw(; tWde wt ektwbve_e ) WbiStig *etns=wbi_e_iwgtstig (EKTWBVE (k) eKtetns stig ektwbve_e_etns WBI_E_IW wt) / Cniueuigtete“etns ojc * * ofgr sn h h stig” bet / Gkigt*i =gkwno_e (T_IDWTPEE) tWde wn t_idwnw GKWNO_OLVL; gkcnanrad(T_OTIE (i) wt; t_otie_d GKCNANR wn, k) wbi_e_iwla_r (EKTWBVE (k) "tp/fse.r"; ektwbve_odui WBI_E_IW wt, ht:/odmog) gkwde_hwal(i) t_igtso_l wn; gkmi (; t_an ) C · There are some changes, though! · For simple uses changes are none or minimal · Start porting your application now! # webkitgtk # fosdem 13/24
  • 14. Differences are small(–ish) · Some classes renamed (mostly removing “Web”): - W b i W b e t n s→ W b i S t i g eKteStig eKtetns - W b i W b l g n→ W b i P u i eKtePui eKtlgn - WbiWbitrIe → WbiBcFradittm eKteHsoytm eKtakowrLsIe - … · Some new classes (mostly new fatures): - WbiCneteu eKtotxMn - WbiScrtMngr eKteuiyaae - … · Some classes gone away (no longer needed, or missing): - WbiWblgnaaae eKtePuiDtbs - WbiWbrm eKteFae - … # webkitgtk # fosdem 14/24
  • 16. To the future… and beyond Slicker media controls New media controls Old media controls # webkitgtk # fosdem 16/24
  • 17. To the future… and beyond WebKitGTK+ on Wayland with WebGL 0:51 # webkitgtk # fosdem 17/24
  • 18. To the future… and beyond Epiphany overview Epiphany overview # webkitgtk # fosdem 18/24
  • 19. To the future… and beyond Epiphany “UXperiments” 0:00 # webkitgtk # fosdem 19/24
  • 20. To the future… and beyond And more! · Text rendering with Harfbuzz · GObject Introspection for WebKit2GTK+ · GStreamer 1.0 for multimedia · HW accelerated video rendering · WebP and Opus support · Native notifications · Web applications · Print preview · Win32 (printing, IPC, etc.) · … · ${FEATURE} # webkitgtk # fosdem 20/24
  • 22. Conclusions tl;dr · Mature port, widely used · Released regularly, every ~6 months · Well maintained · Useable for developing serious browsers · Scales from desktop to embedded · WebKit2GTK+ API nearing completion, stabilization approaching - Beta since 3.6 - Epiphany adopting it for 3.8 · WebKit1GTK+ API still being maintained - New features and improvements for WebKit2GTK+ first # webkitgtk # fosdem 22/24
  • 23. Contributing Every single bit matters · bugs.webkit.org · webkitgtk.org · webkit.org · Mailing lists: - wbi-t@it.ektog ektgklsswbi.r - wbi-e@it.ektog ektdvlsswbi.r · IRC channels on i c f e n d . e : r.reoent - #ektt+ wbigk - #ekt wbi # webkitgtk # fosdem 23/24
  • 24. Thank You! …and enjoy the rest of FOSDEM twitter @aperezdc www perezdecastro.org github github.com/aperezdc