React Native 的基础是React, 是在 web 端非常流行的开源 UI 框架。要想掌握 React Native,先了解 React 框架本身是非常有帮助的。

React Native 是一个使用JavaScript 和 React 来编写跨终端移动应用(Android 或 IOS)的一种解决方案,这句话是什么意思呢?

现在绝大多数 App 都采用混合模型开发,固定的基础的组件使用 Java 或 Swift 等原生语言开发,而偏运营的组件和页面则采用 React Native 等H5形式开发。这样做的好处就是原生开发者致力于创造基础组件,H5 致力于运营体验。现在的 iOS 审核速度已经很快了,几乎一天就有结果,但是之前,可能要审核一周,半个月,甚至还会不通过,然后又要重新开始进入审核等待,这对于大部分需要频繁更新的 App 来说是不可接受的。
在这种情况下,React Native 出现了,它的首打功能就是 热更新技术。热更新 技术可以稍微的绕过应用商店的审核而直接更新。这样就可以达到快速上线的功能目的。
对于 React Native,官方的介绍更能体现出它的诞生前因后果。
React Native 有着以下的几个特性:
1. JavaScript
完全采用 JavaScript 语言。而不是某些不伦不类的看似 JS 又不是 JS的语言。这意味着在语言层面我们根本不需要重新学习。
2. 跨平台
Write Once,Run anywhere 变得可能,尤其是 Android 和 iOS 两端。
3. 社区给力
国人的项目差距就在这里,国内的很多项目,尤其是阿里系的,看起来就是某个人的绩效。一段时间后连维护都不了。React Native 有着强大的社区,有着众多的开发者提供了各种类型的组件。
当然了,React Native 也不是万能的,它也有着自己的缺点和局限性。
React Native 的缺点有两个:
React Native环境的搭建与安装整个过程相对繁琐,步骤较多。最最最最最主要的是!在下载安装过程中不可中断网络,一旦断了就得重新下载。并且该过程中要求学会FQ,具体如何FQ这种问题就不要问啦,自行研究。
React Native中文网:https://www.reactnative.cn/docs/environment-setup
基于国内用户系统环境,下文将介绍React Native的Windows环境安装。使用MAC系统或Linux系统的同学可自行查询官方安装文档说明。

必须安装的依赖有:Node、JDK 和 Android Studio。
在安装React Native时必须要求开发者系统中安装有Node、JDK 和 Android Studio。虽然你可以使用任何编辑器来开发应用(编写 js 代码),但你仍然必须安装 Android Studio 来获得编译 Android 应用所需的工具和环境。
Node >= 12; JDK=1.8
JDK中文网:https://www.oracle.com/cn/java/technologies/downloads/#java8
Node官网网址: https://nodejs.org/zh-cn/
注意 Node 的版本应大于等于 12,安装完 Node 后建议设置 npm 镜像(淘宝源)以加速后面的过程(或使用FQ上网工具)。
注意!!!!低于 0.67 版本的 React Native 需要 JDK 1.8 版本(官方也称 8 版本)。
既然已经说到JDK了那么小提一点。相信很多同学目前系统上的JDK不是8版本,而是更高的版本。这样React Native更大可能将出现版本兼容问题。如果把原有JDK版本卸载了那又会影响到很多以前的项目。这时候什么办呢?好问题!!! 有了好问题当然不能放过 ChatGPT 啦。

Yarn是 Facebook 提供的替代 npm 的工具,可以加速 node 模块的下载。
安装命令:npm install -g yarn
安装完 yarn 之后就可以用 yarn 代替 npm 了,例如用yarn代替npm install命令,用yarn add 某第三方库名代替npm install 某第三方库名。
请注意!!!国内用户必须必须必须有稳定的代理软件,否则在下载、安装、配置过程中会不断遭遇链接超时或断开,无法进行开发工作。某些代理软件可能只提供浏览器的代理功能,或只针对特定网站代理等等,请自行研究配置或更换其他软件。总之如果报错中出现有网址,那么 99% 就是无法正常连接网络。
首先下载和安装 Android Studio,国内用户可能无法打开官方链接,请自行使用搜索引擎搜索可用的下载链接。安装界面中选择"Custom"选项,确保选中了以下几项:
Android SDKAndroid SDK PlatformAndroid Virtual Device然后点击"Next"来安装选中的组件。
如果选择框是灰的,你也可以先跳过,稍后再来安装这些组件。
安装完成后,看到欢迎界面时,就可以进行下面的操作了。
4.1安装 Android SDK
Android Studio 默认会安装最新版本的 Android SDK。目前编译 React Native 应用需要的是Android 12 (S)版本的 SDK(注意 SDK 版本不等于终端系统版本,RN 目前支持 android 5 以上设备)。你可以在 Android Studio 的 SDK Manager 中选择安装各版本的 SDK。
你可以在 Android Studio 的欢迎界面中找到 SDK Manager。点击"Configure",然后就能看到"SDK Manager"。

SDK Manager 还可以在 Android Studio 的"Preferences"菜单中找到。具体路径是Appearance & Behavior → System Settings → Android SDK。


在 SDK Manager 中选择"SDK Platforms"选项卡,然后在右下角勾选"Show Package Details"。展开Android 12 (S)选项,确保勾选了下面这些组件(重申你必须使用稳定的代理软件,否则可能都看不到这个界面):
Android SDK Platform 31Intel x86 Atom_64 System Image(官方模拟器镜像文件,使用非官方模拟器不需要安装此组件)
然后点击"SDK Tools"选项卡,同样勾中右下角的"Show Package Details"。展开"Android SDK Build-Tools"选项,确保选中了 React Native 所必须的31.0.0版本。你可以同时安装多个其他版本。

最后点击"Apply"来下载和安装这些组件。
4.2 配置 ANDROID_SDK_ROOT 环境变量
React Native 需要通过环境变量来了解你的 Android SDK 装在什么路径,从而正常进行编译。
打开控制面板 -> 系统和安全 -> 系统 -> 高级系统设置 -> 高级 -> 环境变量 -> 新建,创建一个名为ANDROID_HOME的环境变量(系统或用户变量均可),指向你的 Android SDK 所在的目录(具体的路径可能和下图不一致,请自行确认):

SDK 默认是安装在下面的目录:
C:\Users\你的用户名\AppData\Local\Android\Sdk
你可以在 Android Studio 的"Preferences"菜单中查看 SDK 的真实路径,具体是Appearance & Behavior → System Settings → Android SDK。你需要关闭现有的命令符提示窗口然后重新打开,这样新的环境变量才能生效。
打开控制面板 -> 系统和安全 -> 系统 -> 高级系统设置 -> 高级 -> 环境变量,选中Path变量,然后点击编辑。点击新建然后把这些工具目录路径添加进去:platform-tools、emulator、tools、tools/bin
%ANDROID_SDK_ROOT%\platform-tools
%ANDROID_SDK_ROOT%\emulator
%ANDROID_SDK_ROOT%\tools
%ANDROID_SDK_ROOT%\tools\bin
如果你之前全局安装过旧的react-native-cli命令行工具,请使用npm uninstall -g react-native-cli卸载掉它以避免一些冲突:
npm uninstall -g react-native-cli @react-native-community/cli
使用 React Native 内建的命令行工具来创建一个名为"AwesomeProject"的新项目。这个命令行工具不需要安装,可以直接用 node 自带的npx命令来使用:
必须要看的注意事项一:请
不要在目录、文件名中使用中文、空格等特殊符号。请不要单独使用常见的关键字作为项目名(如 class, native, new, package 等等)。请不要使用与核心模块同名的项目名(如 react, react-native 等)。
必须要看的注意事项二:请
不要在某些权限敏感的目录例如 System32 目录中 init 项目!会有各种权限限制导致不能运行!
必须要看的注意事项三:请
不要使用一些移植的终端环境,例如git bash或mingw等等,这些在 windows 下可能导致找不到环境变量。请使用系统自带的命令行(CMD 或 powershell)运行。
npx react-native init AwesomeProject
注意!!! 初始化第一个项目这个过程非常非常的难熬,因为这个过程中不仅需要等待 React Native下载补全配置还需要它自己下载各种东西,并且这个过程你要保持你的网络是外网,也就是说整个安装过程你的网络必须都处于FQ代理状态,网络也要保证快速,不然会很卡,一旦中断了又得重新下载。不过第一次初始化项目完成之后就往后就不需要这么难受了。第一次真的越想越气。
如果你的项目创建成功之后,那么。。。就打开你的Android Studio创建一个新的项目:

随意选择一个新的UI模板. Next 进行下一步,注意不能使用中文路径和项目名称!

进入项目页面。那么现在你就可以安装Android系统模拟器了,也就是咱们的手机 ,这就对于手机是IOS系统的同学需要安装模拟器啦。

选择你需要的模拟器版本,看你需要来安装吧。

接下来就需要选择你自身安装的Android SDK对应版本,等待下裁安装完成。

安装完成之后再页面中将会出现安装好的模拟器控制栏。点击运行就可以运行你的模拟器了。

这个时候运行刚才创建的项目。
确保你先运行了模拟器或者连接了真机,然后在你的项目目录中运行yarn android或者yarn react-native run-android
那么到这里不出意外的话就恭喜!你已经成功运行并修改了你的第一个 React Native 应用。
如果你不想那么麻烦的下载模拟器来调试你的项目,而刚好你又有一个Android的移动设备(最好是手机)。那么可以使用你的移动设备来调试你的项目。
只需用 usb 数据线连接到电脑,然后遵照在设备上运行这篇文档的说明操作即可。
1.使用你的USB数据选连接到你的电脑
2.开启你的开发者模式。
在你的手机中找到:设置——关于本机——版本信息——版本号(连续快速点击很多次就会进入)
每个手机的打开开发者模式不一样,可以自行解决。
3.允许USB调式模式和使用共享网络
4.检查是否正确连接
下面检查你的设备是否能正确连接到 ADB(Android Debug Bridge),使用adb devices命令:
$ adb devices
List of devices attached
emulator-5554 offline # Google emulator
14ed2fcc device # Physical device
在右边那列看到device说明你的设备已经被正确连接了。注意,你每次只应当连接一个设备。
5.运行项目
现在你可以运行下面的命令来在设备上安装并启动应用了。
npx react-native run-android
6.移动设备上允许安装程序

7.运行结果

我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po
我打算为ruby脚本创建一个安装程序,但我希望能够确保机器安装了RVM。有没有一种方法可以完全离线安装RVM并且不引人注目(通过不引人注目,就像创建一个可以做所有事情的脚本而不是要求用户向他们的bash_profile或bashrc添加一些东西)我不是要脚本本身,只是一个关于如何走这条路的快速指针(如果可能的话)。我们还研究了这个很有帮助的问题:RVM-isthereawayforsimpleofflineinstall?但有点误导,因为答案只向我们展示了如何离线在RVM中安装ruby。我们需要能够离线安装RVM本身,并查看脚本https://raw.github.com/wayn
我有一个奇怪的问题:我在rvm上安装了rubyonrails。一切正常,我可以创建项目。但是在我输入“railsnew”时重新启动后,我有“程序'rails'当前未安装。”。SystemUbuntu12.04ruby-v"1.9.3p194"gemlistactionmailer(3.2.5)actionpack(3.2.5)activemodel(3.2.5)activerecord(3.2.5)activeresource(3.2.5)activesupport(3.2.5)arel(3.0.2)builder(3.0.0)bundler(1.1.4)coffee-rails(
我刚刚为fedora安装了emacs。我想用emacs编写ruby。为ruby提供代码提示、代码完成类型功能所需的工具、扩展是什么? 最佳答案 ruby-mode已经包含在Emacs23之后的版本中。不过,它也可以通过ELPA获得。您可能感兴趣的其他一些事情是集成RVM、feature-mode(Cucumber)、rspec-mode、ruby-electric、inf-ruby、rinari(用于Rails)等。这是我当前用于Ruby开发的Emacs配置:https://github.com/citizen428/emacs
我正在尝试在我的centos服务器上安装therubyracer,但遇到了麻烦。$geminstalltherubyracerBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingtherubyracer:ERROR:Failedtobuildgemnativeextension./usr/local/rvm/rubies/ruby-1.9.3-p125/bin/rubyextconf.rbcheckingformain()in-lpthread...yescheckingforv8.h...no***e
我的最终目标是安装当前版本的RubyonRails。我在OSXMountainLion上运行。到目前为止,这是我的过程:已安装的RVM$\curl-Lhttps://get.rvm.io|bash-sstable检查已知(我假设已批准)安装$rvmlistknown我看到当前的稳定版本可用[ruby-]2.0.0[-p247]输入命令安装$rvminstall2.0.0-p247注意:我也试过这些安装命令$rvminstallruby-2.0.0-p247$rvminstallruby=2.0.0-p247我很快就无处可去了。结果:$rvminstall2.0.0-p247Search
我实际上是在尝试使用RVM在我的OSX10.7.5上更新ruby,并在输入以下命令后:rvminstallruby我得到了以下回复:Searchingforbinaryrubies,thismighttakesometime.Checkingrequirementsforosx.Installingrequirementsforosx.Updatingsystem.......Errorrunning'requirements_osx_brew_update_systemruby-2.0.0-p247',pleaseread/Users/username/.rvm/log/138121
由于fast-stemmer的问题,我很难安装我想要的任何rubygem。我把我得到的错误放在下面。Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingfast-stemmer:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcreatingMakefilemake"DESTDIR="cleanmake"DESTDIR=
当我尝试安装Ruby时遇到此错误。我试过查看this和this但无济于事➜~brewinstallrubyWarning:YouareusingOSX10.12.Wedonotprovidesupportforthispre-releaseversion.Youmayencounterbuildfailuresorotherbreakages.Pleasecreatepull-requestsinsteadoffilingissues.==>Installingdependenciesforruby:readline,libyaml,makedepend==>Installingrub
我正在玩HTML5视频并且在ERB中有以下片段:mp4视频从在我的开发环境中运行的服务器很好地流式传输到chrome。然而firefox显示带有海报图像的视频播放器,但带有一个大X。问题似乎是mongrel不确定ogv扩展的mime类型,并且只返回text/plain,如curl所示:$curl-Ihttp://0.0.0.0:3000/pr6.ogvHTTP/1.1200OKConnection:closeDate:Mon,19Apr201012:33:50GMTLast-Modified:Sun,18Apr201012:46:07GMTContent-Type:text/plain