AirJD 焦点
AirJD

没有录音文件
00:00/00:00
加收藏

JSPatch成长之路-用JavaScriptBridge开发原生Native手机移动应用 by 陈振焯

发布者 mobile
发布于 1468372583396  浏览 2540 关键词 移动开发, Hybrid混合开发 
分享到

第1页

JSPatch JSPatch (bang) 2016.6.24 (bang)



第2页

iOS



第3页

iOS



第4页

iOS http://cnbang.net



第5页

iOS



第6页

iOS



第7页

iOS



第8页

iOS



第9页

• • •



第11页

App bug

( -> -> -> ->



)



第12页

waxPatch



第13页

waxPatch

Block 64

lua



第15页

JavaScript



第16页

JavaScript

JavaScriptCore JS



第17页

JavaScript

JavaScriptCore JS



第18页

JavaScriptBridge



第19页

JavaScriptBridge



第20页

Rollout



第21页

UIView.alloc()

JavaScriptCore

: className “UIView” methodName “alloc” ObjC Runtime Call [UIView alloc]



第22页

UIView.alloc()

JavaScriptCore

: className “UIView” methodName “alloc” ObjC Runtime Call [UIView alloc]



第25页

OC UIView



JS UIView



UIView.alloc()



第26页

OC UIView



JS UIView



UIView.alloc()



• (NSObject 830 118 ) • (NSObject 1.3M, UIView 2M)



第27页

OC UIView



JS UIView



UIView.alloc()



• (NSObject 830 118 ) • (NSObject 1.3M, UIView 2M)



• JS



第28页

OC UIView



JS UIView



UIView.alloc()



• (NSObject 830 118 ) • (NSObject 1.3M, UIView 2M)





• JS







第31页

UIView.alloc()





• __c()



Ruby/Lua



UIView.__c(“alloc”)()



第32页

UIView.alloc()





• __c()



Ruby/Lua



UIView.__c(“alloc”)()



UIView.alloc() UIView.__c(“alloc”)()



UIView OC



OC JS



第33页

UIView.alloc()





• __c()



Ruby/Lua



UIView.__c(“alloc”)()



UIView.alloc() UIView.__c(“alloc”)()



UIView OC





: •



↓99%



OC JS



第34页

• / OC • 64 • block • (C / Class / id* / struct) •C …… https://github.com/bang590/JSPatch/wiki



第38页

Keep it simple and tiny



第40页

• •



第41页

• •

https

• •



第42页

RSA



MD5



MD5



5 4

MD5





MD5

MD5



第43页

RSA



MD5



MD5



5 4

MD5





MD5

MD5



第44页

JPLoader



第46页

JSPatch

http://jspatch.com



第47页

JSPatch



第48页

JSPatch



APP



App CGI

DB

App



第49页

JSPatch



App



APP

{appKey}





{v:10}



json

{v:10}

App



第51页

JSPatch Convertor



第52页



• JSPatch • JSPatch





/



(JPLoader)



• JSPatch Convertor • Extensions



第53页

2500 APP

using.jspatch.org



第55页

JSPatch



React Native / Weex



• -> (

•(

•&



) )



JSPatch

• •

• OC



第56页

&



第57页

JSPatchX



第58页

JSPatchX



第59页

PlayGround



第60页

PlayGround



第62页

__c callSelector



JPForwardInvocation



/



JS



Class & Selector JS



第63页

__c callSelector



JPForwardInvocation



/



JS



Class & Selector JS



第64页

__c callSelector



JPForwardInvocation



/



JS



Class & Selector JS





第65页

• Property • JS Class • OC /



第66页

Dribbble demo



第67页

Dribbble demo



支持文件格式:*.ppt, *.pptx, *.pdf
上传最后阶段需要进行在线转换,可能需要1~2分钟,请耐心等待。