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
480
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.3k
Types in Swift
yashigani
5
2.3k
Swift with apps by Hatena
yashigani
13
29k
Other Decks in Technology
See All in Technology
ゆるSRE #11 LT
okaru
1
550
上長や社内ステークホルダーに対する解像度を上げて、より良い補完関係を築く方法 / How-to-increase-resolution-and-build-better-complementary-relationships-with-your-bosses-and-internal-stakeholders
madoxten
13
6.9k
Model Mondays S2E01: Advanced Reasoning
nitya
0
110
ソフトウェア開発現代史: "LeanとDevOpsの科学"の「科学」とは何か? - DORA Report 10年の変遷を追って - #開発生産性_findy
takabow
1
350
Tensix Core アーキテクチャ解説
tenstorrent_japan
0
330
AIエージェントの継続的改善のためオブザーバビリティ
pharma_x_tech
1
170
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
270
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
6.3k
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
7.1k
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
770
Oracle Cloud Infrastructureデータベース・クラウド:各バージョンのサポート期間
oracle4engineer
PRO
48
33k
Cloud Native Scalability for Internal Developer Platforms
hhiroshell
2
130
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
The Cult of Friendly URLs
andyhume
79
6.4k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
Rebuilding a faster, lazier Slack
samanthasiow
81
9k
Thoughts on Productivity
jonyablonski
69
4.7k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
228
22k
Adopting Sorbet at Scale
ufuk
77
9.4k
VelocityConf: Rendering Performance Case Studies
addyosmani
329
24k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
180
53k
Raft: Consensus for Rubyists
vanstee
138
7k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Documentation Writing (for coders)
carmenintech
71
4.9k
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!