基于 JavaScript 语法定义的语法糖方法 JSAppSugar

MIT
Objective-C
跨平台
2018-11-08
neal01

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;
  }
});
的码云指数为
超过 的项目
加载中

评论(0)

暂无评论

暂无资讯

暂无问答

移动开发之混合编程第一步:为JavaScript定义Class-based编程风格

无论是Java,还是Objective-C,他们都是Class-based编程风格,而JavaScript采用的是Prototype-based编程风格。为了让JavaScript程序能够更好的融入原生程序,也让使用Java/Objective-C的开发...

2018/11/08 20:50
3
0
使用JavaScript编写iOS应用业务逻辑

JSAUIKitCocoa使你可以使用JavaScript编写对性能要求不高但可能变动性很大的iOS应用的业务逻辑部分,View组件、需要多线程支持的Model等则直接使用原生对象。 编写方式与React Native相似,但...

2018/11/22 00:11
29
0
一种JavaScript类继承和super方法调用的实现

在设计实现一种Java、Objective-C与JavaScript混合编程的编程风格JSAppSugar时,需要 JavaScript 语言支持类导向的编程风格,然而JavaScript本身是原型导向(Prototype-based)的,因此在JavaS...

2018/11/11 14:51
5
0
开题:在移动开发中使用JavaScript进行混合编程提高代码复用率

问题 通常开发一个移动应用,因为存在iOS和Android两种操作系统,因此所有代码都要使用两种语言编写两遍,因此几乎所有开发相关的人力都是需要双倍的。Webview的使用虽然在一定程度上让部分功...

2018/11/08 16:34
2
0
使用MMVVC模式和JSAppSugar将iOS原生应用UI层业务逻辑转为JavaScript

JSAUIKitCocoa是为使用JavaScript混合Objective-C开发iOS应用提供的MVC框架,以及为部分原生UI组件(如UIView)提供JavaScript快速初始化支持。使用JSAUIKitCocoa,你可以方便的使用JavaScrip...

2018/11/28 16:35
7
0

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部