React Native 可以走多远?

对于大多数APP开发者来说,能够同时开发出Android APP和IOS APP是不是很牛逼,可是它也不是天方夜谭,自从有了一个叫React Native的东西的出现,这一切就变得可以实现了。

  那么到底什么是React Native,它在程序开发中又扮演着什么角色呢?下面大家就跟着小编来一起揭开它的神秘面纱?

  React Native 是由Facebook发布的开源框架,它的宣传语是“Learn once,write anywhere”,似乎是在标榜着React Native在手,在编程的世界里走遍天下都不怕,这消息一发出,就在开发人员内部掀起了一阵小高潮,一些人员感激涕零的表示:跨平台呀跨平台,这简直就是开发者的福音啊,另一些人员则表示:任何宣传一技在手,走遍天下的技术都是纸老虎,没有办法走到最后。那么,为什么在开发人员中会出现这两种截然不同的反应呢?

  目前,一个成熟的互联网产品一般都有PC端和移动端两个产品,那么在开发这两个产品的时候,技术开发人员主要承担三个部分的角色:一是前端开发,主要用来做网站的页面设计和美化的部分,他们主要涉及到的技术开发语言包括HTML、css、Js等基础的Web语言,二是移动终端开发,现在市面上主流的系统就是安卓系统和IOS系统,其中安卓系统主要使用Java,IOS主要使用Objective-c,三是后台开发,主要是给产品提供数据和服务的稳定性,这方面的开发基本不怎么涉及界面,开发语言也是仁者见仁智者见智,有的使用Java,也有使用C++等等。这三类开发人员各司其职,互相配合,共同开发产品。

  那么,我们可以从一个互联网产品的开发模式中看出,一个计算机开发语言是没有办法独立完成一个产品,它需要开发人员掌握各种技术并且娴熟运用,而开发人员的精力是有限的,所以一个“Learn once,write anywhere”的语言对于他们来说是迫切需要的,所以大家,就不难理解当React Naive发布时,他们难以言喻的激动心情,但是“存在即合理”,这么多语言经过这么多年的大浪淘沙仍然存在,就证明它们是合理的,我们需要保持高度清醒。

  React Native的发布虽然让人激动,但是毫无疑问的是它并非完美无瑕,有很多缺点让我们不得不重新来审视它。1.组件不全,第三方组件也不全,遇到某些特殊功能,需要捣鼓很久。2.性能并非媲美原生,还是有一些损耗的,特别是交换大数据的时候。3.ios和android代码并非通用,有可能会需要维护两套,或者在代码内做一些判断。并非网上大家说的,写一次代码,多端通用,尤其是实际开发的时候,还是需要了解底层原理,自己开发跟原生桥接的组件,这个对普通前端来说是一个很大的挑战。所以,很多开发人员都断言React Native无法走的很远。

  事实上,React Native并不像开发人员所期望的那样一劳永逸解决了跨平台的问题,也不像另一些人员预料的那样见光死,相反,它正以着自己的脚步向前发展。在Facebook F8开发者大会上,在和三星、微软的合作下,React Native应用能够为Windows、Xbox、智能电视和可穿戴设备编译使用。微软现已支持在Universal Windows Platform(UWP)平台上使用React Native框架,同样那些为Windows编译的应用程序也能访问React Native工具。

  最后,我想说的是,这是一个互联网的时代,相信随着未来的发展,互联网开发生态会积累出更加优秀的框架,不管是React Native还是其它框架,它们一定会支撑更加伟大的产品出现。