NativeJS理解和使用

概述:

  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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,175评论 1 32
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,958评论 1 45
  • 0. 写在前面 当你开始工作时,你不是在给你自己写代码,而是为后来人写代码。 —— Nichloas C. Zak...
    康斌阅读 5,418评论 1 42
  • 姓名:庹亚军 公司:宁波贞观电器有限公司 组别:第235期 利他一组 【日精进打卡第 58天】 【知~学习】 《六...
    tyj小电工阅读 158评论 0 0
  • 做什么事情,都想获得别人的称赞、肯定,因为那种感觉实在太好,没错,好极了! 于是,察言观色,患得患失。 做对了,获...
    蓝锦2017阅读 630评论 0 5