跳到主要内容

24 篇博文 含有标签「announcement」

查看所有标签

致更好的文档

· 阅读需 5 分钟
Kevin Lacker
Facebook 工程经理

打造优秀的开发者体验,其中一部分是拥有优秀的文档。创建好的文档需要很多工作——理想的文档应当是简明、有用、准确、完整且令人愉悦的。最近我们根据大家的反馈努力提升文档质量,想和大家分享一些我们做出的改进。

行内示例

当你学习一个新的库、新的编程语言或新框架时,会有一个美妙的时刻,你第一次写出一段代码,尝试运行,看它是否能工作……而且它 确实 能工作。你创造了一些真实的东西。我们希望把这种直接的体验融入到文档里。比如这样:

import React, { Component } from 'react';
import { AppRegistry, Text, View } from 'react-native';

class ScratchPad extends Component {
render() {
return (
<View style={{flex: 1}}>
<Text style={{fontSize: 30, flex: 1, textAlign: 'center'}}>
这是不是很酷?
</Text>
<Text style={{fontSize: 100, flex: 1, textAlign: 'center'}}>
👍
</Text>
</View>
);
}
}

AppRegistry.registerComponent('ScratchPad', () => ScratchPad);

我们认为这些行内示例,借助 react-native-web-player 模块,在 Devin Abbott 的帮助下实现,是学习 React Native 基础的绝佳方式,我们也已更新了面向新手的 React Native 入门教程,尽可能使用这些示例。去看看吧——如果你曾经好奇只修改一小段示例代码会发生什么,这是一种很棒的试验方式。另外,如果你开发的是面向开发者的工具,想在自己的网站上展示一个实时的 React Native 示例,react-native-web-player 能让这件事轻松实现。

核心的模拟引擎由 Nicolas Gallagherreact-native-web 项目提供,它让 React Native 组件如 TextView 能在网页上显示。如果你对创建同时支持移动端与网页的体验感兴趣,代码共用大量代码库,可以查看 react-native-web

更好的指南

在 React Native 的某些部分,存在多种实现方式,我们收到反馈说可以给出更明确的指导。

我们新出了一个 导航指南,对比了不同方案,并给出使用建议——NavigatorNavigatorIOSNavigationExperimental。中期来看,我们正在努力改进和整合这些接口。短期内,我们希望更好的指南能够让你更容易应对。

我们还新增了一个关于 处理触摸 的指南,解释了制作按钮类界面的基本知识,并简述了多种处理触摸事件的方式。

我们着力改进的另一个领域是 Flexbox。包括如何使用 Flexbox 处理布局 和如何控制 组件尺寸 的教程,还包括一个虽然不够炫酷但希望对你有用的 React Native 布局控制属性列表

快速入门

当你开始在机器上搭建 React Native 开发环境时,确实需要安装和配置许多东西。要把安装过程变得非常有趣和令人激动很难,但我们至少可以让它尽可能快速且无痛。

我们构建了一个 全新的快速入门流程,让你先选择开发操作系统和移动操作系统,集中提供所有的设置说明。我们还亲自体验了安装流程,确保一切顺利,且每个决策点都有明确推荐。经过对无辜的同事的测试,我们相信这是一次改进。

我们还完善了 将 React Native 集成到已有应用 的指南。很多大型应用,比如 Facebook 自身的应用,实际上部分使用 React Native 构建,部分使用传统开发工具。我们希望这份指南能帮助更多人采用这种应用开发方式。

我们需要你的帮助

你的反馈让我们知道应当优先处理什么。我知道有些人看完这篇博客可能会想“更好的文档?哼,X 库的文档还是一团糟!”这非常好——我们需要这种热情。给我们反馈的最佳方式取决于反馈的类型。

如果你发现文档中有错误,比如描述不准确或代码无法运行,提交 Issue 是最直接的方式。标注“Documentation”标签,方便我们分配给对应人员。

如果不是具体的错误,而是文档内容本质上令人困惑,这就不太适合 GitHub Issue。相反,可以在 Canny 上发表你觉得哪部分文档需要改进。这有助于我们在写指南等更广泛工作中进行优先排序。

感谢你读到这里,也感谢你使用 React Native!

React Native:一年的回顾

· 阅读需 2 分钟
Martin Konicek
Facebook 软件工程师

自从我们开源 React Native 已经一年了。一开始,这只是几个工程师的一个想法,如今已经成为一个被 Facebook 及其他产品团队广泛使用的框架。今天在 F8 大会上,我们宣布微软将 React Native 引入 Windows 生态系统,使开发者能够在 Windows PC、手机和 Xbox 上构建 React Native 应用。该项目还将提供开源工具和服务,比如 Visual Studio Code 的 React Native 扩展和 CodePush,帮助开发者在 Windows 平台上创建 React Native 应用。此外,三星 正在为其混合平台构建 React Native,这将赋能开发者为数以百万计的智能电视、移动设备和可穿戴设备开发应用。我们还发布了 Facebook SDK for React Native,让开发者更容易地将 Facebook 的社交功能(如登录、分享、应用分析和 Graph API)集成到他们的应用中。一年之内,React Native 改变了开发者在各大主流平台上的开发方式。

这一年是史诗般的旅程——但我们才刚刚开始。下面回顾一下自从我们开源以来,React Native 如何成长和演进,我们在此过程中遇到的一些挑战,以及展望未来的期望。

以上为摘录。请在 Facebook Code 阅读完整文章。

Android 版 React Native:我们如何构建第一个跨平台的 React Native 应用

· 阅读需 2 分钟
Facebook 软件工程师

今年早些时候,我们推出了iOS 版 React Native。React Native 将开发者在网页端使用 React 时所熟悉的声明式自包含 UI 组件和快速开发周期带到了移动平台,同时保持了原生应用的速度、逼真度和使用感受。今天,我们很高兴地发布了 Android 版 React Native。

在 Facebook,我们已经在生产环境中使用 React Native 超过一年。几乎正好一年前,我们团队开始开发广告管理器应用。我们的目标是创建一款新应用,让数百万在 Facebook 上投放广告的用户能够随时管理账户并创建新广告。最终,这不仅是 Facebook 第一个完全基于 React Native 的应用,也是第一个跨平台应用。在这篇文章中,我们想与大家分享我们如何构建这款应用,React Native 如何帮助我们提速,以及我们所学到的经验教训。

以上为节选内容。请在Facebook Code阅读全文。

React Native:将现代网页技术引入移动端

· 阅读需 2 分钟
Tom Occhino
Facebook 工程经理

我们在两年前向世界介绍了React,此后它在 Facebook 内外都取得了令人瞩目的增长。如今,虽然没人被强制使用它,但 Facebook 上的新网页项目通常会以某种形式使用 React,并且它正在业界被广泛采用。工程师们每天选择使用 React,是因为它让他们能更多地专注于产品,而不是花费大量时间与框架“斗争”。不过,直到我们使用 React 开发了一段时间之后,才真正理解它为何如此强大。

React 强制我们将应用拆分为离散的组件,每个组件表示一个单独的视图。这些组件让我们更容易迭代产品,因为修改某一部分时无需在脑中保持整个系统的全貌。但更重要的是,React 用声明式的方式包装了 DOM 的变异式、命令式 API,这提升了抽象层次,简化了编程模型。我们的发现是,使用 React 开发时,代码更加可预测。这种可预测性让我们能更有信心快速迭代,也让应用变得更加可靠。此外,使用 React 构建应用不仅更易于扩展,我们还发现团队规模的扩展也更为便捷。

结合网页的快速迭代周期,我们用 React 构建了一些很棒的产品,包括 Facebook.com 的许多组件。此外,我们基于 React 构建了强大的 JavaScript 框架,比如 Relay,它能够大幅简化大规模数据获取。当然,网页只是故事的一部分。Facebook 还有广泛使用的 Android 和 iOS 应用,它们基于彼此独立且封闭的技术栈构建。在多个平台之上进行应用开发,使我们的工程组织分裂开来,但这只是移动原生应用开发难点之一。

以上为节选。请在Facebook Code阅读完整文章。