写点什么

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

  • 2015-02-02
  • 本文字数:1162 字

    阅读完需:约 4 分钟

近日,在 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 元素来渲染,比如使用取代
    ,使用替代等。在后台,React Native 运行在主线程之外,而在另一个专门的后台线程里运行 JavaScript 引擎,两个线程之间通过异步消息协议来通信(有个专门的插件)。
  3. 在 UI 方面,React Native 提供了一个跨平台、类似 Flexbox 的布局系统,并且还支持 CSS 子集。
  4. 可以用 JSX 、JavaScript、 CoffeeScript TypeScript 来开发。

React/React Native 团队成员 Jordan Hack 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 )关注我们,并与我们的编辑和其他读者朋友交流。

2015-02-02 07:3019749
用户头像

发布了 46 篇内容, 共 55.6 次阅读, 收获喜欢 15 次。

关注

评论

发布
暂无评论
发现更多内容

告别加班!AI 代码生成工具实战:从零搭建一个电商订单系统

飞算JavaAI开发助手

YashanDB|客户端字符集与数据库字符集不一致?小心隐性乱码和执行失败!

数据库砖家

数据库

YashanDB|想查表空间使用率?一条 SQL 帮你搞定!

数据库砖家

数据库

YashanDB|数据库时间与服务器时间不一致?原因与修复方法详解!

数据库砖家

数据库

蚂蚁数科发布可信数据空间软硬一体解决方案,联合清华大学落地双碳场景

Lily

YashanDB|执行 SQL 报 YAS-04110?可能是字段用了保留字!

数据库砖家

数据库

企业有远程办公网络需求?试试Ogcloud的SD-WAN方案!

Ogcloud

远程办公 SD-WAN SD-WAN组网 异地组网 远程组网

YashanDB|迁移过程中,字符串里的分号导致SQL报错?原因与解决办法来了!

数据库砖家

数据库

AI编程工具“幻觉”风险与飞算JavaAl的破局之道

飞算JavaAI开发助手

企业SD-WAN组网必看:需要准备哪些设备?

Ogcloud

SD-WAN 企业组网 SD-WAN组网 SD-WAN服务商 SD-WAN厂家

YashanDB|如何配置 JDBC 驱动,让 getDatabaseProductName() 返回 Oracle?

数据库砖家

数据库

手把手教学 3 小时用 AI 生成 Spring Boot 用户管理模块全流程

飞算JavaAI开发助手

SEO的关键词研究与优化 二

溪抱鱼

SEO SEO 优化

对比测评:为什么AI编程工具需要 Rules 能力?

阿里巴巴云原生

阿里云 云原生 通义灵码

对比测评:为什么AI编程工具需要 Rules 能力?

阿里云云效

阿里云 云原生 通义灵码

YashanDB|通过 DBLink 访问 Oracle 性能慢?问题分析与优化指南!

数据库砖家

数据库

YashanDB|YMP 迁移 Oracle 遇到授权不兼容?一招轻松解决!

数据库砖家

数据库

JMeter、Apipost 与 Postman 的 API 测试对比:为什么 APIPost 是更聪明的选择

数据追梦人

飞算Java AI提示词优化实战:三步让代码生成效率提升300%

飞算JavaAI开发助手

隐私计算技术创新与应用实践|隐语开源社区 Meetup 成都站

隐语SecretFlow

隐私计算 数据隐私计算

YashanDB|多表更新遇到 YAS-04344?教你如何正确操作!

数据库砖家

数据库

YashanDB|单机升级常见问题与应急处理指南

数据库砖家

数据库

SEO的关键词研究与优化 一

溪抱鱼

前端开发 Google SEO 前端开发框架

普通程序员如何用 AI 工具实现薪资翻倍?方法论 + 工具实操

飞算JavaAI开发助手

程序员如何用AI工具实现“快速验证原型”

飞算JavaAI开发助手

飞算 JavaAI 助力开发者快速原型验证

飞算JavaAI开发助手

K8s 灰度发布实战:通过 Ingress 注解轻松实现流量分割与渐进式发布

电子尖叫食人鱼

Kubernetes 容器

TiDB 可观测性最佳实践

观测云

TiDB

L3商业化元年,智能驾驶"急刹车"

趣解商业

智能汽车 上海车展 深蓝汽车

被百万人追捧的【旅行救星】为何主动召回?

极客天地

React Native:Facebook出品,可用JavaScript开发移动原生应用_JavaScript_李小兵_InfoQ精选文章