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
930
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.2k
Dependency Injection in iOS Apps
yashigani
2
460
Multiple layout with UITableViewCell
yashigani
1
3.4k
Lazy stored property
yashigani
3
2.1k
Code reviewing in iOS app development
yashigani
9
4.4k
Useful 3 techniques developing in iOS Apps
yashigani
0
1.5k
Introduction to WebKitPlus
yashigani
2
2.3k
Types in Swift
yashigani
5
2.3k
Swift with apps by Hatena
yashigani
13
29k
Other Decks in Technology
See All in Technology
なぜCodeceptJSを選んだか
goataka
0
160
How to be an AWS Community Builder | 君もAWS Community Builderになろう!〜2024 冬 CB募集直前対策編?!〜
coosuke
PRO
2
2.8k
社内イベント管理システムを1週間でAKSからACAに移行した話し
shingo_kawahara
0
190
2024年にチャレンジしたことを振り返るぞ
mitchan
0
140
統計データで2024年の クラウド・インフラ動向を眺める
ysknsid25
2
850
KubeCon NA 2024 Recap / Running WebAssembly (Wasm) Workloads Side-by-Side with Container Workloads
z63d
1
250
Fanstaの1年を大解剖! 一人SREはどこまでできるのか!?
syossan27
2
170
AWS re:Invent 2024で発表された コードを書く開発者向け機能について
maruto
0
190
AI時代のデータセンターネットワーク
lycorptech_jp
PRO
1
290
Wantedly での Datadog 活用事例
bgpat
1
500
NilAway による静的解析で「10 億ドル」を節約する #kyotogo / Kyoto Go 56th
ytaka23
3
380
podman_update_2024-12
orimanabu
1
280
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
181
21k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.9k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
GraphQLとの向き合い方2022年版
quramy
44
13k
How to Ace a Technical Interview
jacobian
276
23k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
28
900
Designing Experiences People Love
moore
138
23k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
32
2.7k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
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!