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
59
Other Decks in Technology
See All in Technology
【Agentforce Hackathon Tokyo 2025 発表資料】みらいシフト:あなた働き方を、みらいへシフト。
kuratani
0
120
AI に「学ばせ、調べさせ、作らせる」。Auth0 開発を加速させる7つの実践的アプローチ
scova0731
0
300
Node vs Deno vs Bun 〜推しランタイムを見つけよう〜
kamekyame
1
520
旬のブリと旬の技術で楽しむ AI エージェント設計開発レシピ
chack411
1
280
サラリーマンソフトウェアエンジニアのキャリア
yuheinakasaka
41
19k
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
3.7k
1万人を変え日本を変える!!多層構造型ふりかえりの大規模組織変革 / 20260108 Kazuki Mori
shift_evolve
PRO
6
1.5k
Data Hubグループ 紹介資料
sansan33
PRO
0
2.6k
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
1
920
Kusakabe_面白いダッシュボードの表現方法
ykka
0
290
新米スクラムマスターの4ヶ月 -「スクラムイベントを回しているのに手応えがない」からの脱出 / Four Months as a New Scrum Master — When Scrum Events Were Running, but Nothing Felt Right
owata
0
170
#22 CA × atmaCup 3rd 1st Place Solution
yumizu
1
220
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
34
9.1k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
0
1k
Crafting Experiences
bethany
0
32
Test your architecture with Archunit
thirion
1
2.1k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.1k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
130
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
82
How to make the Groovebox
asonas
2
1.9k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
110
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
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/