写点什么

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:3019304
用户头像

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

关注

评论

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

百度实力担当!大模型标准化“国家队”联合组长

飞桨PaddlePaddle

人工智能 百度 paddle 飞桨 百度飞桨

对线面试官-Redis(八 基于哨兵HA的原理)

派大星

Java 面试题

本周精彩直播预告!CXL 技术及应用研究&一站式构建平台 ABS,今天开讲 | 第 85-86 期

OpenAnolis小助手

开源 基础设施 内核 龙蜥大讲堂 abs

高绩效团队的 5 个优秀习惯,看看你占了几个?

LigaAI

研发管理 技术团队 绩效管理 研发协作 企业号 7 月 PK 榜

软件测试/测试开发丨Python、pycharm 安装与环境配置

测试人

Python 程序员 软件测试 pycharm

AQS的今生,构建出JUC的基础

不在线第一只蜗牛

AQS JUC 可视化数据分析搭建

浅谈如何更好的进行需求评审 | 京东物流技术团队

京东科技开发者

产品经理 测试 研发 需求评审 企业号 7 月 PK 榜

【ACL 2023】面向轻量化文图检索的Dual-Encoder模型蒸馏算法ConaCLIP

阿里云大数据AI技术

人工智能 自然语言处理 算法 nlp 企业号 7 月 PK 榜

制作tomcat镜像

tiandizhiguai

Docker 云原生 k8s

MobPush Android常见问题

MobTech袤博科技

Android;

Web3D智慧养老院数字孪生可视化云平台

2D3D前端可视化开发

智慧养老 智慧养老院 智慧养老管理系统 数字孪生养老院 养老院三维可视化

Hudl × 微帧,为美国运动分析平台提供极致视频编码服务

微帧Visionular

StoneDB首席架构师李浩受邀采访:浅谈KPI与开源的可持续发展,认可长期主义很重要

StoneDB

MySQL 数据库 开源社区 StoneDB

火山引擎 DataLeap 构建Data Catalog系统的实践(二):技术与产品概览

字节跳动数据平台

“One Size Fits All”:一个过时的想法?| StoneDB 学术分享会 #8

StoneDB

MySQL 数据库 StoneDB

WAIC |思岚科技LPX-T1入选浦东新区人工智能10大创新技术品发布

新消费日报

向量数据库的崛起:从矢量搜索到深度学习 (一)

极限实验室

自然语言处理 深度学习 Embedding 向量数据库 矢量搜索

【HDC.Cloud 2023】小白与AI在华为云Codelabs的第一次邂逅

华为云PaaS服务小智

软件开发 华为云 华为开发者大会 代码示例

实时数仓浪潮来袭,这些宝藏开源CDC工具助您破壁 | StoneDB数据库观察 第9期

StoneDB

MySQL 数据库 数据分析 StoneDB

IPQ4019 IPQ4029 what’s the difference?|802.11AC solution

wallyslilly

IPQ4019 ipq4029

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