JSAppSugar —— 基于 JS 语法定义的语法糖方法
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; } });
本文来自云栖社区合作伙伴“开源中国”
本文作者:达尔文

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
2018-11-12学习笔记
Android 实战 | 使用揭露动画(Reveal Effect)做一个丝滑的Activity转场动画 揭露动画(Reveal Effect)实现时的注意事项(附上bug-logcat) boolean java.lang.String.equals(java.lang.Object)' on a null object reference java.lang.NullPointerException: Attempt to invoke virtual method 'int android.content.Intent.getI... 其他 ROS_机器人urdf建模仿真实践 基于VM14+ Ubuntu 16.04安装VMware Tools(VM同主机file交互的工具)以及使用的骚操作 解决 | 此数据库文件跟当前sql server实例不兼容 & sql server2008无法连接到(local) 解决 | VS 2015右键项目添加新项中没有web窗体等选项
- 下一篇
开发了5年android,我开始了go学习之旅
做了近5年的android开发,最近项目也是不怎么忙,空闲的时候总会思考一些事情,不过作为移动开发,我个人觉得很有必要学习后台开发,由于公司是Go语言开发的,了解go语言一段时间后,我发现go语言的强大。基于优雅的语法和其强大的并发性,我开启我的go学习之旅。 对Go不太了解的童鞋们可参考:体验golang语言的风骚编程>> golang强大的数据库驱动 Go与PHP不同的地方是Go没有官方提供数据库驱动,而是为开发者开发数据库驱动定义了一些标准接口,开发者可以 根据定义的接口来开发相应的数据库驱动,这样做有一个好处,只要按照标准接口开发的代码, 以后需要迁移数据 库时,不需要任何修改 不乱说用到MySQL还是sqlite3,都需要提前安装数据库驱动 sqlite3 32 位 windows 的安装 1、安装 sqlite3。到http://www.sqlite.org/download.html的页面中,找到 sqlite-dll-win32-x86-3071700.zip 下载解压,并把里面的 dll 文件复制到 windows/system32 目录下。 2、下载 g...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS8编译安装MySQL8.0.19
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7设置SWAP分区,小内存服务器的救世主
- 设置Eclipse缩进为4个空格,增强代码规范