reactNative和5+runtime(native.js)对比

2024-04-13 07:38

本文主要是介绍reactNative和5+runtime(native.js)对比,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.首先我们来了解这两个东西是什么?

    native.js:简称NJS,是一种将手机操作系统的原生对象转义,映射为JS对象,在JS里编写原生代码的技术。
    我们知道js具有局限性,它对移动硬件设备的使用功能有限,其实这种限制并不是是说js本省有限,而是浏览器出于安全考虑限制掉了这些功能,试想一下你不小心点到一个恶意网站,然后在你不经意间调用了你的摄像头给你拍了一张照片,还获取了你的通讯录,这将是一件多么可怕的事情。

    native.js其实就是将更多的手机操作权限开放给开发者,你可以通过js获取更多的手机权限,做和app一样能做的事。这时你可能会问:这样不就会和你上面说的会不安全了吗? 当让不会!首先你要知道当你使用native.js api编写的网页在普通浏览器上不会被执行的,所以你不会有更高的权限! 

     native.js的运行环境是集成在5+runtime(跨平台应用框架)里面的, 在这样的流应用或者使用HBuilder打包的app中(直接集成native.js api)可以直接使用native.js,不需要引入。

    如何使用NSJ开发app,你需要用到下面两个东西:

       开发工具如: HBuider开发打包工具

        Native.js API:5+Specification

    总结:NJS就是用js开发app的技术。


    reactNative:和上面的5+runtime属于同一类别,是facebook开源的跨平台应用开发框架,同样使用js作为开发语言。
    reactNative使用react作为开发语言进行开发。

区别:

5+runtime

优点:
国内厂商,中文文档
对HTML5的性能、工具、能力都做了深入扩展,提供 IDE 、云服务等帮助节省时间
MUI 更贴近国内App使用习惯,提供模块的详细例子,如登录,个人中心

缺点: 
部分操作需要具备原生开发经验,如离线打包App
新产品仍然有bug,还需改进
性能存在问题 (采用webview渲染UI)      

React Native

优点:
能够在Javascript和React的基础上获得完全一致的开发体验,构建世界一流的原生APP。
仅需学习一次,编写任何平台。(Learn once, write anywhere)
1. 不用Webview,彻底摆脱了Webview让人不爽的交互和性能问题
2. 有较强的扩展性,这是因为Native端提供的是基本控件,JS可以自由组合使用
3. 可以直接使用Native原生的「牛逼」动画(在FB Group这个app里面,面板滑出带一点果冻弹动,面板基于某个点展开这种动画随处可见,这种动画用Native code来做小菜一碟,但是用Web来做就难上加难)

缺点: 只提供基础访问设备的接口,需要自己搭配其他UI框架和JavaScript框架来搭配
初次学习成本高
必须在不同平台下写两套代码,依赖暴露的接口
扩展性仍然远远不如web,也远远不如直接写Native code

这篇关于reactNative和5+runtime(native.js)对比的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/899528

相关文章

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

Python实现Microsoft Office自动化的几种方式及对比详解

《Python实现MicrosoftOffice自动化的几种方式及对比详解》办公自动化是指利用现代化设备和技术,代替办公人员的部分手动或重复性业务活动,优质而高效地处理办公事务,实现对信息的高效利用... 目录一、基于COM接口的自动化(pywin32)二、独立文件操作库1. Word处理(python-d

Java常用注解扩展对比举例详解

《Java常用注解扩展对比举例详解》:本文主要介绍Java常用注解扩展对比的相关资料,提供了丰富的代码示例,并总结了最佳实践建议,帮助开发者更好地理解和应用这些注解,需要的朋友可以参考下... 目录一、@Controller 与 @RestController 对比二、使用 @Data 与 不使用 @Dat

python中字符串拼接的几种方法及优缺点对比详解

《python中字符串拼接的几种方法及优缺点对比详解》在Python中,字符串拼接是常见的操作,Python提供了多种方法来拼接字符串,每种方法有其优缺点和适用场景,以下是几种常见的字符串拼接方法,需... 目录1. 使用 + 运算符示例:优缺点:2. 使用&nbsjsp;join() 方法示例:优缺点:3

C++ 各种map特点对比分析

《C++各种map特点对比分析》文章比较了C++中不同类型的map(如std::map,std::unordered_map,std::multimap,std::unordered_multima... 目录特点比较C++ 示例代码 ​​​​​​代码解释特点比较1. std::map底层实现:基于红黑

Golang中拼接字符串的6种方式性能对比

《Golang中拼接字符串的6种方式性能对比》golang的string类型是不可修改的,对于拼接字符串来说,本质上还是创建一个新的对象将数据放进去,主要有6种拼接方式,下面小编就来为大家详细讲讲吧... 目录拼接方式介绍性能对比测试代码测试结果源码分析golang的string类型是不可修改的,对于拼接字

MySQL表锁、页面锁和行锁的作用及其优缺点对比分析

《MySQL表锁、页面锁和行锁的作用及其优缺点对比分析》MySQL中的表锁、页面锁和行锁各有特点,适用于不同的场景,表锁锁定整个表,适用于批量操作和MyISAM存储引擎,页面锁锁定数据页,适用于旧版本... 目录1. 表锁(Table Lock)2. 页面锁(Page Lock)3. 行锁(Row Lock

Node.js net模块的使用示例

《Node.jsnet模块的使用示例》本文主要介绍了Node.jsnet模块的使用示例,net模块支持TCP通信,处理TCP连接和数据传输,具有一定的参考价值,感兴趣的可以了解一下... 目录简介引入 net 模块核心概念TCP (传输控制协议)Socket服务器TCP 服务器创建基本服务器服务器配置选项服

mac安装nvm(node.js)多版本管理实践步骤

《mac安装nvm(node.js)多版本管理实践步骤》:本文主要介绍mac安装nvm(node.js)多版本管理的相关资料,NVM是一个用于管理多个Node.js版本的命令行工具,它允许开发者在... 目录NVM功能简介MAC安装实践一、下载nvm二、安装nvm三、安装node.js总结NVM功能简介N

Python使用Pandas对比两列数据取最大值的五种方法

《Python使用Pandas对比两列数据取最大值的五种方法》本文主要介绍使用Pandas对比两列数据取最大值的五种方法,包括使用max方法、apply方法结合lambda函数、函数、clip方法、w... 目录引言一、使用max方法二、使用apply方法结合lambda函数三、使用np.maximum函数