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
180
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
46
Other Decks in Technology
See All in Technology
IVRyにおけるNLP活用と NLP2025の関連論文紹介
keisukeosone
0
180
近年の PyCon 情勢から見た PyCon APAC のまとめ
terapyon
0
280
SREが実現する開発者体験の革新
sansantech
PRO
0
160
アセスメントで紐解く、10Xのデータマネジメントの軌跡
10xinc
1
350
AI Agentを「期待通り」に動かすために:設計アプローチの模索と現在地
kworkdev
PRO
2
380
”知のインストール”戦略:テキスト資産をAIの文脈理解に活かす
kworkdev
PRO
9
4.1k
データベースで見る『家族アルバム みてね』の変遷 / The Evolution of Family Album Through the Lens of Databases
kohbis
4
1.1k
AIエージェント開発における「攻めの品質改善」と「守りの品質保証」 / 2024.04.09 GPU UNITE 新年会 2025
smiyawaki0820
0
400
クォータ監視、AWS Organizations環境でも楽勝です✌️
iwamot
PRO
1
230
AWSLambdaMCPServerを使ってツールとMCPサーバを分離する
tkikuchi
1
2.1k
FinOps_Demo
tkhresk
0
130
Стильный код: натуральный поиск редких атрибутов по картинке. Юлия Антохина, Data Scientist, Lamoda Tech
lamodatech
0
140
Featured
See All Featured
A better future with KSS
kneath
239
17k
Gamification - CAS2011
davidbonilla
81
5.2k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Navigating Team Friction
lara
184
15k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
GraphQLの誤解/rethinking-graphql
sonatard
71
10k
Practical Orchestrator
shlominoach
186
10k
Code Reviewing Like a Champion
maltzj
522
39k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.2k
Building an army of robots
kneath
304
45k
Raft: Consensus for Rubyists
vanstee
137
6.9k
Become a Pro
speakerdeck
PRO
27
5.3k
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/