手机app开发可选技术——React Native

百度百科

React Native是Facebook于2015年开源的跨平台移动应用开发框架,是Facebook早先开源的JS框架React在原生移动应用平台的衍生产物,支持IOS和安卓两大平台。RN使用Javascript语言,类似于HTML的JSX,以及CSS来开发移动应用,因此熟悉WEB前端开发的技术人员只需要很少的学习就可以进入移动应用开发领域。
React Native使你能够在Javascript和React的基础上获得完全一致的开发体验,构建世界一流的原生APP。
React Native着力于提高多平台的开发效率——仅需学习一次,编写任何平台。

主要特性:

原生的IOS组件
React Native主张“Learn once,write everywhere”而非其他跨平台工具一直宣扬的:Write once,run everywhere。通过React Native,开发者可以使用UITabBar、UINavigationController等标准的IOS平台组件,让应用界面在其他平台上亦能始终保持如一的外观、风格。
异步执行
JavaScript应用代码和原生平台之间所有的操作都采用异步执行模式,原生模块使用额外线程,开发者可以解码主线程图像、后台保存至磁盘、无需顾忌UI等诸多因素直接度量文本设计布局。
触摸处理
React Native引入了一个类似于IOS上Responder Chain响应链处理机制的相应体系,并基于此为开发者提供了诸如TouchableHighlight等更高级的组件。

各路资料、详解

React Native,是一个混合移动应用开发框架。
React Native是目前流行的跨平台移动应用开发框架之一。在开发应用时,我们可以选择使用原生,纯基于Web或者使用混合方法(即使用原生和基于Web的技术的组合)。可以使用Apache Cordova(或Adobe PhoneGap)等开源平台编写HTML,CSS和JavaScript的跨平台混合应用。这些应用在原生Web视图(浏览器)中运行,所以看着就像Web应用,不过可以使用JavaScript和一些Apache Cordova插件调用原生功能和API。所以可以使用类似于Web应用而非原生应用的用户界面上架到Apple Store或Google Play的应用。或者,可以使用c#,XAML和CSS使用Xamarin来编写原生应用。对于用HTML5,CSS和JavaScript编写的非原生移动Web应用,还可以配套使用jQuery Mobile等框架。
React Native采用不同的方法进行混合移动应用开发。它不会生成UI组件,而是基于React,React Native是一个用于构建基于Web的交互界面的JavaScript库,因此会有更丰富的UI 体验效果,同时也能够很好地调用底层框架的UI使用。React Native已经成为一种流行的移动开发技术,它提供了一个使用JavaScript构建原生跨平台移动应用的强大框架,在需要时,我们也可以使用Objective-C,Swift或Java来编写原生代码来桥接。
使用React Native有利有弊从积极的方面来说,React Native已经成为受支持的开源社区的热门,可以使用一组技术(如JSX,React Native组件和JavaScript)为IOS和Android构建移动应用。这反过来有助于在发布新版本时使IOS和Android应用保持同步。但是,React Native仍在不断发展,当要在当前不需要React Native提供的功能(例如如何进行UI导航或使用地图)时决定使用哪些库时,可能会造成混淆。此外,根据应用的复杂程度,可能需要编写区别于平台的代码来解决移动平台的差异。对于复杂的应用,可能要编写自定义组件或深入了解IOS和Android(例如,出于性能原因或将React Native添加到现有原生应用所需的但不支持的UI组件)。

配置React Native环境

React Native的核心语言是JavaScript,特别是ECMAScript 6(ES6)。因此,需要熟悉ES6的一些最新功能。此外,在开始开发第一个React Native应用之前,需要安装必备的工具,比如IDE,JavaScript库等等。另外,还需要了解核心的React Native API。
目前来看,开发IOS原生应用只能用macOS系统。由于大多数移动应用都会涉及到Android和IOS两端,因此应该考虑使用Mac来开发React Native移动应用。
在创建项目之前,你需要安装一些东西,主要包括:
Android Studio和Xcode工具
安装最新版本以构建和发布应用。对于Android开发,确保为要运行的Android API版本配置正确的模拟器。
JavaScript IDE或文本编辑器
不需要使用Xcode或Android Studio来编写JavaScript代码,真正需要的只是一个文本编辑器。比如使用Atom(由GitHub开发),Sublime Text或喜欢的任何优秀文本编辑器。
JavaScript或React Native 包
安装一些工具来管理React Native软件包以及三方库,包括
从nodejs.org下载node.js:为了让JavaScript运行时允许访问npm,这是一个由node.js项目创建的便捷工具,可用于管理开源软件包。确保下载node.js的最新LTS(长期支持)版本。此下载中还包括一个名为Metro bundler的开发服务器,它在调试时能够提供实时更新渲染。
下载create-react-native-app:可以使用此工具开始开发。它可以创建一个基础项目。
下载常用的第三方库。React Native提供了很多基础组件,与原生API使用相比会更加简单。常规的移动应用使用可能包括相机,管理状态,并具有导航,地图,图标和复选框。这都可以从React Native社区获取对应组件。
此外,可以到React Native Elements获取需要的其他UI组件元素。在开发一个完整功能的app时,需要用到上面提到的UI组件。用这个方法来安装以前的packages
React Native Debugger:这是一个非常棒的调试器,同时他还是一个独立的应用,里面能用到的工具包括React Inspector和Redux DevTools。配置好环境后可以连接到应用(注意:一次只能调试一个应用),可以很方便的实时查看React Native应用的状态,调试必备工具。

结论

React Native是一个充满活力并且不断发展的框架和社区。但React Native并不像原生应用开发那样成熟。所以必须为Android,IOS和React Native的开发保持稳定的环境,包括所有相关的开发工具。对于React Native中不存在的组件,可以Google搜索,就可以找到所需内容,请记住所选的第三方库可能会更改或维护可能会停止或被放弃,这是一个要考虑的主要风险。
React Native并不适合所有人或每个项目。这需要考虑创建和维护React Native代码,工具,开发环境和技能集的时间,精力和成本,而不是仅仅关注原生代码。

React Native惊喜

1、即使你不懂如何使用Java或Kotlin开发Android,或者不懂如何使用Swift或Objective-c来开发IPad或IPhone应用也不要紧,因为React Native几乎不需要和它们打交道。
2、如果你想同时开发Android和IOS应用,只要你的开发人员懂前端,懂JavaScript和React就够了,也能开发移动应用。
特性
1、底层采用Facebook开发的React技术。
React是一个视觉框架,使用JavaScript来构建网页和移动网页。
2、React Native内置了大量的原生组件,这比Web App有着更强大的性能。
3、React Native开发的APP可以运行在IOS平台和Android平台。
优点
1、完全采用JavaScript语言
2、跨平台,尤其是Android和IOS两端
3、React Native具有强大的社区,有着众多的开发者提供了各种类型的组件
缺点
1、复杂的状态管理、页面切换。即使你会React ,也会觉得它的页面切换有点绕。
2、创建新的原生组件复杂。如果你要创建一个之前从未出现的原生组件,难度直线上升。不仅需要懂得Android开发,还要懂得IOS开发。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值