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
工業高校で学習したとあるエンジニアのキャリアの話
shirayanagiryuji
0
120
リモートワークで心掛けていること 〜AI活用編〜
naoki85
0
190
MCPサーバーを活用したAWSコスト管理
arie0703
0
130
九州の人に知ってもらいたいGISスポット / gis spot in kyushu 2025
sakaik
0
210
Amazon Bedrock AgentCore でプロモーション用動画生成エージェントを開発する
nasuvitz
6
280
[CVPR2025論文読み会] Linguistics-aware Masked Image Modelingfor Self-supervised Scene Text Recognition
s_aiueo32
0
110
20250807 Applied Engineer Open House
sakana_ai
PRO
2
640
LLM 機能を支える Langfuse / ClickHouse のサーバレス化
yuu26
9
2.7k
会社にデータエンジニアがいることでできるようになること
10xinc
8
1.2k
薬屋のひとりごとにみるトラブルシューティング
tomokusaba
0
400
文字列の並び順 / String Collation
tmtms
1
110
「Roblox」の開発環境とその効率化 ~DAU9700万人超の巨大プラットフォームの開発 事始め~
keitatanji
0
150
Featured
See All Featured
Producing Creativity
orderedlist
PRO
347
40k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
How to Think Like a Performance Engineer
csswizardry
25
1.8k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
How to train your dragon (web standard)
notwaldorf
96
6.2k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Visualization
eitanlees
146
16k
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!