迈向更好的文档
拥有卓越开发者体验的其中一部分就是拥有出色的文档。创建良好文档需要付出很多努力——理想的文档应简洁、有帮助、准确、完整且令人愉悦。最近我们一直在根据您的反馈努力改进文档,我们想分享一些我们已做出的改进。
内联示例
当您学习一个新库、一种新编程语言或一个新框架时,总有一个美好的时刻,当您第一次编写一些代码,尝试运行它,看看它是否有效……然后它确实有效。您创造了一些真实的东西。我们希望将这种身临其境的体验直接融入到我们的文档中。就像这样
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 Gallagher 的 react-native-web 项目提供,该项目提供了一种在 Web 上显示 React Native 组件(如 Text 和 View)的方法。如果您有兴趣构建共享大部分代码库的移动和 Web 体验,请查看 react-native-web。
更好的指南
在 React Native 的某些部分,有多种方法可以完成事情,我们收到了反馈,认为我们可以提供更好的指导。
我们有一个新的 导航指南,它比较了不同的方法,并就您应该使用什么提供了建议 - Navigator、NavigatorIOS、NavigationExperimental。从中长期来看,我们正致力于改进和整合这些接口。短期内,我们希望一个更好的指南能让您的生活更轻松。
我们还有一个新的 处理触摸的指南,它解释了一些创建按钮类界面的基本知识,并简要总结了处理触摸事件的不同方法。
我们还改进了 Flexbox 领域。这包括关于如何 使用 Flexbox 处理布局 和如何控制 组件尺寸 的教程。它还包括一个不太吸引人但希望有所帮助的 控制 React Native 中布局的所有 prop 的列表。
入门
当您开始在您的机器上设置 React Native 开发环境时,确实需要进行大量的安装和配置。让安装成为一个真正有趣和令人兴奋的体验是很困难的,但我们至少可以使其尽可能快速和无痛。
我们构建了一个 新的入门工作流程,允许您预先选择您的开发操作系统和移动操作系统,从而提供一个简洁的地方,包含所有设置说明。我们还对安装过程进行了审查,以确保一切正常,并确保每个决策点都有清晰的建议。在对我们的无辜同事进行测试后,我们确信这是一项改进。
我们还改进了 将 React Native 集成到现有应用中的指南。许多使用 React Native 的大型应用,例如 Facebook 应用本身,实际上是部分使用 React Native 构建,部分使用常规开发工具构建的。我们希望本指南能让更多人更轻松地以这种方式构建应用。
我们需要您的帮助
您的反馈让我们知道我们应该优先考虑什么。我知道有些人会读这篇博客文章并想“更好的文档?哼。X 的文档仍然是垃圾!”。这很好——我们需要这种动力。提供反馈的最佳方式取决于反馈的类型。
如果您在文档中发现错误,例如不准确的描述或无法正常工作的代码,请 提交一个 issue。将其标记为 "Documentation",以便更容易地将其路由给相关人员。
如果没有具体的错误,但文档中的某些内容根本上令人困惑,那么它不适合在 GitHub issue 中提出。相反,请在 Canny 上发布关于需要改进的文档区域的反馈。这有助于我们在进行指南编写等更普遍的工作时确定优先级。
感谢您阅读到这里,也感谢您使用 React Native!