ReactNative调研结果
React Native相关调研总结
一.概要
React Native - 使用React开发世界一流的原生应用;
使用JavaScript和React(对JS有一定扩展)作为开发语言;
React Native专注于夸平台的开发效率,一次学习,跨平台应用(支持安卓和iOS)。
二.集成步骤
1.前往https://nodejs.org/en/下载node.js的pkg并进行安装
2.前往https://github.com/facebook/react-native下载最新版React Native(0.31)
3.解压并执行npm install命令
4.新建Xcode工程,在工程中按照需引入React Native的库(存在于Libraries目录)
5.完成React Native集成
三.对App体积的影响
1.包含模拟器和真机版本的静态库体积总共约30M
2.生成AppDemo只使用基本的类,ipa大小是1.7M
四.性能
官方宣称有媲美原生代码的性能,但是有网友提出React Native的性能并不理想,在页面层级到达5的时候,就要进行代码优化了。
五.动态升级方案
React Native本身并没有动态升级相关的管理类,但由于React Native使用Javascript进行构架,使得动态升级变的很方便;
关键步骤为:
1. 检查某页面对应JS是否有更新
2. 如果有更新,Native代码则进行下载
3. 下载完毕后,覆盖老版本JS
4. 重新从JS初始化RCTRootView,并加入到界面中
5. 完成升级
六.大模块升级开发成本
目前来看,React Native中提供基础的UI控件、动画、HTTP/HTTPS请求、socket、持久化等组件,理论上来讲一个模块或界面包含的所有内容,都可以使用React Native书写并完成升级。
相关的工作量包括:
- 使用JS开发React Native
- React Native与Native代码结合
- 跨平台、性能等方面的测试
- 自动升级功能的测试
七.对安卓的支持程度
React Native支持Android4.1及以上,iOS7.0及以上系统
八.使用难度
1.需要有JS语言基础
2.需要对React有基本概念,如JSX、components、state和props
3.对于一个JS工程师,门槛是比较低的
九.总结
优势:
1. 一定程度的跨平台,一些组件在不同平台还是有着细微差异;
2. 提供了相对丰富的组件,包括UI控件、动画、HTTP/HTTPS请求、socket、持久化等等组件;
3. 有相对成熟的升级方案;
4. 对于APP体积影响不大。
劣势:
1. React Native并不像JSPatch、WaxPatch等提供脚本语言到Native代码的一对一的映射关系,它只是提供了一系列组件,在构建复杂界面时会存在一些困难;
2. 性能方面不如Native代码,在多层页面叠加时可能会出现明显性能问题;
3. 需要学习JS语言。
十.参考资料
https://facebook.github.io/react-native/docs/tutorial.html
http://blog.csdn.net/linshaolie/article/details/50961955 React Native的动态更新方案
http://www.tuicool.com/articles/BJ7JbaY 用React Native实现动画
http://blog.csdn.net/u010046908/article/details/50916511 使用React Native进行HTTP请求
http://facebook.github.io/react-native/docs/integration-with-existing-apps.html 在已有native app中集成React Native页面
http://www.tuicool.com/articles/biUNriA React Native性能相关
转载于:https://www.cnblogs.com/alexjie-123/p/6096591.html
ReactNative调研结果相关推荐
- WubaRN hermes调研-基于混合工程的改造方案
WubaRN-hermes调研 Target React Native version: v0.64.0-rc.2 为推广 0.64 版本,基于 WubaRN 0.64.0-rc.2 框架版本,调研 ...
- 去哪儿网 ReactNative 跨小程序多端方案介绍
1 前言 qrn-remax-unir 是由去哪儿网前端技术团队实现的一套将 RN 适配到小程序端的跨端组件,通过该组件库可快速方便的将 RN 源代码直接运行到小程序端.方案参考了 react-nat ...
- React Native 调研报告
Facebook三月份开源了React Native iOS平台的框架,让移动开发人员和web开发者都各自兴奋了一把:native的移动开发者想的比较多的估计是Facebook的那句:"le ...
- ReactJS+ReactNative笔记
1.移动App第1天 什么是混合移动App开发[重点] 苹果上的软件是如何开发出来的:使用的是 OC.或者使用Swift这门语言 安卓平台上的软件又是如何开发出来的:使用安卓相关的语言开发的,Java ...
- 2022-2028年中国自动驾驶系统行业现状调研分析报告
[报告类型]产业研究 [报告价格]4500起 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了中国自动驾驶系统行业市场行业相关概述.中国自 ...
- 2022-2028年中国UI设计行业现状调研分析及发展趋势研究报告
[报告类型]产业研究 [报告价格]4500起 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了中国UI设计行业市场行业相关概述.中国UI设 ...
- 2022-2028年中国儿童医疗行业深度调研及投资前景预测报告
[报告类型]产业研究 [报告价格]4500起 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了中国儿童医疗行业市场行业相关概述.中国儿童医 ...
- 2022-2028年中国果壳活性炭行业市场发展调研及竞争战略分析报告
[报告类型]产业研究 [报告价格]4500起 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了中国果壳活性炭行业市场行业相关概述.中国果壳 ...
- 2022-2028年中国抗肿瘤药物行业市场分析调研及发展趋势研究报告
[报告类型]产业研究 [报告价格]4500起 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了中国抗肿瘤药物行业市场行业相关概述.中国抗肿 ...
最新文章
- 不会英语计算机开车和,驾校学车的那些事儿——技术篇
- C# 代理做为函数参数的时候
- 用Python发送邮件
- win10安装问题小结
- 算法精讲:分享一道值得分享的算法题
- sql注入攻击_让你彻底明白sql注入攻击
- 7-113 堆栈操作合法性 (20 分)
- 大家有哪些被骗的很惨的经历?
- 使用JavaScript下进行iframe的DOM操作(考虑浏览器兼容性)
- 第一次装TFS的曲折经历
- JAVA异常处理实战心得
- 黑客X档案PDF完整版(06年1月-12年12月)
- 产品经理技术脑:怎么看懂接口文档
- 大数据分析方法有哪几种?
- 存储型路由器和SAN路由器
- If you insist running as root, then set the environment variable RUN_AS_USER=root before running thi
- CSP 202112-3 登机牌条码 (详细图解)
- 基于R语言或Matlab直接读取压缩包中的数据
- 怎么取消服务器账号密码,FTP怎样取消账号密码登陆?
- mysql删库命令是啥_删除数据库的命令是什么
热门文章
- Java中常用的加密算法MD5,SHA,RSA
- Servlet Session 跟踪
- c++ map用法_5分钟掌握Python | Map、Reduce和Filter如何运用?
- 面板数据回归模型(固定效应、随机效应、混合回归、变系数)、面板数据AR、VAR模型
- 如何系统地自学前端(女生),女生发展前端是否是青春饭?
- Web前端三大主流框架是什么?Web前端前景与就业形势
- 自学前端一般几年可以精通,找个差不多的工作?
- 海南计算机考研和培训哪个比较好,海南考研集训营前十排名
- gnu java_【Java学习笔记】修饰符
- lisp中getkword输入默认_2分钟学会在Word中制作田字格 米字格 书法练字再也不用买本子了...