登录 / 注册
IT168技术开发频道
IT168首页 > 技术开发 > 技术开发资讯 > 正文

React Native:原生APP开发强势竞争者!

2017-11-27 09:08    it168网站原创  作者: 编译 | 钰莹 编辑: 赵钰莹

  【IT168 资讯】React Native只有两年左右的历史,但已经证明它是有用的。不过,难免有很多开发者不太了解或者不赞同RN。在这篇文章中,作者重点介绍了RN的优点,并揭示了程序员应该了解的内容。

React Native:原生APP开发强势竞争者!

  实际上,一开始整个“React”的故事都是关于web开发的。早在2011年,来自Facebook的一些人决定将JavaScript与XHP(Facebook标记语法)结合起来。 结果超出了所有人的预期:ReactJS具有JavaScript的速度(这非常快),并且是一种新的页面渲染方法。

  四年后的2015年,来自Facebook的同一团队进一步尝试将JavaScript应用于移动开发,于是React Native开源框架出现了。

  React Native—— 真的像广大程序员所说那么方便吗?

  React Native是一个基于React.JS库的开源框架,允许用户在Android和iOS平台构建应用程序。它使用JavaScript,并通过使用Javascript以本地组件编写的API进行操作。很多程序员都认为这是非常方便的,事实上确实是这样。

  自2015年以来,我们一直在使用React Native,并已经在其帮助下编写了一些应用程序。在此期间,我们收集了足够多的经验来与程序员分享。

  React Native应用程序开发的优点和缺点分别是什么? 使用React Native的主要原因是什么?

  跨平台开发

  许多移动IT公司都认为开发跨平台应用程序是React Native的主要优势。实际上,为两个主要平台构建移动应用程序从未如此简单(iOS和Android共享约96%的市场)。使用React Native,可以重复使用多达70%的代码,然后应用一些平台调整(主要是关于UI)。

  快速的开发迭代

  快速调试是程序员喜欢React Native的另一大优势。编码时,程序员不必花费大量时间在编译上或每次将应用程序上传到物理设备或模拟器。相反,所有更新可以马上被监控,显著提高程序员生产力并缩短开发时间。

  简化的布局

  本地iOS或Android开发人员在使用UI时经常遇到一些问题。但是,React Native有另一个开发环境,让整个过程非常简单!事实上,他们决定让移动UI开发类似于网站开发。因此,在使用React Native框架构建应用程序时,开发人员可以使用可轻松管理的块进行操作。

  所以,RN使整个过程快速而且不复杂,特别是对于一些有web开发经验的人来说。

  提示:为此,RN开发人员应用了Flexbox算法。

  不断完善

  React Native框架在2015年创建,相对年轻。因此,不断改进和更新功能是必需的。而且,随着库的数量越来越多,在移动开发中使用React Native变得越来越有益和易于使用。

  组成部分

  Facebook框架的另一个优点是便利的组件重用系统。React Native允许程序员存储应用程序中最常用的元素,以便可以将其放在不同的屏幕上,而无需进行任何更改。

  而且,这种方法比代码复制更方便。为什么?因为如果对组件进行一些更改,则这些更改将自动应用于其所有副本。

  毕竟,你几乎可以得到一个原生应用程序。

  许多跨平台框架(如PhoneGap或Cordova)通过名为WebView的移动引擎呈现代码。然而,如果你曾经使用过或者开发过这样的应用程序,你应该知道他们的表现通常很差。

  另一方面,React Native在没有任何移动引擎的帮助下将代码呈现给本地API。而且,这个框架提供了一组原生模块,这些模块是用Objective-C和Java开箱即用的。它们有助于提高计算繁重的操作(例如视频播放)性能。最后,你会得到一个用JS编写的移动应用程序,但看起来感觉像是原生的。

  但是,一切都不可能如此完美,React Native也有一些弱点。

  React Native:你应该知道什么?

  不完美的导航

  React Native几乎无法处理的一件事是应用内导航。当谈论显示器之间的导航时,这是特别显眼的。然而,你也应该记住,原生开发并没有提供任何完美的解决方案。

  文档问题

  如您所知,React Native是一个非常年轻的框架,正在积极开发。一方面,现在可能仍然面临缺少文档的问题,因为它在某些情况下不提供预先分解的解决方案。另一方面,由于库经常更新,程序员必须监视所有新的变化,以免错过重要的事情。

  缺乏严格的语言

  JavaScript(React的骨干)是一种灵活的编程语言,但它并不为开发人员提供任何严格的输入或继承。结果,开发人员可能会出现混乱和不清楚的数据流。但是,这可以通过类似于Typescript或Flow的工具轻松解决。

  小贴士

  React Native是Facebook创建的一个相对较新的框架,已经证明了它的实用性。这个开发环境因为基于灵活快速的JavaScript而变得越来越流行,并且结构非常清晰。React Native的主要优势之一是可以重复使用代码,同时为Android和iOS平台构建移动应用程序。

  如果你从来没使用过React Native,希望看完这篇文章之后可以有心情尝试一次。

标签: 程序员 , 移动开发
  • IT168企业级IT168企业级
  • IT168文库IT168文库

扫码送文库金币

编辑推荐
系统架构师大会
系统架构师大会
点击或扫描关注
IT168企业级微信关注送礼
IT168企业级微信关注送礼
扫描关注
首页 评论 返回顶部