React Native 中文文档 - 读者必看
母语不是英语的我们,学知识,查文档肯定都喜欢 中文 ,虽然,很多教程很拗口,虽然很多翻译也很拗口,但比起英文,这都不算什么了。
我虽然也在 V2EX 上推荐大家使用 英文文档 ,这其实有点坑人,但也是没办法的事,英文官方文档比较好,这是事实
但实际上,我们在使用时,在百度时,在谷歌时,首先会看的,还是中文文档。
想整理 React Native 的中文文档好久了,但一直没有付诸实践,很多原因,最最重要的原因是最近越来越懒...次一等的原因则是我还没找到如何管理 文档版本化 这个东西
文档版本化的起因
任何一个事务,都是一直在进化的,语言、框架、平台都是如此。这些东西在进化的过程中,它们的文档也一直在变化。这就造成了一个问题:
非文档第一语言也要即时的更新,否则就是落伍的
如果不更新咋办呢? 就像 React Native 中文文档 ,官网地址 (https://reactnative.cn/) ,看起来都正确,但始终觉得有问题,不妥。
这不是贬低 https://reactnative.cn/ ,我还要向他致敬,毕竟这份整理,很大部分是从它那里整理而来。
维护是极其困难的,而且是需要花费大量时间的,尤其是这种一直在变化的文档。
有多难呢?
Python 的 Django 框架,它从 1.x 更新到 2.x 的过程中,整个文档几乎重新翻译,耗费了大量的人力。
实际上,更新的东西,也寥寥无几。
这就产生了一个疑问:
为什么每次文档更新,我们不得不重头再来呢 ?
我想,原因,无非就是:
我们对文档缺乏版本化管理思维。
这就是我最近一直在思考的问题。
文档版本化要解决的几个问题
文档版本化 是我最近一直在思考的解决方案,它要解决几个问题
-
文档何时被废弃
比如说 Python 从 3.5 升级到 3.6 ,那么 3.5 的文档是不是全部就被废弃了呢?还是说没有更新的那部分还可以继续使用。作为写文档的人肯定是继续使用的。
所以,其它语言的文档,理应也继续使用。
那么,旧的文档就有一个截止版本, 也就是说
任何文档都应该有一个起始版本,和一个可选的结束版本,这应该是一个 左闭右开 区间
-
如何检查被更新过的文档
这个真的是没有好的思路,我的困惑也在于此,目前有两种解决方案
-
对任何一个文档使用独立的 Git 仓库,文档每次更新发起一个新的更新。然后针对差异化的文件,旧的文档创建 废弃版本 ,新的文档创建 起始版本
-
不使用 Git,使用数据库,把旧的文档重新复制一份。对每一个文档进行 md5 哈希检验,如果相同则不变更,不相同则变更,并且标记为 需要翻译
我目前考虑的方案是 2
-
React Native
2019 年 3 月份的时候,使用 React Native 做了一个区块链钱包。这是我第一次完完整整的使用 React native 做一个项目,也是我人生第一次使用 React Native 做一个项目。一个月下来,感慨良多。
React Native 从出生起到现在,没什么大的变化,这也是 https://reactnative.cn/ 这个网站的文档至今还能用的原因,但其实变化也挺大,主要体现在细节上,这是我们这份文档产生的原因。
那么,我这份文档,对比于 https://reactnative.cn/ 有哪些变化呢?
-
这不是 React Native 官方中文文档,勉强能说是 React Native 中文文档,更确切的说是 React Native 中文使用文档
-
既不是官中,也不是 中文镜像 ,那比如首页那种布局,我这里是万万没有的。我们重在使用,而不是是不是和官网一样
-
细节的细致化。比如一些 API 的使用,官网只做介绍,我这里会尝试为每一个 API 添加使用示例
-
从这个文档开始探索 文档版本化
React Native 中文使用文档
我们这份文档,针对的 React Native 版本是 0.59