频道澳门葡京手机版网址
登录注册
澳门葡京手机版网址 > 澳门葡京手机版网址 > web前端 > HTML/CSS > 正文
Native.js技术概况及个人总结
2018-09-29 09:41:51           
收藏   我要投稿

    Native.js技术概况+总结收集(个人观点)

    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不是一个js库,不需要下载引入到页面的script中,也不像nodejs那样有单独的运行环境,Native.js的运行环境是集成在5+runtime里的,使用HBuilder打包的app或流应用都可以直接使用Native.js。

    技术要求

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

    判断平台

    Native API具有平台依赖性,所以需要通过以下方式判断当前的运行平台:

    function judgePlatform(){
        switch ( plus.os.name ) {
            case "Android":
            // Android平台: plus.android.*
            break;
            case "iOS":
            // iOS平台: plus.ios.*
            break;
            default:
            // 其它平台
            break;
        }
    }
    

    其他转换

    Android原生应用的主Activity对象 转为plus.android.runtimeMainActivity()

    Android的主Activity对象是启动应用时自动创建的,不是代码创建,此时通过plus.android.runtimeMainActivity()方法获取该Activity对象

    Objective-C方法冒号剔除

    [pos setPositionX:(int)x Y:(int)y;] 转为 pos.setPositionXY(x,y);

    OC语法中方法的定义格式为:
    “(返回值类型) 函数名: (参数1类型) 形参1 参数2名称: (参数2类型) 形参2”
    方法的完整名称为: “函数名:参数2名称:”。

    如:“(void)setPositionX:(int)x Y:(int)y;”,方法的完整名称****为“setPositionX:Y:”,调用时语法为:“[pos setPositionX:x Y:y];”。
    在JS语法中函数名称不能包含“:”字符,所以OC对象的方法名映射成NJS对象方法名时将其中的“:”字符自动删除,上面方法名映射为“setPositionXY”,在NJS调用的语法为:“pos.setPositionXY(x,y);”。

    文件路径转换

    Web开发里使用的image/1.png是该web工程的相对路径,而原生API中经常需要使用绝对路径,比如/sdcard/apptest/image/1.png,此时使用这个扩展方法来完成转换:plus.io.convertLocalFileSystemURL(“image/1.png”)

点击复制链接 与好友分享!回澳门葡京手机版网址澳门葡京手机版网址
上一篇:first-child和first-of-type的区别在哪里
下一篇:--save-dev或--save-的区别
相关文章
图文推荐
点击排行

关于大家 | 联系大家 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 澳门葡京手机版网址_澳门新莆京娱乐_www.88807.com - 点此进入--致力于做实用的IT技术学习网站

XML 地图 | Sitemap 地图