Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
WebKit-API
Search
yashigani
May 03, 2014
Technology
0
940
WebKit-API
Kyoto.なんかでWebKit APIについて話しました
yashigani
May 03, 2014
Tweet
Share
More Decks by yashigani
See All by yashigani
Hatena Engineer Seminar #10
yashigani
0
2.3k
Dependency Injection in iOS Apps
yashigani
2
490
Multiple layout with UITableViewCell
yashigani
1
3.5k
Lazy stored property
yashigani
3
2.1k
Code reviewing in iOS app development
yashigani
9
4.5k
Useful 3 techniques developing in iOS Apps
yashigani
0
1.5k
Introduction to WebKitPlus
yashigani
2
2.4k
Types in Swift
yashigani
5
2.3k
Swift with apps by Hatena
yashigani
13
29k
Other Decks in Technology
See All in Technology
「育てる」サーバーレス 〜チーム開発研修で学んだ、小さく始めて大きく拡張するAWS設計〜
yu_kod
1
200
解消したはずが…技術と人間のエラーが交錯する恐怖体験
lamaglama39
0
140
オブザーバビリティプラットフォーム開発におけるオブザーバビリティとの向き合い / Hatena Engineer Seminar #34 オブザーバビリティの実現と運用編
arthur1
0
150
Expertise as a Service via MCP
yodakeisuke
1
160
手動からの解放!!Strands Agents で実現する総合テスト自動化
ideaws
3
410
Perlアプリケーションで トレースを実装するまでの 工夫と苦労話
masayoshi
0
170
「手を動かした者だけが世界を変える」ソフトウェア開発だけではない開発者人生
onishi
15
7.9k
【Λ(らむだ)】最近のアプデ情報 / RPALT20250729
lambda
0
150
Kiro Hookを Terraformで検証
ao_inoue
0
140
モバイルゲームの開発を支える基盤の歩み ~再現性のある開発ラインを量産する秘訣~
qualiarts
0
890
Recoil脱却の現状と挑戦
kirik
3
480
AIに全任せしないコーディングとマネジメント思考
kikuchikakeru
0
290
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
4 Signs Your Business is Dying
shpigford
184
22k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Thoughts on Productivity
jonyablonski
69
4.8k
Navigating Team Friction
lara
188
15k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
How to Ace a Technical Interview
jacobian
278
23k
Designing for humans not robots
tammielis
253
25k
Testing 201, or: Great Expectations
jmmastey
43
7.6k
Facilitating Awesome Meetings
lara
54
6.5k
Speed Design
sergeychernyshev
32
1k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Transcript
ΒΕ͟ΔWebKit APIͷੈք @yashigani Kyoto.ͳΜ͔
@yashigani • iOS / Mac Application Engineer • http://yashigani.hatenablog.com/ •
Sleipnir for Mac / Sleipnir Mobile for iOS • ࠷ۙChrome ExtensionsσϏϡʔ͠·ͨ͠
None
Architecture of WebKit ! ! ! WebKit API WebCore JaveScriptCore
WTF
WebKitʹ3छྨͷAPI͕͋Δ
3छྨͷAPI • WebKit(WebKit 1) • Chromium WebKit(Blink) • WebKit 2
Ͳͷϒϥβʁ • Other WebKit base Browsers • Chromium / Google
Chrome • Safari / Mobile Safari
What different?
Process Model
WebKit 1 • ॴҦWebView/UIWebView • ϥΠϒϥϦͱ͍ͯ͘͢͠ઃܭ • ϓϥοτϑΥʔϜ͝ͱʹ߹ͬͨAPI • ϨϯμϦϯάΛؚΊͯ୯ҰͷϓϩηεͰ݁
Chromium WebKit(Blink) • RendererͷͨΊͷAPI • WebKit(WebCore)ΛແཧཧϚϧνϓϩηε Ͱ͏ • ChromiumຊମͱIPCͰΓͱΓ •
JavaScriptCore -> V8
! ! ! ! ! WebKit API WebCore Chromium (Application)
Renderer (Application) IPC Chromium WebKit API Boundary Host Process Renderer Process
WebKit 2 • WebKitࣗମʹϚϧνϓϩηεϞσϧΛಋೖ • API͕UI ProcessͱWeb Processʹ • C
API • υΩϡϝϯτ͕Ұແ͍ • ࠓͷͱ͜ΖSafariͷͨΊͷAPI
! ! WebKit2 ! ! WebKit API(UI Process) WebCore WebKit
API(Web Process) API Boundary Application UI Process Web Process
WebKitʹ͍Ζ͍Ζ͋Δʂ
·ͱΊ • WebKit = ͓͍ͦ • Chromium WebKit = ΊͬͪΌ͍
• WebKit 2 = ΊͬͪΌ͍
Sleipnir͕ΜͬͯΔʂ
WebKitࡶஊ • No release, No versions • WWDCΑΓલʹ࠷৽ใ͕Θ͔Δ(͜ͱ͋Δ) • Chromium
Embedded Framework • node-webkit
More info… • WebKit2 ͱ༇շͳؒͨͪ • http://steps.dodgson.org/b/2012/03/28/ webkit2-and-other-approaches/ • How
WebKit Works • https://docs.google.com/presentation/d/ 1ZRIQbUKw9Tf077odCh66OrrwRIVNLvI_nhLm 2Gi__F0/pub#slide=id.p
• WebKit Open Source Project - Technical Articles • http://www.webkit.org/coding/technical-
articles.html • WebKit 2 - WebKit • http://trac.webkit.org/wiki/WebKit2 • For Developers - The Chromium Project • http://www.chromium.org/developers
Thank you!