reactnative在app开发中的应用研究.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
reactnative在app开发中的应用研究

reactnative在app开发中的应用研究   摘要:React Native是XX年FaceBook研究的一种新的开发APP的技术,通过JavaScript语言来开发APP,且有一次开发随处使用的理念。因此,也是目前最火的APP前言技术之一。本文主要对该技术在APP开发中的应用进行研究,主要从开发方式、热更新特点和方法等多个方面进行研究。   关键词:React Native;app;热更新;JavaScript   中图分类号: 文献标识码:A 文章编号:1007--0109-01   1 单纯的React Native APP应用   单纯的React Native应用,实际上就可以理解成是原生应用的一个Activity,通过启动着一个Activity之后,就通过JS中的各个state状态,来刷新各个View界面,然后一个APP应用就诞生了。在这种APP应用中,主要是由组件组成中,各个组件组装成一个大的View。而View 主要是通过state和props来获取所有的数据以及数据改变时更新View界面。在这种应用中,采用的是盒子布局方式,这种布局方式与原生不同,具有很大的灵活性,分主轴和次轴。然后分别可以设置其样式。   2 原生APP与React Native APP混合开发的应用    React Native Activity的自定义   如果进行一个RN项目开发,初始化项目之后,就会有一个Activity是继承RnActivity的。如果进行混合开发时,由于我们的Activity可能要做很多工作,还想继承我们原生的Activity。因此,就可以自定义一个RN的Activity,无须继承官网的Activity。假如,我们已经有了一个BaseActivity。内部可以使用路由进行跳转。但是混合开发明显不行,否则将无法正常的在RN和原生界面之间进行来回跳转。即便可以,复杂度也会大大增加。经过尝试,在一个混合项目中,可以有若干个RN的Activity,每一个Activity可以开发一个功能。只需要修改上文中的。只要把入口修改了,它就会从不同的入口去找,同时在js入口文件中,要进行注册。    原生与JS之间的相互调用   对于JS方法来说,是离不开原生应用的,React Native开发的实质还是进行的原生开发。而且有很多东西,比如硬件的mac、域名获取或者其他只有原生方法能够实现的功能,就必须通过原生方法来实现,然后由JS端进行调用。JS调用原生的方法相对来说比较简单,只需要在原生中注册Module,然后在方法名之前写上标识@react method 即可。在JS端通过NativeModules 这个API就可以进行调用。如果想要进行Activity之间的相互跳转,该JS的activity可以使用currentActivity来找到。然后想要跳转到原生其他的Activity就比较容易。   3 React Native技术应用到APP中的优势   热更新:在当前的APP应用开发中,热更新是一个非常重要的能力。如果这个应用没有热更新的能力,将意味着无法及时的展示自己想要展示的内容给用户,尤其是电商或者社交类应用,他们的APP更新能力都很频繁,没有热更新的能力,将无法及时的推送最重要的更新给用户。对于IOS开发者来说,两周以上的审核周期更是要命,每次开发迭代一个版本都必须要通过IOS的审核机制进行审核,如果采用热更新的方式,就可以绕过审核机制。因此,React Native所具有的热更新能力是非常重要的。React Native的热更新功能,主要是通过更新Bundle文件来实?F。对于一个RN应用来说,Bundle文件就是要加载的前端内容。只要更新了Bundle文件,就是更新了整个APP,因此只需要做一个后台服务,这个后台服务具有上传下载Bundle文件的能力。然后在客户端每次打开的时候向服务端发送请求,看是否有最新的Bundle文件,并进行下载替换即可完成热更新的工作。   代码重用度高:目前码农的成本是越来越高,因此代码的可重用是很重要的一点,代码平台无关性也是每一个技术人员所喜欢的。React Native的Android版本和IOS版本的代码可以80%以上共用,这在当前主流的原生开发中是难以置信的。同时由于React Native技术是从PC端的React技术演变而来,因此React Native的绝大多数代码也可以转化为React来使用,进行PC端的前端开发,因此,一次开发就可以三次使用大大的降低了人力成本和时间成本,对于企业来说是非常可喜的。   开发效率高,漏洞修复快:因为它代码重用度高,且有热更新的优势,因此,也就有了第三个优点,开发效率比较高,且由于它的开发方法的不同,无需每次修改都要通过编译安装看

文档评论(0)

manyu + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档