BT

你的观点很重要! 快来参与InfoQ调研吧!

React Native:Facebook出品,可用JavaScript开发移动原生应用

| 作者 李小兵 关注 0 他的粉丝 发布于 2015年2月2日. 估计阅读时间: 4 分钟 | ArchSummit社交架构图谱:Facebook、Snapchat、Tumblr等背后的核心技术

A note to our readers: As per your request we have developed a set of features that allow you to reduce the noise, while not losing sight of anything that is important. Get email and web notifications by choosing the topics you are interested in.

近日,在React.js 2015大会上,Facebook公布了即将开源的React Native,它基于开源框架React.js,并可用来开发iOS和Android原生应用。目前,Facebook已经将React Native投入到了实际生产环境中,并开发出了基于iOS平台的聊天工具Groups。

从ProgVille发布的一篇题为《React Native—使用React.js开发原生应用》的文章中得知以下React Native的相关信息:

  1. React Native已实现了对iOS和Android两大平台的支持。
  2. 使用React Native开发原生应用的原理是:在JavaScript中用React.js抽象操作系统的原生UI组件,继而代替DOM元素来渲染,比如使用<View>取代<div>,使用<Image>替代<img>等。在后台,React Native运行在主线程之外,而在另一个专门的后台线程里运行JavaScript引擎,两个线程之间通过异步消息协议来通信(有个专门的插件)。
  3. 在UI方面,React Native提供了一个跨平台、类似Flexbox的布局系统,并且还支持CSS子集。
  4. 可以用JSX、JavaScript、CoffeeScriptTypeScript来开发。

React/React Native团队成员JordanHack News上分享了React Native的一些基于个人观点的信息,他说到React Native为提高开发效率提供了大量的益处,但是在性能方面,React Native还存在一些问题。同时还指出React Native同其他原生开发应用方式的不同之处,如React Native完全不用DOM、React Native既保证对应用程序性能的要求,同时兼顾Web开发优点;能够使用JavaScript来写高质量的应用等。

Reddit上也有了相关评论信息用户lunchmeat317认为学习React.js的时机到了。用户BishopAndWarlord表示对React Native很好奇并期待获得更多相关信息。

用户jrm2k6评论到:

自己已了解和喜欢他们的理念:一次学习,即可以做自己想着的任何事情。但是现在需要展示一些代码实例了,也许这是一个愚蠢的问题,但是它和Ionic有什么不同,同使用AngularJS开发iOS/Android应用有什么不同?

 

用户arx707接着回答到:

React Native使用React.js作为原生组件的抽象层,而AngularJS和Ionic使用WebViews模拟本地组件,React Native的性能应该和Appcelerator跨平台工具Titanium一样。

React Native基于React.js实现,而React.js是Facebook推出并开源的一个用来构建用户界面的JavaScript库,其已经应用于构建Instagram网站及Facebook部分网站。React.js 同AngularJS、MeteorJS和Polymer类似,它们都属于Model-Driven Views结构的框架,但是React.js又与他们有不同之处,即React.js使用JavaScript而非HTML来构建用户界面。更多关于React.js和React Native的详


感谢郭蕾对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT