webkitgtk+ project

33
WebKitGtk+ 허준회 (Joone Hur) http://opensoftware.kr

Upload: joone-hur

Post on 11-Nov-2014

3.067 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

  • 1. WebKitGtk+ (Joone Hur)http://opensoftware.kr
  • 2. Who am I? Working for Collabora WebKitGtk+, WebKit-Clutter WebKit CommitterGNOME3 Korea Launching Party 2
  • 3. WeKit Project 2 , C++ ~10 % 150 LGPL, BSD LicenseGNOME3 Korea Launching Party 3
  • 4. WebKit KDE Project KHTML/KJS Apple Fork 2001 2005 Apple, Google GNOME3 Korea Launching Party 4
  • 5. WebKit Port WebKitMac WebKitWin WebKitGtk WebKitQt/EFL WebKitChromium WebCore JavaScriptCore WebCoreSupport OSX/iOS Windows GTK+ QT EFL Android Chromium WindowsCE, Brew wxWidget, Haiku(BeOS) GNOME3 Korea Launching Party 5
  • 6. ?GNOME3 Korea Launching Party 6
  • 7. Who develop WebKit?GNOME3 Korea Launching Party 7
  • 8. WebKit Maintainers etc 50 28% Apple 57 31% Apple Google Nokia RIM 3 2% RIM etc Nokia 7 4% Google 64 35% http://trac.webkit.org/wiki/WebKit%20TeamGNOME3 Korea Launching Party 8
  • 9. WebKit ArchitectureGNOME3 Korea Launching Party 9
  • 10. WebKit Components WebKit API, OS Interaction Layer WebCore Rendering, Layout, Painting, DOM, Binding, etc JavaScriptCore/V8 JavaScript Engine, JS ExecutionGNOME3 Korea Launching Party 10
  • 11. WebKitGtk+GNOME3 Korea Launching Party 11
  • 12. WebKitGtk+ A regular GtkWidget you can add to your GtkScrolledWindow and profit Applications using WebKitGtk+ Epiphany/Midori Empathy DevHelp Evolution (Experimental) http://trac.webkit.org/wiki/ApplicationsGtkGNOME3 Korea Launching Party 12
  • 13. Working with GNOME Platform Cairo for rendering Pango for fonts GTK+ for theming/widgets Soup for networking GStreamer for HTML5 video PyGtk+ supportGNOME3 Korea Launching Party 13
  • 14. Release Planning Well release for GNOME every 6 months But might not branch from trunk that often. An API is declared stable when it ships in a new stable release. We can, and will break APIs during development cycles (this is how GTK+ works today). After an API is declared deprecated, well remove it from stable releases after a reasonable amount of time (think, two major releases). http://webkitgtk.org/gcds.htmlGNOME3 Korea Launching Party 14
  • 15. GObject DOM bindings Access to DOM APIs through native GObject layerGNOME3 Korea Launching Party 15
  • 16. GTK+3 Support Dual support for 2.x and 3.x (--with-gtk={2.0,3.0})GNOME3 Korea Launching Party 16
  • 17. WebKit2 Multiple Process Support http://trac.webkit.org/wiki/WebKit2GNOME3 Korea Launching Party 17
  • 18. Multiple Process Web Process UI W W W Content Crash Multi-Core Tab Tab Tab UI Process GNOME3 Korea Launching Party 18
  • 19. Future Work DOM binding WebKit2 Accelerating CompositingGNOME3 Korea Launching Party 19
  • 20. The WebKit CommunityGNOME3 Korea Launching Party 20
  • 21. WebKit Community Contributor/Committer/Reviewer Apple, Google, Nokia, RIM, Samsung, Motorola, Erricson Collabora, IgaliaGNOME3 Korea Launching Party 21
  • 22. ? svn.webkit.org bugs.webkit.org nightly.webkit.org webkit.org lists.webkit.org IRC #webkit irc.freenode.net Safari and WebKit Overview, Session 325 - WWDC2008GNOME3 Korea Launching Party 22
  • 23. Download Source Code http://nightly.webkit.org/GNOME3 Korea Launching Party 23
  • 24. Checkout the development tree Using git git clone git://git.webkit.org/WebKit.git Using svn svn co http://svn.webkit.org/repository/webkit/trunkGNOME3 Korea Launching Party 24
  • 25. Build Supported Platforms Mac for Mac/Window Gtk/Qt for Linux/Window MeeGo, Symbian...GNOME3 Korea Launching Party 25
  • 26. Build Prerequisite for Linux sudo apt-get install autoconf automake autotools-dev bison flex gperf libglib2.0-dev .. https://trac.webkit.org/wiki/BuildingGtkGNOME3 Korea Launching Party 26
  • 27. Build Command WebKit/Tools/Scripts/build-webkit --gtk --debugGNOME3 Korea Launching Party 27
  • 28. Build Options $ Tools/Scripts/build-webkit gtk --tiled-backing- store 3d-canvas --debug --makeargs=-j4GNOME3 Korea Launching Party 28
  • 29. Running a launcher $ Tools/Scripts/run-launcher --gtk --debug $ WebKitBuild/Release/Programs/GtkLauncherGNOME3 Korea Launching Party 29
  • 30. Get involved! http://live.gnome.org/WebKit http://webkit.org http://webkitgtk.org IRC: #webkit, #webkit-gtk / FreeNodeGNOME3 Korea Launching Party 30
  • 31. WebKitGtk+ HackFestGNOME3 Korea Launching Party 31
  • 32. Q&AGNOME3 Korea Launching Party 32
  • 33. References http://webkitgtk.org/gcds.html http://webkit.org http://Webkitgtk.orgGNOME3 Korea Launching Party 33