SlideShare a Scribd company logo
WebKitGtk+
  허준회 (Joone Hur)
http://opensoftware.kr
Who am I?

    • Working for Collabora
          – WebKitGtk+, WebKit-Clutter

    • WebKit Committer




GNOME3 Korea Launching Party               2
WeKit Project

                               • 오픈소스 웹 엔진

                               • 2 백만 라인 코드 , 대부분 C++

                               • ~10 % 브라우저가 사용

                               • 150 명 커미터

                               • LGPL, BSD License




GNOME3 Korea Launching Party                            3
WebKit 의 시작

                               • KDE Project 에서 KHTML/KJS 로 시작

                               • Apple 에서 Fork 하여 2001 년 부터 개
                                발 시작

                               • 2005 년 오픈소스화 됨

                               • Apple, Google 주도로 프로젝트 운영




GNOME3 Korea Launching Party                                     4
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
누가 사용하는가 ?




GNOME3 Korea Launching Party                6
Who develop WebKit?




GNOME3 Korea Launching Party                         7
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%20Team
GNOME3 Korea Launching Party                                                           8
WebKit Architecture




GNOME3 Korea Launching Party                         9
WebKit Components
    • WebKit
          – API, OS Interaction Layer

    • WebCore
          – Rendering, Layout, Painting, DOM, Binding, etc

    • JavaScriptCore/V8
          – JavaScript Engine, JS Execution




GNOME3 Korea Launching Party                                 10
WebKitGtk+




GNOME3 Korea Launching Party                11
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/ApplicationsGtk

GNOME3 Korea Launching Party                                                  12
Working with GNOME Platform

    • Cairo for rendering

    • Pango for fonts

    • GTK+ for theming/widgets

    • Soup for networking

    • GStreamer for HTML5 video

    • PyGtk+ support


GNOME3 Korea Launching Party                  13
Release Planning
    • We'll 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, we'll remove it from stable
        releases after a reasonable amount of time (think, two major
        releases).




                                                            http://webkitgtk.org/gcds.html
GNOME3 Korea Launching Party                                                           14
GObject DOM bindings

    • Access to DOM APIs through native GObject layer




GNOME3 Korea Launching Party                            15
GTK+3 Support

    • Dual support for 2.x and 3.x (--with-gtk={2.0,3.0})




GNOME3 Korea Launching Party                                16
WebKit2




    • Multiple Process Support

                                     http://trac.webkit.org/wiki/WebKit2
GNOME3 Korea Launching Party                                           17
Multiple Process 지원
                                     • 목적
             Web Process              – UI 반응성 향상
        W          W           W
                                      – Content 에 의한 Crash 방지

                                      – 전반적인 성능 향상

                                      – Multi-Core 지원
       Tab        Tab          Tab
                                      – 보안성 강화
              UI Process             • 단점

                                      – 메모리를 많이 사용함

                                      – 포팅이 어렵다

GNOME3 Korea Launching Party                                    18
Future Work

    • DOM binding

    • WebKit2

    • Accelerating Compositing




GNOME3 Korea Launching Party                 19
The WebKit Community




GNOME3 Korea Launching Party                          20
WebKit Community

    • Contributor/Committer/Reviewer 로 구성

    • Apple, Google, Nokia, RIM, Samsung, Motorola,
         Erricson
    • Collabora, Igalia




GNOME3 Korea Launching Party                          21
어떻게 참여하는가 ?
                                     공개 소스 저장소
                                      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 - WWDC2008
GNOME3 Korea Launching Party                                                          22
Download Source Code

    • http://nightly.webkit.org/




GNOME3 Korea Launching Party                     23
Checkout
                               the development tree
    • Using git
          – git clone git://git.webkit.org/WebKit.git

    • Using svn
          – svn co http://svn.webkit.org/repository/webkit/trunk




GNOME3 Korea Launching Party                                       24
Build

    • Supported Platforms
          – Mac for Mac/Window

          – Gtk/Qt for Linux/Window

          – MeeGo, Symbian...




GNOME3 Korea Launching Party            25
Build Prerequisite for Linux

    • sudo apt-get install autoconf automake
         autotools-dev bison flex gperf libglib2.0-dev ..



    • https://trac.webkit.org/wiki/BuildingGtk




GNOME3 Korea Launching Party                                26
Build Command

    • WebKit/Tools/Scripts/build-webkit --gtk --debug




GNOME3 Korea Launching Party                            27
Build Options

    • $ Tools/Scripts/build-webkit –gtk --tiled-backing-
         store –3d-canvas

         --debug

         --makeargs=-j4




GNOME3 Korea Launching Party                               28
Running a launcher
    • $ Tools/Scripts/run-launcher --gtk --debug

    • $ WebKitBuild/Release/Programs/GtkLauncher




GNOME3 Korea Launching Party                        29
Get involved!

    • http://live.gnome.org/WebKit

    • http://webkit.org

    • http://webkitgtk.org

    • IRC: #webkit, #webkit-gtk / FreeNode




GNOME3 Korea Launching Party                   30
WebKitGtk+ HackFest




GNOME3 Korea Launching Party                     31
Q&A




GNOME3 Korea Launching Party         32
References



   ●
    http://webkitgtk.org/gcds.html
   ●
    http://webkit.org
   ●
    http://Webkitgtk.org




GNOME3 Korea Launching Party                33

More Related Content

ODP
How to use WebKitGtk+
PDF
Hybrid Desktop/Web applications with WebKitGTK+ (COSCUP 2010)
PDF
WebKit2 And You (GUADEC 2013)
PDF
Ewebkit basic (Web rendering enging of EFL)
PDF
WebKit and GStreamer
PDF
Multimedia in WebKitGtk+, past/present/future
PDF
Petri Niemi Qt Web Kit
PDF
Hw accelerated webkitgtk+ on raspberry pi
How to use WebKitGtk+
Hybrid Desktop/Web applications with WebKitGTK+ (COSCUP 2010)
WebKit2 And You (GUADEC 2013)
Ewebkit basic (Web rendering enging of EFL)
WebKit and GStreamer
Multimedia in WebKitGtk+, past/present/future
Petri Niemi Qt Web Kit
Hw accelerated webkitgtk+ on raspberry pi

What's hot (19)

PDF
WebKit, HTML5 media and GStreamer on multiple platforms
PPTX
Webkit Chromium Contribution Process
PDF
Android Chromium Rendering Pipeline
PPTX
Chromium wayland
PDF
WebKit and Blink: open development powering the HTML5 revolution
PDF
The Internal Architecture of Chrome Developer Tools
PDF
Efficient multimedia support in QtWebKit on Raspberry Pi (GStreamer Conferenc...
PDF
WebKit Clutter Port Present and Future; WebKitGtk Status and Roadmap to WebKi...
PDF
LCU14 208- Chromium-Blink Migration for RDK
PDF
WebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 Revolution
PDF
GStreamer support in WebKit. what’s new?
PDF
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
PPT
Life of a Chromium Developer
PDF
OVERVIEW: Chromium Source Tree
PDF
HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...
PDF
Chromium Ozone
PDF
WebKit for Wayland (Web Engines Hackfest 2014)
PDF
HTML5 on the AGL demo platform with Chromium and WAM (AGL AMM March 2021)
PPTX
Android chromium web view
WebKit, HTML5 media and GStreamer on multiple platforms
Webkit Chromium Contribution Process
Android Chromium Rendering Pipeline
Chromium wayland
WebKit and Blink: open development powering the HTML5 revolution
The Internal Architecture of Chrome Developer Tools
Efficient multimedia support in QtWebKit on Raspberry Pi (GStreamer Conferenc...
WebKit Clutter Port Present and Future; WebKitGtk Status and Roadmap to WebKi...
LCU14 208- Chromium-Blink Migration for RDK
WebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 Revolution
GStreamer support in WebKit. what’s new?
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
Life of a Chromium Developer
OVERVIEW: Chromium Source Tree
HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...
Chromium Ozone
WebKit for Wayland (Web Engines Hackfest 2014)
HTML5 on the AGL demo platform with Chromium and WAM (AGL AMM March 2021)
Android chromium web view
Ad

Viewers also liked (12)

PDF
פיתוח אפליקציות Webkit לדפדפנים סלולריים Ppt
PDF
FrontTalks: Вадим Макеев (Opera Software), «Зачем Опере Вебкит, или Опиум для...
PPTX
WebKit vs. the mobile Web
PDF
WebKit, why it matters (PDF version)
PDF
Guides To Analyzing WebKit Performance
PDF
[KOR][E-Kor-Seminar 2014][2/8] Webkit EFL (Ryuan)
PDF
LCA2013 : Implementing threaded accelerated compositing in WebKitGtk+
PDF
Android pour l'industrie
PDF
Understanding Webkit Rendering
PDF
Webkit/chromium contribution process
PDF
The WebKit project
PDF
Airbnb tech talk: Levi Weintraub on webkit
פיתוח אפליקציות Webkit לדפדפנים סלולריים Ppt
FrontTalks: Вадим Макеев (Opera Software), «Зачем Опере Вебкит, или Опиум для...
WebKit vs. the mobile Web
WebKit, why it matters (PDF version)
Guides To Analyzing WebKit Performance
[KOR][E-Kor-Seminar 2014][2/8] Webkit EFL (Ryuan)
LCA2013 : Implementing threaded accelerated compositing in WebKitGtk+
Android pour l'industrie
Understanding Webkit Rendering
Webkit/chromium contribution process
The WebKit project
Airbnb tech talk: Levi Weintraub on webkit
Ad

Similar to WebKitGtk+ Project (20)

PDF
Add the power of the Web to your embedded devices with WPE WebKit
PDF
Igalia and WebKit: Status update and plans
PDF
Industry trend of HTML5 in 2012 (2012년 HTML5 총정리)
PDF
2021 WebKit Contributors Meeting, Igalia
PDF
Update on the open source browser space (16th GENIVI AMM)
PDF
State of the kit (FOSDEM 2013)
PDF
Deview 2013 mobile browser internals and trends_20131022
PDF
Web application stores in GNOME (GUADEC 2012)
PDF
Guadec 2012 lt - web application stores in gnome
PDF
Desktop apps with node webkit
PDF
Ugly truths about html5 moosecon - robert virkus - 2013-03-07
PDF
WebKit and Blink: Open Development Powering the HTML5 Revolution (LinuxCon No...
PDF
Developments in the Qt WebKit Integration
PDF
Developing WebKitGTK Made Easy: wkdev-sdk
PDF
Wayland support in WebKit2GTK+ (GUADEC 2014)
PDF
Hybrid app dev trends
PDF
모바일 경제
PDF
Brian Le Roux Presentation Introducing Phone Gap
PDF
Native Desktop App with Node.js Webkit (HTML, CSS & Javascript)
PDF
Future of Mobile Web Application and Web App Store
Add the power of the Web to your embedded devices with WPE WebKit
Igalia and WebKit: Status update and plans
Industry trend of HTML5 in 2012 (2012년 HTML5 총정리)
2021 WebKit Contributors Meeting, Igalia
Update on the open source browser space (16th GENIVI AMM)
State of the kit (FOSDEM 2013)
Deview 2013 mobile browser internals and trends_20131022
Web application stores in GNOME (GUADEC 2012)
Guadec 2012 lt - web application stores in gnome
Desktop apps with node webkit
Ugly truths about html5 moosecon - robert virkus - 2013-03-07
WebKit and Blink: Open Development Powering the HTML5 Revolution (LinuxCon No...
Developments in the Qt WebKit Integration
Developing WebKitGTK Made Easy: wkdev-sdk
Wayland support in WebKit2GTK+ (GUADEC 2014)
Hybrid app dev trends
모바일 경제
Brian Le Roux Presentation Introducing Phone Gap
Native Desktop App with Node.js Webkit (HTML, CSS & Javascript)
Future of Mobile Web Application and Web App Store

More from Joone Hur (9)

PDF
Accelerate graphics performance with ozone-gbm on Intel based Linux desktop s...
ODP
GNOME development on Tizen Mobile
PDF
Hardware Acceleration in WebKit
PDF
GNOME3 & 그놈 한국 공동체
PDF
웹 브라우저는 어떻게 동작하나? (2)
PDF
웹브라우저는 어떻게 동작하나?
PDF
Web Standards Support in WebKit
PDF
WebKit at the Future Web Forum 2010
PDF
Fennec의 현재와 미래
Accelerate graphics performance with ozone-gbm on Intel based Linux desktop s...
GNOME development on Tizen Mobile
Hardware Acceleration in WebKit
GNOME3 & 그놈 한국 공동체
웹 브라우저는 어떻게 동작하나? (2)
웹브라우저는 어떻게 동작하나?
Web Standards Support in WebKit
WebKit at the Future Web Forum 2010
Fennec의 현재와 미래

Recently uploaded (20)

PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Spectroscopy.pptx food analysis technology
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
sap open course for s4hana steps from ECC to s4
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
The Rise and Fall of 3GPP – Time for a Sabbatical?
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Review of recent advances in non-invasive hemoglobin estimation
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Dropbox Q2 2025 Financial Results & Investor Presentation
Spectroscopy.pptx food analysis technology
The AUB Centre for AI in Media Proposal.docx
Chapter 3 Spatial Domain Image Processing.pdf
NewMind AI Weekly Chronicles - August'25 Week I
sap open course for s4hana steps from ECC to s4
Digital-Transformation-Roadmap-for-Companies.pptx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
MYSQL Presentation for SQL database connectivity
Spectral efficient network and resource selection model in 5G networks
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Unlocking AI with Model Context Protocol (MCP)
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy

WebKitGtk+ Project

  • 1. WebKitGtk+ 허준회 (Joone Hur) http://opensoftware.kr
  • 2. Who am I? • Working for Collabora – WebKitGtk+, WebKit-Clutter • WebKit Committer GNOME3 Korea Launching Party 2
  • 3. WeKit Project • 오픈소스 웹 엔진 • 2 백만 라인 코드 , 대부분 C++ • ~10 % 브라우저가 사용 • 150 명 커미터 • LGPL, BSD License GNOME3 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%20Team GNOME3 Korea Launching Party 8
  • 10. WebKit Components • WebKit – API, OS Interaction Layer • WebCore – Rendering, Layout, Painting, DOM, Binding, etc • JavaScriptCore/V8 – JavaScript Engine, JS Execution GNOME3 Korea Launching Party 10
  • 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/ApplicationsGtk GNOME3 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+ support GNOME3 Korea Launching Party 13
  • 14. Release Planning • We'll 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, we'll remove it from stable releases after a reasonable amount of time (think, two major releases). http://webkitgtk.org/gcds.html GNOME3 Korea Launching Party 14
  • 15. GObject DOM bindings • Access to DOM APIs through native GObject layer GNOME3 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/WebKit2 GNOME3 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 Compositing GNOME3 Korea Launching Party 19
  • 20. The WebKit Community GNOME3 Korea Launching Party 20
  • 21. WebKit Community • Contributor/Committer/Reviewer 로 구성 • Apple, Google, Nokia, RIM, Samsung, Motorola, Erricson • Collabora, Igalia GNOME3 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 - WWDC2008 GNOME3 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/trunk GNOME3 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/BuildingGtk GNOME3 Korea Launching Party 26
  • 27. Build Command • WebKit/Tools/Scripts/build-webkit --gtk --debug GNOME3 Korea Launching Party 27
  • 28. Build Options • $ Tools/Scripts/build-webkit –gtk --tiled-backing- store –3d-canvas --debug --makeargs=-j4 GNOME3 Korea Launching Party 28
  • 29. Running a launcher • $ Tools/Scripts/run-launcher --gtk --debug • $ WebKitBuild/Release/Programs/GtkLauncher GNOME3 Korea Launching Party 29
  • 30. Get involved! • http://live.gnome.org/WebKit • http://webkit.org • http://webkitgtk.org • IRC: #webkit, #webkit-gtk / FreeNode GNOME3 Korea Launching Party 30
  • 31. WebKitGtk+ HackFest GNOME3 Korea Launching Party 31
  • 33. References ● http://webkitgtk.org/gcds.html ● http://webkit.org ● http://Webkitgtk.org GNOME3 Korea Launching Party 33