跳到主要内容

迈向更好的文档

·阅读时长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'}}>
Isn't this cool?
</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 项目提供,该项目提供了一种在 Web 上显示 TextView 等 React Native 组件的方法。如果你有兴趣构建共享大部分代码库的移动和 Web 体验,请查看 react-native-web

更好的指南

在 React Native 的某些部分,有多种方法可以完成事情,我们收到了反馈,认为我们可以提供更好的指导。

我们有一个新的导航指南,它比较了不同的方法并就您应该使用什么提供了建议——NavigatorNavigatorIOSNavigationExperimental。在中期,我们正在努力改进和整合这些接口。在短期内,我们希望更好的指南能让您的生活更轻松。

我们还有一个新的处理触摸指南,它解释了制作类似按钮界面的基础知识,以及处理触摸事件的不同方法的简要总结。

我们努力的另一个领域是 Flexbox。这包括关于如何使用 Flexbox 处理布局以及如何控制组件大小的教程。它还包括一个不那么吸引人但希望有用的React Native 中控制布局的所有属性列表

开始使用

当您开始在您的机器上设置 React Native 开发环境时,您确实需要进行大量的安装和配置工作。让安装成为一个真正有趣和令人兴奋的体验很难,但我们至少可以使其尽可能快速和无痛。

我们构建了一个新的入门工作流程,让您可以预先选择您的开发操作系统和移动操作系统,以便在一个简洁的地方提供所有设置说明。我们还仔细检查了安装过程,以确保一切正常工作,并确保每个决策点都有明确的建议。在对我们无辜的同事进行测试后,我们非常确定这是一个改进。

我们还致力于将 React Native 集成到现有应用程序的指南。许多使用 React Native 的大型应用程序,例如 Facebook 应用程序本身,实际上是应用程序的一部分使用 React Native 构建,一部分使用常规开发工具。我们希望本指南能让更多人更容易地以这种方式构建应用程序。

我们需要您的帮助

您的反馈让我们知道我们应该优先考虑什么。我知道有些人会读到这篇博客文章,然后想“更好的文档?哼。X 的文档还是一团糟!”。这太棒了——我们需要这种能量。给出反馈的最佳方式取决于反馈的类型。

如果您在文档中发现错误,例如不准确的描述或不起作用的代码,请提交问题。将其标记为“文档”,以便更容易将其路由给相关人员。

如果不是具体的错误,但文档中的某些内容从根本上令人困惑,那么它不太适合 GitHub 问题。相反,请在 Canny 上发布有关需要帮助的文档区域。这有助于我们在进行更一般的工作(例如编写指南)时确定优先级。

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