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
JSCore on iOS
Search
Kenny Tang
October 27, 2015
Technology
1
170
JSCore on iOS
Lightning talk at Flipconf 2.0, Oct 2015.
Credits to @romaonthego for awesome code and inspiration.
Kenny Tang
October 27, 2015
Tweet
Share
More Decks by Kenny Tang
See All by Kenny Tang
Open Source Swift
kenshin03
0
45
Other Decks in Technology
See All in Technology
株式会社EventHub・エンジニア採用資料
eventhub
0
4.2k
RSNA2024振り返り
nanachi
0
500
Culture Deck
optfit
0
330
Platform Engineeringは自由のめまい
nwiizo
4
1.9k
転生CISOサバイバル・ガイド / CISO Career Transition Survival Guide
kanny
2
390
【Developers Summit 2025】プロダクトエンジニアから学ぶ、 ユーザーにより高い価値を届ける技術
niwatakeru
2
890
サーバーレスアーキテクチャと生成AIの融合 / Serverless Meets Generative AI
_kensh
12
3k
AWSでRAGを実現する上で感じた3つの大事なこと
ymae
3
1k
現場で役立つAPIデザイン
nagix
29
10k
技術負債の「予兆検知」と「状況異変」のススメ / Technology Dept
i35_267
1
1k
5分で紹介する生成AIエージェントとAmazon Bedrock Agents / 5-minutes introduction to generative AI agents and Amazon Bedrock Agents
hideakiaoyagi
0
220
プロセス改善による品質向上事例
tomasagi
1
1.6k
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
99
18k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
540
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Designing Experiences People Love
moore
139
23k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
630
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
29
2.2k
Navigating Team Friction
lara
183
15k
Making the Leap to Tech Lead
cromwellryan
133
9.1k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.6k
Thoughts on Productivity
jonyablonski
69
4.5k
Transcript
Kenny Tang JSCore on iOS
JSCore on iOS JSCore
JSCore on iOS Web
None
loadRequest: to load a web page
loadRequest: to load a web page stringByEvaluatingJavaScriptFromString: @"alert('hello') to execute
javascript
loadRequest: to load a web page stringByEvaluatingJavaScriptFromString: @"alert('hello') to execute
javascript runtime invokes callback methods on your delegate class on link click events
loadRequest: to load a web page stringByEvaluatingJavaScriptFromString: @"alert('hello') to execute
javascript basis of hybrid apps and frameworks runtime invokes callback methods on your delegate class on link click events
None
resource intensive SLOW APPS must run on main thread synchronous
same process #1 cause of crashes
WKWebview iOS 8
WKWebview iOS 8 separate process message handlers w/ auto-serialization script
injection on doc load start/end Nitro JS engine 3x faster Sunspider benchmarks Designed for displaying web content
what it is + why we should care JSCore on
iOS
JSCore on iOS Safari’s nitro JS engine exposed as a
framework No webviews needed, multi-threaded What makes React Native possible
None
None
None
None
None
None
None
None
None
None
60 FPS 100 cells 20 cells
60 FPS 100 cells 20 cells
http://kalapun.com/posts/more-javascriptcore-benchmarking/
http://kalapun.com/posts/more-javascriptcore-benchmarking/
Write JS from now on?
Write JS from now on? Effort of writing binding classes
Debuggability Perf Overhead
Practical Applications Code Sharing: Web & Native Update client runtime
behavior - no binary resubmission
WWDC 2013 Session 615 WWDC 2014 Session 206 nshipster.com/javascriptcore/