关于React Native的开发,当中一个问题是缺少好用的IDE,有些人说不就是JS么,搞一个记事本也就写了,那样尽管牛逼,但事实上还是非常头大的,有一款好的IDE还是能提升开发效率的,这里对几个还算能用的IDE进行比較。大家能够选择自己喜欢的IDE用于RN应用的开发。

1.Facebook推荐IDE——基于Atom的nuclide

nuclide是Facebook在开源React Native框架时同一时候开源的所谓官网的IDE,实际上是基于Github公布的开源编辑器Atom开发的React开发插件。基本界面例如以下:

个人感觉Sublime、VS Code还有这个近期被炒的火热的Atom,界面都非常像,并且基本都是靠插件插出来的。而Atom事实上就是用Node.js和WebKit搞出来的基于浏览器的桌面应用,Atom安装后还会附带安装apm(类似npm的包管理器)。

atom的安装能够直接在:https://github.com/atom/atom/releases/latest选择适合自己系统的安装包下载安装,比較简单。

nuclide能够在:https://github.com/facebook/nuclide依据官方的Readme进行安装,比較慢,耐心等。

或者能够在atom安装完毕之后。使用atom自带的apm进行安装,如:apm install nuclide

atom的优势在于轻量和Facebook的支持,以及各种各样Sublime没有的插件。因为有Facebook的支持,对React.js和React Native的支持比較好,不管是格式化还是高亮标记、代码提示。在完整安装nuclide及一些辅助插件后,都是比較友好的,喜欢这一风格的程序员能够试试这款比較新的编辑器,但一个非常严重的问题是。Atom基于浏览器。性能是非常严重的问题。

2.永恒的经典——Sublime

做JS的FE必定都知道Sublime,这款已经有一定历史的编辑器经过一系列的插件改装,一样能够对React Native支持良好,加上Sublime众多的快捷键、命令支持,能够使开发效率大幅度提升。

代码提示功能:

性能和Atom比当然是没的说。推荐安装几个插件:JSX、React Teamplate、react-native-snippets、ReactJS Snippets、SublimeLinter-jsxhint、Babel、Babel Snippets、Emmet、React ES6-Snippets,这几个插件能够支持React的JSX语法。并进行高亮提示。同一时候也可进行排版。效果和装了nuclide的Atom不相上下,是很给力一款编辑器了。

插件安装方法,Package Control -> Install Package,输入react。选中并安装

提示:须要***

3.全能型选手——WebStorm 11

有人说Intelij系列IDE非常重,非常慢,界面还丑。事实上还得看需求,我就挺喜欢。Android Studio、IDEA、WebStorm都是一样的键位和界面布局,学习成本非常低。使用非常顺手,并且WebStorm自带的插件也比較好用,提示非常智能。不用安装什么插件就能上手开发了。对于React Native开发不好的一点就是JS的格式化比較奇怪,和Sublime、nuclide都不一样,下图是WebStorm:

以下是nuclide、Sublime:

假设熟悉WebStorm和Intelij系列IDE的程序员,选择WebStorm进行React Native开发也是不错的选择。

4.其它建议学习的技术

1.HTML+CSS3或Android的XML布局、WPF的XAML

因为React Native採用JSX的形式进行界面的设计。这样的方式类似于HTML,但又比其更严格。所以有Android和WPF开发经验的程序员。可能更easy将XML和XAML的思想引入JSX中,并且React Native的布局样式。类似CSS3。有非常多从CSS3中发展而来的字段和属性。所以建议学习一下CSS3。

2.React.js

毕竟React Native是从React.js发展而来的,仅仅是一个是面向Web一个面向client,学习React.js有助于了解这样的开发思想的核心,尤其是组件生命周期,
getDefaultProps、getInitialState、componentWillMount、render、componentDidMount这几个过程很重要,除此之外,事件处理、数据绑定等功能也是差点儿一模一样。參考React.js的原理和流程。很有助于理解React Native。

3.Node.js、ES6

React Native的代码结构来源于Node.js,当中require、exports的思想也是很经典的,再说了,如今Node.js这么火,Win10 IoT都兼容了,你还有什么理由不学Node.js?
而React Native用了非常多基于ES6的思想来构建API,比方fetch。所以,学习一下新公布的ES6,不光是React Native,对其它JS开发也是必须的。

4.Android、iOS的JavaScript Bridge技术

React Native内部实现了一套自己的JS通信技术,可以提供高效的通信,从而实现APP的动态改变、高效展示,所以,有必要了解React Native的底层通信技术,以便后期对APP进行优化



React Native入门——IDE及其它相关基础技术的更多相关文章

  1. React Native 入门基础知识总结

    中秋在家闲得无事,想着做点啥,后来想想,为啥不学学 react native.在学习 React Native 时, 需要对前端(HTML,CSS,JavaScript)知识有所了解.对于JS,可以看 ...

  2. React Native入门——布局实践:开发京东client首页(一)

    有了一些对React Native开发的简单了解,让我们从实战出发.一起来构建一个简单的京东client. 这个client是仿照之前版本号的京东client开发的Android版应用,来源于CSDN ...

  3. 工欲善其事,必先利其器——React Native的 IDE

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/yayayaya20122012/article/details/51119801之前的文章中,我们已 ...

  4. React Native入门教程2 -- 基本组件使用及样式

    在上一篇文章中,我们学会了如何搭建React Native的环境(React Native入门教程(笔记) 1 – 开发环境搭建),不知道你们是否搭建好了呢,如果还没有,那么快动起小手,来体验RN带给 ...

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

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

  6. React Native入门教程 3 -- Flex布局

    上一篇文章中介绍了基本组件的使用 React Native入门教程(笔记) 2 – 基本组件使用及样式 本节内容将继续沿用facebook官方例子介绍如何使用Flexbox布局把界面设计的多样化. 转 ...

  7. React Native入门教程 1 -- 开发环境搭建

    有人问我为啥很久不更新博客..我只能说在学校宿舍真的没有学习的环境..基本上在宿舍里面很颓废..不过要毕业找工作了,我要渐渐把这个心态调整过来,就从react-native第一篇博客开始.话说RN也出 ...

  8. React Native入门-刘望舒

    React Native入门(一)环境搭建与Hello World React Native入门(二)Atom+Nuclide安装.配置与调试 React Native入门(三)组件的Props(属性 ...

  9. React Native入门指南

    转载自:http://www.jianshu.com/p/b88944250b25 前言 React Native 诞生于 2015 年,名副其实的富二代,主要使命是为父出征,与 Apple 和 Go ...

随机推荐

  1. HNU13377:Book Club(DFS)

    Problem description Porto's book club is buzzing with excitement for the annual book exchange event! ...

  2. dns-sd._udp.<domain>. 域名发现 本质和MDNS同

    DNS Service Discovery is a way of using standard DNS programming interfaces, servers, and packet for ...

  3. 数论之证明数n等于其因数的欧拉函数值之和

    定理: 任何正整数n等于其因数的欧拉函数值之和,即∑d|nφ(d)=n 证明: 设一个集合{1/n,2/n,3/n,...,(n-1)/n,n/n} 对于上述的分式集合,若我们都将其化简至最简形式,设 ...

  4. springboot 测试类,项目使用shiro时报错UnavailableSecurityManagerException

    大概的问题就是,正常运行项目是没有问题的 使用测试类是,加载不了shiro的securityManager,主要导致不是很清楚,望告知, 解决方法 @Resource org.apache.shiro ...

  5. [学习笔记]AJAX学习

    AJAX学习 ——在w3cschool学习AJAX的学习笔记 参考网站:w3cschool XMLHttpRequest 是 AJAX 的基础. XMLHttpRequest 对象 所有现代浏览器均支 ...

  6. 线程1—Thread

    随便选择两个城市作为预选旅游目标.实现两个独立的线程分别显示10次城市名,每次显示后休眠一段随机时间(1000ms以内),哪个先显示完毕,就决定去哪个城市.分别用Runnable接口和Thread类实 ...

  7. ubuntu配置上网

    一.通过修改配置文件配置: 编辑配置文件: #sudo vim /etc/network/interfaces   auto ens33       #没有这句网卡不能启动 iface ens33 i ...

  8. fill,fill-n,memset的区别

    这里在网上搜集归纳了一个总结 memset函数 按照字节填充某字符 在头文件<string.h>中 因为memset函数按照字节填充,所以一般memset只能用来填充char型数组,(因为 ...

  9. php 自带加密函数 mcrypt_encrypt

    <?php /** * AES128加解密类 * @author dy * */ class Aes{ //密钥 private $_secrect_key; public function _ ...

  10. appium使用教程(三)-------------用例编写

    1. 驱动 import os, time, unittest from appium import webdriver PATH = lambda p:os.path.abspath(os.path ...