关于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进行优化



最新文章

  1. 小兔JS教程(四)-- 彻底攻略JS数组
  2. java.sql.SQLException: null, message from server: "Host '192.168.xxx.xxx' is not allowed to connect to this MySQL server"
  3. Maven的作用总结
  4. #Mac技巧#如何在Mac系统上新建TXT文档,以及打开txt文稿的乱码问题如何解决
  5. USACO Section 2.3: Money Systems
  6. Android activity 周期图
  7. jquery的checkbox问题
  8. HDU5463 Clarke and minecraft
  9. [LeetCode OJ] Distinct Subsequences
  10. ubuntu远程连接
  11. 将mysql服务加入到系统服务中 服务器配置 注销时不会关闭mysql
  12. DistBlockNet:A Distributed Blockchains-Based Secure SDN Architecture for IOT Network
  13. android TabLayout设置选中标签字体加粗功能
  14. SQL Server性能优化(14)索引碎片
  15. Class create, device create, device create file【转】
  16. [路径规划] VFF和VFH
  17. java BIO/NIO
  18. PHP 抽象类实现接口注意事项(含PHP与.Net的区别)
  19. Visual Studio Code 常用插件整理
  20. 7503E-M-irf2配置以及bfd配置

热门文章

  1. rest_framework-版本-总结完结篇
  2. List operations
  3. GPU开发笔记(一)
  4. animation和transition做动画的区别
  5. PostgreSQL Replication之第八章 与pgbouncer一起工作(2)
  6. NSStream 流式思想
  7. centOS7下 安装nodejs+nginx+mongodb+pm2部署vue项目
  8. Xshell6连接Ubuntu18.04
  9. Python学习七步走
  10. python、js 时间日期模块time