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
190
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
61
Other Decks in Technology
See All in Technology
男(監査)はつらいよ - Policy as CodeからAIエージェントへ
ken5scal
4
630
Exadata Fleet Update
oracle4engineer
PRO
0
1.3k
バニラVisaギフトカードを棄てるのは結構大変
meow_noisy
0
160
チームメンバー迷わないIaC設計
hayama17
5
3.1k
Webアクセシビリティ技術と実装の実際
tomokusaba
0
140
Snowflake Night #2 LT
taromatsui_cccmkhd
0
270
opsmethod第1回_アラート調査の自動化にむけて
yamatook
0
330
Eight Engineering Unit 紹介資料
sansan33
PRO
1
6.8k
オンプレとGoogle Cloudを安全に繋ぐための、セキュア通信の勘所
waiwai2111
3
990
NW構成図の自動描画は何が難しいのか?/netdevnight3
corestate55
2
490
三菱UFJ銀行におけるエンタープライズAI駆動開発のリアル / Enterprise AI_Driven Development at MUFG Bank: The Real Story
muit
10
20k
AIエンジニア Devin と歩む、自律型運用プロセスの構築
a2ito
0
270
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
698
190k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Optimising Largest Contentful Paint
csswizardry
37
3.6k
We Are The Robots
honzajavorek
0
190
Chasing Engaging Ingredients in Design
codingconduct
0
130
Designing Experiences People Love
moore
144
24k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
92
Automating Front-end Workflow
addyosmani
1371
200k
Accessibility Awareness
sabderemane
0
71
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
80
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
190
Designing for humans not robots
tammielis
254
26k
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/