关于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. 由老同事学习SAP所想到的

    前段时间一位老同事在微信上跟我说他们公司正计划导SAP系统,但整个IT中心几乎无人使用过SAP,知道我在这行业干了多年了,所以想问我怎么开始学习.于是我约他今天出来聊聊,顺便把手里的SAP ECC E ...

  2. angularjs 指令2

    <!DOCTYPE HTML> <html ng-app="myApp"> <head> <meta http-equiv="C ...

  3. zoj_3735,dp,长沙站j题

    #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> us ...

  4. 32.AngularJS 表达式

    转自:https://www.cnblogs.com/best/tag/Angular/ AngularJS 表达式写在双大括号内:{{ expression }}. AngularJS 表达式把数据 ...

  5. Deleting elements

    There are several ways to delete elements from a list. If you know the index of the element you want ...

  6. C语言基础-第五章

    流程控制 1.顺序结构 顺序结构是指程序将按照书写的顺序一步步执行程序. 2.选择结构 2.1但分支结构语句 if(表达式){语句} 2.2双分支结构 if(表达式){}else if{} else{ ...

  7. 前端图像 裁剪利器 JQuerJjcrop+裁剪图像保存教程

    由于一个项目中需要用到用户头像上传裁剪组件,这两天便网上找了一些相关插件,主要由以下几种插件: 1.Image Cropper:http://elemefe.github.io/image-cropp ...

  8. PostgreSQL Replication之第七章 理解Linux高可用(4)

    7.4 术语与概念 一组计算机被称为集群.集群内的一台计算机被称为一个节点. 当集群内的节点数量是 N (2,,3,等.) ,那么我们讨论一个N节点的集群. 高可用性软件,传输层和集群管理层都运行于每 ...

  9. 《剑指offer》跳台阶

    一.题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 二.输入描述 输入n级台阶 三.输出描述 输出总有多少种不同跳法 四.牛客网提供的框架 cla ...

  10. c# 静态成员和实例成员的区别

    静态成员也称为共享成员,例如静态属性 静态字段 静态方法:静态成员可以在类的实例之间共享. 静态类中只能有静态成员,不能有实例成员,因为静态类不能进行实例化: 在非静态类中 即可以有静态成员 也可以有 ...