版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yayayaya20122012/article/details/51119801
之前的文章中,我们已经对于在OS X系统上对React Native 的环境搭建,以及第一个实例做了讲解。所谓工欲善其事,必先利其器,对于开发者来说,选择一款比较好的IDE也是一件很重要的事情。这篇文章就来比较和推荐以下几款工具:Sublime、WebStorm、Nuclide。

Nuclide
Nuclide是Facebook专门为React开发的IDE,因此,Nuclide拥有很好的语法补全、类型检查等支持。
本质上,Nuclide是Atom基础上的一系列插件集合。因此,要使用Nuclide,首先需要安装Atom。Atom是Github退出的开源编辑器。是使用node.js来作为插件的语言的。

1. 安装Atom
从Atom官网中下载并安装

2. 安装Nuclide
打开Atom,选择Preferences --> +install ,输入Nuclide进行搜索并安装。

由于目前版本的Atom性能太卡,因此萌生了用Sublime来搭配React Native的插件来进行开发。

Sublime
1. 安装Sublime Text 3
到Sublime Text 官网下载。

选对相应的平台进行安装即可。

2. 安装Package Control
在Sublime Text 3中使用PackageControl安装插件。
使用Ctrl + 或者通过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)
1
如果没有安装成功,请看这里。

3. 安装React Native 需要用到的插件
0> React Native 开发推荐的一些插件:
ReactJS:支持React开发,提供JSX代码提示,高亮显示,ReactJS官方介绍
Emmet:前端开发必备,能够存储和重用开发代码块,Emmet介绍
Terminal:在Sublime中打开终端并定位到当前目录,(快捷键cmd+shift+T)
react-native-snippets:react native 代码片段,react-native-snippets官方介绍
1> 打开Package Control:点击菜单栏Preferences-->Package Control 或者使用快捷键 Ctrl + Shift + T
2> 输入install选中:Package Control:install package
3> 等待几秒,在弹出的终端中输入想要安装的插件。
最终安装好插件后界面如下:

(以上界面中已安装Material Theme插件)

WebStorm
之前做过web相关的同学们,对于WebStorm IDE应该非常熟悉了。这个IDE是jetbrains公司旗下的一款JavaScript开发工具,被广大的中国JS开发者誉为“Web前端开发神器”等。他与Interllij IDEA 同源,集成了Interllij的部分JavaScript功能。Interllij版本已经支持React了,所以在现如今的开发阶段WebStorm已经算是支持性最好的IDE了。

设置WebStorm支持JSX
安装好WebStorm之后,对于JSX最好先配置一下:打开Settings,作如下配置

ReactNative 代码智能提醒
IDE最多使用到的就是代码只能提醒,为了能够让WebStorm能够支持React Native的提醒,可以下载ReactNative-LiveTemplate。
以下为官方提供的安装及使用方式,现将其记录至以下处。

git clone https://github.com/virtoolswebplayer/ReactNative-LiveTemplate
1
下载的文件包括ReactNative.jar。
该提醒包括
1. 组件名称
2. Api名称
3. 所有的StyleSheets的属性
4. 组件的属性

要安装RN的只能提醒,可以通过两种方式进行。

安装方式
方法一
file –> import settings –> ReactNative.jar

方法二
将ReactNative.xml复制到~/Library/Preferences/WebStorm11/templates然后重启。

使用方式
通用方法
直接输入组件 或 Api 名称的首字母, 比如想要 View ,只要输入 V自动提示代码里就会看到 View

StyleSheet属性提示
首先 按下 command + J , 然后输入属性名的 首字母
如: 输入 f ,会自动提示 fontSize,fontFamily,fontStyle…等等

由于代码的智能提示不全,(如没有AppRegistry.registerComponent的代码提示),并且部分React Native框架提供的方法会报“未使用方法”的警告(如ListView的componentDidMount方法),对于一些强迫症开发者来说,会有些不适感。

另外,由于WebStorm的内存占用500M左右,对于小内存的开发者来说,不是最好的选择。

总结
本文对比了三种React Native的IDE,从结果上来看:

由于官方提供的Nuclide基于Atom,运行时太卡,因此一般的RN开发不会首先考虑使用。
由于WebStorm是Interllij旗下的JS工具,因此对于Android开发者移植开发RN是有帮助的。但由于部分智能联想不太完备,加上对于RN的系统方法报“未使用”的警告,该IDE还是有需要改进的地方。
Sublime运行和关闭非常快捷,安装插件后的开发十分方便,但由于需要安装过多的插件,在PackageControl读取插件时需要等待,甚至有时,无法读取远程插件列表,在安装插件上会耗费一些时间。
笔者在对三种开发IDE进行一段时间的开发,认为Sublime在安装好了插件后,无论是打开方式,代码界面整洁度上,都比其他两种方式较为舒适,因此,笔者较为推崇Sublime进行开发。

对于三种IDE的对比及开发细节,会不断进行更新。
---------------------
作者:温明妍
来源:CSDN
原文:https://blog.csdn.net/yayayaya20122012/article/details/51119801
版权声明:本文为博主原创文章,转载请附上博文链接!

工欲善其事,必先利其器——React Native的 IDE的更多相关文章

  1. DECO 一个REACT NAtive 开发IDE工具

    DECO 一个REACT NAtive 开发IDE工具. 目前只支持 OS,NO WINDOWS https://www.decosoftware.com/ 一个方便的快速 ERXPRESS 教程:h ...

  2. React Native入门——IDE及其它相关基础技术

    关于React Native的开发,当中一个问题是缺少好用的IDE,有些人说不就是JS么,搞一个记事本也就写了,那样尽管牛逼,但事实上还是非常头大的,有一款好的IDE还是能提升开发效率的,这里对几个还 ...

  3. 「zigbee - 1」工欲善其事必先利其器 - IAR for 8051 IDE customization

    最近在实验室做一些 Zigbee 相关的事情,然而一直没在博客上记录啥东西,也不像原来在公司有动力在 Confluence wiki 上扯东扯西.直到前些阵子,跑到 feibit 论坛上(国内较大的一 ...

  4. 转 : React Native 开发之 IDE 选型和配置

    转:https://mp.weixin.qq.com/s?__biz=MzA3ODg4MDk0Ng==&mid=2651112392&idx=1&sn=135e29ddde30 ...

  5. 基于React Native的58 APP开发实践

    React Native在iOS界早就炒的火热了,随着2015年底Android端推出后,一套代码能运行于双平台上,真正拥有了Hybrid框架的所有优势.再加上Native的优秀性能,让越来越多的公司 ...

  6. 【转】【React Native开发】

    [React Native开发]React Native控件之ListView组件讲解以及最齐全实例(19)  [React Native开发]React Native控件之Touchable*系列组 ...

  7. React Native专题

    转载注明出处:地址:http://www.lcode.org本文出自:[江清清的技术专栏]本React Native讲解专题:主要讲解了React Native开发,由基础环境搭建配置入门,基础,进阶 ...

  8. React Native专题-江清清

    本React Native讲解专题:主要讲解了React Native开发,由基础环境搭建配置入门,基础,进阶相关讲解. 刚创建的React Native交流8群:533435865  欢迎各位大牛, ...

  9. React Native 常用插件案例

    (二).基础入门: 1.React Native For Android环境配置以及第一个实例 2.React Native开发IDE安装及配置 3.React Native应用设备运行(Runnin ...

随机推荐

  1. [洛谷P3145] CQOI2009 循环赛

    问题描述 n队伍比赛,每两支队伍比赛一次,平1胜3负0. 给出队伍的最终得分,求多少种可能的分数表. 输入格式 第一行包含一个正整数n,队伍的个数.第二行包含n个非负整数,即每支队伍的得分. 输出格式 ...

  2. hdu 2815 : Mod Tree 【扩展BSGS】

    题目链接 直接用模板好了.实在不行,反正有队友啊~~~~ #include<bits/stdc++.h> using namespace std; typedef long long LL ...

  3. 【leetcode】1080. Insufficient Nodes in Root to Leaf Paths

    题目如下: Given the root of a binary tree, consider all root to leaf paths: paths from the root to any l ...

  4. 【leetcode】778. Swim in Rising Water

    题目如下: 解题思路:本题题干中提到了一个非常重要的前提:"You can swim infinite distance in zero time",同时也给了一个干扰条件,那就是 ...

  5. springboot logback 配置 通配符不行就这样

    <?xml version="1.0" encoding="UTF-8"?><configuration> <property n ...

  6. __getattr__属性查找

    from datetime import date """ __getattr__ : 在查找不到对象的属性时调用 __getattribute__ : 在查找属性之前调 ...

  7. MVC 无法将带 [] 的索引应用于“System.Dynamic.DynamicObject”类型的表达式

    无法将带 [] 的索引应用于“System.Dynamic.DynamicObject”类型的表达式 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代 ...

  8. 搭建 Nuget.Server

    公司项目容器化的需要, 小编研究将net framework项目升级成net standard 2.0,但是在打包上传nupkg 后,vs 的 nuget 插件不能识别依赖项,显示 Unsupport ...

  9. 《图解设计模式》读书笔记3-1 Singleton模式

    目录 单例模式 饿汉式 懒汉式 线程安全的懒汉式 单例模式 确保任何情况下都只有一个实例 饿汉式 public class Singleton { //在类被加载的时候运行一次,这是本类构造函数的唯一 ...

  10. 深信达加密下禁用IME

    1.控制面板 2.管理工具 3.计算机管理 4.系统工具 5.任务计划程序 6.任务计划程序库 7.Microsoft 8.Windows 9.TextServicesFramework 10.MsC ...