NativeJS理解和使用

作者: 饮水思源为名 | 来源:发表于2018-08-06 16:48 被阅读0次

概述:

  Native.js技术,简称NJS,是一种将手机操作系统的原生对象转义,映射为JS对象,在JS里编写原生代码的技术。
  如果说Node.js把js扩展到服务器世界,那么Native.js则把js扩展到手机App的原生世界。
  HTML/JS/Css全部语法只有7万多,而原生语法有几十万,Native.js大幅提升了HTML5的能力。
  NJS突破了浏览器的功能限制,也不再需要像Hybrid那样由原生语言开发插件才能补足浏览器欠缺的功能。
  NJS编写的代码,最终需要在HBuilder里打包发行为App安装包,或者在支持Native.js技术的浏览器里运行。目前Native.js技术不能在普通手机浏览器里直接运行。

  • NJS大幅扩展了HTML5的能力范围,原本只有原生或Hybrid App的原生插件才能实现的功能如今可以使用JS实现。
  • NJS大幅提升了App开发效率,将iOS、Android、Web的3个工程师组队才能完成的App,变为1个web工程师就搞定。
  • NJS不再需要配置原生开发和编译环境,调试、打包均在HBuilder里进行。没有mac和xcode一样可以开发iOS应用。
  • 如果不熟悉原生API也没关系,我们汇总了很多NJS的代码示例,复制粘贴就可以用。http://ask.dcloud.net.cn/article/114
      再次强调,Native.js不是一个js库,不需要下载引入到页面的script中,也不像nodejs那样有单独的运行环境,Native.js的运行环境是集成在5+runtime里的,使用HBuilder打包的app或流应用都可以直接使用Native.js。

技术要求:

  由于NJS是直接调用Native API,需要对Native API有一定了解,知道所需要的功能调用了哪些原生API,能看懂原生代码并参考原生代码修改为JS代码。否则只能直接copy别人写好的NJS代码。

开始写NJS:

使用NJS调用Native API非常简单,基本步骤如下:

  1. 导入要使用到的类;
  2. 创建类的实例对象(或者调用类的静态方法创建);
  3. 调用实例对象的方法;


API:

  ClassObject---调用plus.android.importClass()方法导入类并返回ClassObject类对象,通过该类对象,可以创建类的实例对象。在Java中类的静态方法会转换成NJS类对象的方法,可通过类对象的“.”操作符调用;类的静态常量会转换为NJS类对象的属性,可通过类对象的“.”操作符访问;类的静态属性则需通过NJS类对象的plusGetAttribute、plusSetAttribute方法操作。

  ClassObject.plusSetAttribute---导入类对象后,就可以调用其plusSetAttribute方法设置类的静态属性值。

  • name:要设置的静态属性名称,如果指定的属性名称不存在,则设置属性失败,返回null。
  • value:要设置的属性值,其类型必须与Native层类对象的静态属性区配,否则设置操作不生效,将保留以前的值。

  ClassObject.plusGetAttribute----导入类对象后,就可以调用其plusGetAttribute方法获取类的静态属性值。 name:要获取的静态属性名称,如果指定的属性名称不存在,则获取属性失败,返回null。

参考文章:

http://ask.dcloud.net.cn/article/88

相关文章

  • NativeJS理解和使用

    概述:   Native.js技术,简称NJS,是一种将手机操作系统的原生对象转义,映射为JS对象,在JS里编写原...

  • CoreAnimation理解和使用

    简介 CoreAnimation如果只从字面上来理解,就会感觉这只是用来作用动画的一个类库,其实动画只是它的一部分...

  • Socket理解和使用

    1、TCP/IP TCP/IP就是传输控制协议/网间协议,网络层的“ip地址”可以唯一标识网络中的主机,而传输层的...

  • MVC 理解和使用

    MVC 是在开发中怎么处理代码分层的一种模式或者说一种框架或者思想!1、它实现了功能模块和显示模块的分离2、它提高...

  • Eventbus3代码分析(三):注解简单使用

    注解简单使用 这里目的是为了理解, 和简单的使用这块理解了,后面都是差不多的 简单理解和使用 自己每次在onCre...

  • super的理解和使用

    转自python2 为解决钻石继承难题,super()的使用 写在最前面:1.super是一个类,返回的是一个 p...

  • runtime的理解和使用

    runtime的理解: 1.runtime是一套比较底层的C语言的API,属于1个C语言库,包含了很多底层的C语言...

  • initialize的理解和使用

    initialize: 第一次初始化这个类之前被调用,可以用它来初始化一些静态变量。在创建子类的时候,子类会去调用...

  • AJAX学习,使用和理解

    刚接触AJAX时,只知道在前端开发中她可以实现客户端和服务器端的异步数据交互。 如果不使用AJAX,一个静态网页想...

  • Keychain简单理解和使用

    app里的登录模块就是保存登录过用户名和密码,如果用户选择记住密码则保存最长保存7天,这样用户下次登录app的时候...

网友评论

    本文标题:NativeJS理解和使用

    本文链接:https://www.haomeiwen.com/subject/nzsgvftx.html