WebKitGtk+ Project
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
3,132
On Slideshare
2,666
From Embeds
466
Number of Embeds
5

Actions

Shares
Downloads
46
Comments
0
Likes
1

Embeds 466

http://gnome-kr.blogspot.com 296
http://gnome-kr.blogspot.kr 167
http://gnome-kr.blogspot.ca 1
http://gnome-kr.blogspot.jp 1
http://www.linkedin.com 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

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