转:https://mp.weixin.qq.com/s?__biz=MzA3ODg4MDk0Ng==&mid=2651112392&idx=1&sn=135e29ddde3050d469be98db815c267e&scene=0&key=18e81ac7415f67c4bcc2eaac3ca13f8d294ec1b8fa5828d4d7f13f2e81cc62f72e55e828ee04e2002284521336a3766d&ascene=0&uin=Mjc3OTU3Nzk1&devicetype=iMac+MacBookPro10%2C1+OSX+OSX+10.10.5+build%2814F1808%29&version=11020201&pass_ticket=IYYr6c4vUnT0%2Bavp7Kh4QX0%2F3Due6hVy8D0M%2FE3HusZ%2B3%2BljLKzmZgKeEGJNzgOFhtml
React Native 发布一年多了,有很多公司已经在线上产品中或小范围试水,或大范围应用,不少公司或开发者都在为 React Native 的生态系统做出本身的贡献。react
React Native 的开发基本上是 Javascript + 系统原生开发语言(Java,Objective-C,Swift),原生语言的开发所用的 IDE 没有多余的选择,Android 平台只能使用 Android Studio(不要告诉我你还在使用 Eclipse),iOS 平台只能使用 XCode,而开发 Javascript 的 IDE 选择就多了,从 FaceBook 官方推荐的 Atom+Nuclide,到与 Android Studio 同系列的 Javascript IDE WebStorm,再到功能强大的 Sublime Text 3,以及微软推出的 Visual Studio Code 和 decosoftware 专门为 React Native 打造的开源 IDE Deco,甚至 Vim,NodePad++ 等等,均可以用来开发 React Native,惟一的前提可以支持识别 Javascript 语法,识别 JSX 和 React Native API 的智能提醒。接下来咱们就来介绍最经常使用的五款 IDE 的配置和选型。git
Atom+Nuclidegithub
Atom 是由 Github 打造的下一代编程开发利器,支持 Windows、Mac OS X、Linux 三大桌面平台,免费且开源。Atom 支持各类编程语言的代码高亮,同时具有强大的代码补全功能,可以极大的提升编程效率,Atom 本质上是一个文本编辑器,而不是一个 IDE,所以在用来开发 React Native 时须要配合 Nuclide 一块儿使用。npm
Nuclide 是 Facebook 基于 Atom 的基础上开发的一个插件 IDE,能够用来开发 React Native,iOS 和 Web 应用,目前不支持 Windows 平台,只支持 Mac OS X 和 Linux。编程
Nuclide 内置了对 React Native 的支持,包括代码自动补全,代码诊断等,下图是代码补全的截图:segmentfault
Nuclide 是 Facebook 官方提供的 React Native IDE,对 React Native 的支持应该是最好的,所以,推荐你们首选这个,若是在你的电脑运行起来不会卡顿的话。Nuclide 的安装很简单,在确保 Atom 安装以后,在命令行中执行 apm install nuclide 便可。在使用 Nuclide 以前,建议好好看下官网的说明:https://nuclide.io/docs/quick-start/getting-started/react-native
WebStormbabel
WebStorm 是著名的 JetBrains 公司开发的号称最智能的 Javascript 集成开发环境,能够用于复杂的客户端应用开发以及基于 Node.js 的服务端开发。若是你以前使用 Android Studio 开发过 Android 应用的话,你必定会以为 WebStorm 的界面似曾相识,没错,由于 WebStorm 和 Android Studio 都是 JetBrains 的杰做。WebStorm 支持 Windows、Mac OS X、Linux 三大桌面平台,不过和 Android Studio 能够无偿使用不一样,WebStorm 是须要付费使用的,只有 30 天的试用期。网络
因为 React Native 是基于 React 的,而 React 使用的是 JSX 语法,所以,使用 WebStorm 开发 React Native 以前,咱们首先须要设置支持的 Javascript 语法,点击 WebStorm-Preferences,在打开的对话框中选择 Javascript language version 为 JSX Harmony 便可在代码编辑器中识别 JSX,以下图所示:
固然,到这一步,只能使得编辑器识别 JSX 语法的 Javascript 代码,不会致使代码标红,但对于 React Native 的 API 名称,组件名称等并不会智能提醒和自动补全,由于目前 WebStorm 只支持 React 语法,还不支持 React Native 语法。为了解决这个问题,咱们可使用一个开源的插件:ReactNative-LiveTemplate,按照 Github 上面的说明安装插件并重启 WebStorm 以后生效,这时在编辑器中输入 React Native 的组件或者 API 的首字母,会自动联想出相应的组件,以下所示,方便了不少。若是在使用过程当中以为这个插件有不完善的地方,你还能够在 Github 上面提交你的 Pull Request,贡献本身的一份力量。
Sublime Text 3
Sublime Text 3 是一款普遍使用的代码编辑器,支持 Windows、Mac OS X、Linux 三大桌面平台,它是付费应用,但目前能够无限期的试用。它支持多种编程语言的语法高亮、拥有优秀的代码自动完成功能,还拥有代码片断(Snippet )的功能,能够将经常使用的代码片断保存起来,在须要时随时调用,极大的提升编程效率。
Sublime Text 3 强大功能的支撑在于它的插件机制,经过 Package Control 功能,开发者能够安装各类须要的插件,默认状况下,Sublime Text 3 没有集成 Package Control,咱们须要本身安装。Package Control 有命令安装和手动安装两种方式,建议优先选择命令安装,能够参考官网安装指南。本文咱们介绍命令安装方式,在 Sublime Text 3 中经过 View->Show Console 打开命令行,执行以下命令:
import urllib.request,os,hashlib; h = '2915d1851351e5ee549c20394736b442' + '8bc59f460fa1548d1514676163dafc88'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)
上面的命令会建立安装所需的包目录,并下载 Package Control.sublime-package 到目录中。安装完成后,能够在 Preferences 菜单下找到 Package Settings 和 Package Control 两个子菜单。
在 Sublime Text 3 中,React Native 开发相关的插件主要有:
babel-sublime:支持 Javascript,ES6 和 JSX 语法高亮
react-native-snippets:支持 React Native 代码片断
在 Package Control 对话框中选择 Package Control:Install Packages 并在弹出的对话框中输入 Babel,便可找到 babel-sublime:
安装完成以后,须要启用它,以下图所示菜单操做便可:
react-native-snippets 插件一样经过 Package Control 进行安装,在 Install Package 对话框中搜索 react-native-snippets 安装便可:
安装完成以后,在代码编辑器中输入代码片断的缩写,例如咱们新建一个名为 UserDetail.js 的文件,在其中输入 rncc 来建立一个 React Native 的类,智能提醒以下所示:
按下 Enter 键,插件自动生成以下样板代码,节省了不少手动输入所需花费的时间:
除了 rncc,其余常见的代码片断以下所示,更多内容参见插件的 Github 首页。
Visual Studio Code
Visual Studio Code 是微软推出的一个轻量级的开源 Web 集成开发环境,支持超过 30 种语言的开发,同时支持 Windows、Mac OS X、Linux 三大桌面平台。对于开发 React Native 而言,微软提供了专门的插件:vscode-react-native,按照官网的说明进行插件的安装便可。这个插件使得开发者能够在 VS Code 中调试 React Native 代码,快速执行 react-native 命令,以及对 React Native 的 API 具有智能提醒功能,以下所示:
Deco
Deco 是不久前刚发布的一个开源的专门为 React Native 打造的 IDE,目前只支持 Mac OS X 平台。它封装了 React Native 开发中常常会使用到的功能,例如集成 npm install 功能,集成 iPhone 和 iPad 模拟器,新建工程时快速生成 AwesomeProject,开发者再也不须要经过执行 react-native init AwesomeProject 命令来生成了,关键是若是网络很差的话,免去了漫长的等待。
Deco 区别于其余 IDE 最显著的特性是支持经常使用控件的拖拽生成代码和可视化编辑,这些控件既有 React Native 原生控件,也有一些知名的开源控件,固然,目前 Deco 集成的数量还比较少,以下图所示,咱们拖拽一个名为 Lightbox 的开源控件,若是是第一次使用,Deco 会执行 npm install react-native-lightbox 命令首先下载安装这个控件,而后在代码编辑区自动生成代码,同时在右边的属性编辑区中会有对应的属性值,修改属性编辑区的属性值,会实时反应到代码中。
更直观的感觉能够本身下载 Deco 执行一下,或者到官网观看一个 30 秒的演示视频。
总结
本文介绍了目前开发 React Native 的几款可选的主流 IDE,你们能够根据本身的具体状况进行选择,固然,团队开发中建议使用统一的 IDE。选择哪一款 IDE,首先取决于大家团队的硬件配置以及对付费软件使用的态度,而后才是 IDE 的功能特性。
若是你的团队都是使用 MacBook Pro 进行开发,那么上面五款 IDE 均可以使用,若是团队中既有 Windows 电脑,也有 Mac 电脑,那么 Atom + Nuclide 和 Deco 就使用不了了。
若是大家团队可以负担起付费应用,那么 WebStorm 是不错的选择,特别对于以前是 Android 开发的同窗来讲,能够实现 Android Studio 和 WebStorm 的无缝衔接。
若是上面两个条件都不知足,那么就只剩下 Sublime Text 3 和 Visual Studio Code 可选了。从咱们上面的介绍中能够了解到,这两款也都是很是强大的,如何选择取决于你本身。
拓展阅读:
VS Code(1.2.0)最新亮点和特性全介绍:https://code.visualstudio.com/Updates#1.2
Atom 1.8和1.9 beta发布:http://blog.atom.io/2016/06/06/atom-1-8-and-1-9-beta.html
React Native开发IDE安装及配置:http://www.lcode.org/%E3%80%90react-native%E5%BC%80%E5%8F%91%E3%80%91react-native%E5%BC%80%E5%8F%91ide%E5%AE%89%E8%A3%85%E5%8F%8A%E9%85%8D%E7%BD%AE/
新编码神器Atom使用纪要:http://www.jeffjade.com/2016/03/03/2016-03-02-how-to-use-atom/
Visual Studio Code Guide[中文版]:http://i5ting.github.io/vsc/
Sublime Text 3 搭建 React.js 开发环境:https://segmentfault.com/a/1190000003698071
用Sublime 3做为React Native的开发IDE:http://www.jianshu.com/p/2ddfff095e90