nlw : he.lw* 7. - igalia · 3uhylrx vo\rq : he. lw* 7. 6wdeohuhohdvh [z he nlwjwn ir vg hp 1 r z hq...
TRANSCRIPT
State of the ${kit}(kit=WebKitGTK+)
Adrián PérezIgalia
WebKit BasicsIncludes 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
#webkitgtk #fosdem
Now enabled by default:
New features:
Boatloads of bugfixes.WebKit2GTK+ API augmented, nearing stabilization:
·GeolocationWebGLWeb Timing
---
·Accelerated compositingSmooth scrollingFull-screen modeHTML5 History APIWebAudioJSC LLint
------
··
To happen with GNOME 3.8, including Epiphany.WebKit1GTK+ API will still be maintained for a while.
--
8/24
WebKit2 nowState of the art
#webkitgtk #fosdem
WebKit2 announced in April 2010Apple has released Safari using itCross-platform internal C API existsOne Two Qt browsers out there in the wild
WebKitGTK+ is the next to have support ☺
····
N9 browser: uses the C APISnowshoe: uses Qt5
--
·
9/24
So… How's WebKit2GTK+ doing?The evil is in the details
Doing nicely:
#webkitgtk #fosdem
The basics have been working for quite a whileMost of the small details are already in place as of 1.10:
··
Context menusWeb inspectorFaviconsOn-disk cacheSpell checkingPrinting supportDocumentation, GI annotations…
-------
10/24
WebKit2 changes(For developers)
WebKit1GTK+Goal: same API for WebKit1GTK+ and WebKit2GTK+
#webkitgtk #fosdem
GtkWidget *wkt = webkit_web_view_new ();WebKitWebSettings *settings = webkit_web_view_get_settings (WEBKIT_WEB_VIEW (wkt))/* Configure using the the “settings” object */GtkWidget *win = gtk_window_new (GTK_WINDOW_TOPLEVEL);gtk_container_add (GTK_CONTAINER (win), wkt);webkit_web_view_load_uri (WEBKIT_WEB_VIEW (wkt), "http://fosdem.org");gtk_widget_show_all (win);gtk_main ();
C
12/24
WebKit2GTK+Goal: same API for WebKit1GTK+ and WebKit2GTK+
#webkitgtk #fosdem
GtkWidget *wkt = webkit_web_view_new ();WebKitSettings *settings = webkit_web_view_get_settings (WEBKIT_WEB_VIEW (wkt))/* Configure using the the “settings” object */GtkWidget *win = gtk_window_new (GTK_WINDOW_TOPLEVEL);gtk_container_add (GTK_CONTAINER (win), wkt);webkit_web_view_load_uri (WEBKIT_WEB_VIEW (wkt), "http://fosdem.org");gtk_widget_show_all (win);gtk_main ();
C
There are some changes, though!For simple uses changes are none or minimalStart porting your application now!
···
13/24
Differences are small(–ish)
#webkitgtk #fosdem
Some classes renamed (mostly removing “Web”):
Some new classes (mostly new fatures):
Some classes gone away (no longer needed, or missing):
·WebKitWebSettings → WebKitSettingsWebKitWebPlugin → WebKitPluginWebKitWebHistoryItem → WebKitBackForwardListItem…
----
·WebKitContextMenu
WebKitSecurityManager
…
---
·WebKitWebPluginDatabase
WebKitWebFrame
…
---
14/24
What next?A sneak peek
To the future… and beyondSlicker media controls
New media controls
Old media controls
#webkitgtk #fosdem 16/24
To the future… and beyondWebKitGTK+ on Wayland with WebGL
#webkitgtk #fosdem
0:51
17/24
To the future… and beyondEpiphany overview
Epiphany overview
#webkitgtk #fosdem 18/24
To the future… and beyondEpiphany “UXperiments”
#webkitgtk #fosdem
0:00
19/24
To the future… and beyondAnd more!
#webkitgtk #fosdem
Text rendering with HarfbuzzGObject Introspection for WebKit2GTK+GStreamer 1.0 for multimediaHW accelerated video renderingWebP and Opus supportNative notificationsWeb applicationsPrint previewWin32 (printing, IPC, etc.)…${FEATURE}
···········
20/24
Wrapping upConclusions, everybody ♥ these
Conclusionstl;dr
#webkitgtk #fosdem
Mature port, widely usedReleased regularly, every ~6 monthsWell maintainedUseable for developing serious browsersScales from desktop to embeddedWebKit2GTK+ API nearing completion, stabilization approaching
WebKit1GTK+ API still being maintained
······
Beta since 3.6Epiphany adopting it for 3.8
--
·New features and improvements for WebKit2GTK+ first-
22/24
ContributingEvery single bit matters
#webkitgtk #fosdem
bugs.webkit.orgwebkitgtk.orgwebkit.org
···
Mailing lists:·[email protected]
--
IRC channels on irc.freenode.net:·#webkitgtk+
#webkit
--
23/24
Thank You!…and enjoy the rest of FOSDEM
twitter @aperezdcwww perezdecastro.orggithub github.com/aperezdc