JSAppSugar —— 基於 JS 語法定義的語法糖方法
阿新 • • 發佈:2018-11-12
JSAppSugar 是基於 JavaScript 語法定義的一系列語法糖方法,包括:JavaScript 方法,Objective-C 方法和 Java 方法,以實現將開發 iOS/Mac/Android 原生應用程式的部分程式碼(一般來說是業務邏輯程式碼),用 JavaScript 程式碼來編寫,從而簡化開發過程,提高開發效率,以及提高程式質量。
通過使用 JSAppSugar 的 Cocoa 和 Java 實現,開發者可以將原有原生程式碼的任何一部分改為 JavaScript 實現,並可以在 JavaScript 程式碼以 JavaScript 物件的使用語法使用由原生程式碼開發的類,而無需關心具體實現是由 Java 實現還是 Objective-C 實現。
QuickStart
Use JS Object In Objective-C
//initialize JSA4Cocoa
JSA4Cocoa* jsa = [[JSA4Cocoa alloc]init];
[jsa startEngine];
//create a JS Object
id<JSAObject> jsObject = [jsa newClass:@"JSObject"];
//invoke methods on the object
NSString* text = [jsObject invokeMethod:@"getText"];
Use JS Object In Java
//initialize JSA4Java
JSA4Java jsa = new JSA4Java();
jsa.startEngine();
//create a JS Object
JSAObject jsObject = jsa.newClass("JSObject");
//invoke methods on the object
String text = (String)jsObject.invokeMethod("getText");
Use Native Object In JavaScript
//define the interface for native class $class("NativeObject",{ $implementation:{ $java : "JavaObject",//the name of a java class $oc : "OCObject"//the name of a OC class }, getText:{ $java : "getText", $oc : "getText:" } }); //define a js class. Then you can use this class in JavaScript, Java and objective-c $class("JSObject",{ getText:function(){ //create a native object var nativeObject = new NativeObject(); //invoke methods on the object var text = nativeObject.getText("Hello"); return text; } });
本文來自雲棲社群合作伙伴“開源中國”
本文作者:達爾文