市面上用于开发工作的编辑器非常多,笔者会经常因为不同的编程语言该如何选择好用的编辑器而感到纠结。而在随后从事 React Native 开发工作过程中,对相应的编辑器做了一些探索和研究,本文总结了一些非常适合移动应用开发的编辑器和 IDE。

1. Nuclide

  • 官网:https://nuclide.io/
  • Github 项目地址:facebook / nuclide(https://github.com/facebook/nuclide)
  • 文档:
    • 设置:https://nuclide.io/docs/editor/setup/
    • Nuclide with React Native:https://nuclide.io/docs/platforms/react-native/
  • 支持平台:Windows、Mac、Linux
  • Licence:开源
  • 特性:
    • 内置调试
    • 远程开发
    • Developing Hack
    • 支持 Mercurial
    • 工作集

Nuclide 是基于 Atom 之上构建的单独的一个包,其提供可编程性且社区非常活跃。它为 React Native、Hack 和 Flow 项目提供一流的开发环境。

2. Atom

  • 官网:https://atom.io/
  • Github 项目地址:atom(https://github.com/atom)
  • 文档:

    • 设置:http://flight-manual.atom.io/
    • Atom with React Native:https://blog.sendbird.com/tutorial-build-a-messaging-app-using-react-native/
  • 支持平台:Windows、Mac、Linux

  • Licence:开源
  • 特性:
    • 跨平台编辑
    • 内置包管理器
    • 智能自动补全
    • 文件系统浏览器
    • 多个窗格
    • 查找和替换

Atom 是一款现代化、易用、可控的文本编辑器。Atom 被开发人员广泛应用于多种编程语言。它有一个庞大而活跃的社区,诞生了很多有用的插件。

Atom 常用的包:

  • atom-react-native-autocomplete package - 该包针对 React-Native,为 Atom 编辑器提供自动补全功能。
  • atom-react-native-css - 这是一个内置支持 SASS、SCSS 的 React-Native 组件的包。React-native-css 将有效的 CSS、SASS转换为 CSS 的 Facebook 子集。
  • react-native-snippets - 该包是 Atom和 Nuclide 的 React Native 片段。
  • zenchat-snippets - 它是react-native、redux 和 ES6 的片段集合。
  • atom-xcode - 用于集成 Mac Xcode 和 atom。安装之后,iOS 模拟器可以在 atom 内进行控制。
  • language-babel - 包含所有 JavaScript 版本的语法,包括 ES2016 和 ESNext、用于 Facebook React 的 JSX 语法、以及 Atom 的 etch。

3. Sublime Text

  • 官网:https://www.sublimetext.com/
  • Github 项目地址:SublimeText(https://github.com/SublimeText)
  • 文档:
    • 设置:https://www.sublimetext.com/docs/3/
    • SublimeText for React Native:https://zaicheng.me/2016/06/20/react-native-initial-setup/
    • 为 React-JSX 开发设置 SublimeText:(http://www.nitinh.com/2015/02/setting-sublime-text-react-jsx-development/)
  • 支持平台:Windows、Mac、Linux
  • Licence:可以免费下载和试用,继续使用需购买 License。
  • 特性:
    • Goto Anything 功能
    • 多个选择
    • 命令终端
    • 分心自由模式
    • 拆分编辑
    • 即时项目开关
    • 插件 API
    • 可自定义任何东西
    • 跨平台
  • 设置 React Native:nitinh.com/2015/02/setting-sublime-text-react-jsx-development/

Sublime Text 是一个复杂的文本编辑器,可用于编写代码、做标记和编写普通文本。社区提供了大量的插件扩展其功能。Sublime Text 一直是开发人员最喜欢的编辑器。

Sublime Text 常用包

  • react-native-snippets - 用于 react native 的 Sublime Text 的片段集合
  • babel-sublime - 具有 React JSX 扩展的 ES6 JavaScript 的语法定义。

4. Visual Studio Code

  • 官网:https://code.visualstudio.com/
  • Github 项目地址:Microsoft/vscode(https://github.com/Microsoft/vscode)
  • 文档:
    • 设置:https://code.visualstudio.com/docs
    • 使用 Visual Studio Code 开发 React Native 应用:https://blogs.msdn.microsoft.com/visualstudio/2016/02/22/develop-reactnative-apps-in-visual-studio-code/
  • 支持平台:Windows、Mac、Linux
  • 特性:
    • 内置 Git 命令
    • 可扩展并且可定制

Visual Studio Code 是由 Microsoft 为 Windows、Linux 和 OS X 开发的源代码编辑器。它是免费和开源的,支持调试、嵌入式 Git 控件、语法高亮、智能代码补全、代码段和代码重构。

扩展

  • ReactNative Tools - 此扩展为React Native 项目提供了开发环境。你可以调试代码,从命令终端快速运行 react-native 命令,并使用 IntelliSense 浏览 React Native API 的对象、函数和参数。
    Vim编辑器

5. Vim 编辑器

  • 官网:http://www.vim.org/
  • Github 项目地址:vim/vim(https://github.com/vim/vim)
  • 文档:

    • Vim 文档:http://www.vim.org/docs.php
    • 为 React-JSX 设置 Vim:https://jaxbot.me/articles/setting-up-vim-for-react-js-jsx-02-03-2015
  • License:开源

  • 支持平台:Mac、Linux
  • 特性:
    • 持久、多层次的撤销树
    • 广泛的插件系统
    • 支持数百种编程语言和文件格式
    • 强大的搜索和替换功能
    • 能够与许多工具集成

Vim 是一种高度可配置的文本编辑器,可以非常高效地创建和更改任何类型的文本。大多数 UNIX 系统都以 “vi” 的形式支持它。许多开发人员喜欢使用 Vim 进行各种编辑工作。Vim 非常稳定,并且在不断发展而变得更好。

Vim 插件

  • vim-jsx - 提供 JSX 的语法高亮和缩进。
  • vim-react-snippets - 一组为 Vim 打造的可与Facebook 的 React 库一起使用的片段。
  • vim-babel - 一组为 Vim 打造的可与Facebook 的 React 库一起使用的片段。

6. GNU Emacs 编辑器

  • 官网:https://www.gnu.org/software/emacs/
  • 文档:
    • 官方文档:https://www.gnu.org/software/emacs/documentation.html
    • 针对 React Native 的初始设置:http://www.cyrusinnovation.com/initial-emacs-setup-for-reactreactnative/
  • License:遵循 GPL
  • 支持平台:Windows、Mac、Linux
  • 特性:
    • 内容感知编辑模式,包括语法着色,适用于多种文件类型。
    • 完整的内置文档,包括新手教程。
    • 支持几乎所有脚本语言的 Unicode 编码。
    • 高度可定制,使用 Emacs Lisp 代码或图形界面。
    • 具有用于下载和安装扩展的包系统。

GNU EMACS 是一个可扩展、可定制、免费、自由的文本编辑器。

扩展

  • web-mode.el - 它是一个自主的 emacs 主模块,用于编辑 Web模板。它与许多语言兼容,包括 JSX(React)。

7. Spacemacs 编辑器

  • 官网:http://spacemacs.org/
  • Github 项目地址:syl20bnr/spacemacs(https://github.com/syl20bnr/spacemacs)
  • 文档:
    • 官方文档:http://spacemacs.org/doc/DOCUMENTATION.html
  • License:开源
  • 支持平台:Windows、Mac、Linux
  • 特性:
    • 密钥绑定使用助记符前缀进行组织
    • 可发现 - 创新的实时显示可用的键绑定。
    • 相似的功能具有与之相同的密钥
    • 简单的查询系统可以快速找到可用的层、包等。
    • 社区驱动的配置提供了强大的用户可调的包,bug 可被快速修复。

Spacemacs 是一个社区驱动的 Emacs 发行版 - 最好的编辑器既不是 Emacs 也不是Vim,它是 Emacs 和 Vim 相结合!

扩展

  • React layer - 适用于 React 的 ES6 和 JSX 配置层。它将自动识别 .jsx 和 .react.js 文件。一个用于 React集成的包层。

8. Deco IDE

  • 官网:https://www.decosoftware.com/
  • Github 项目地址:decosoftware/deco-ide(https://github.com/decosoftware/deco-ide)
  • 文档:
    • 官方文档:https://www.decosoftware.com/docs
  • 支持平台:Mac(仅适用于iOS)
  • License:开源
  • 特性:
    • 组件搜索和插入
    • 实时调整
    • 新文件支架

Deco 是专为 React Native 打造的 IDE。它是一个用于编写 React Native 应用程序的一体化解决方案,无需任何环境设置即可下载和使用。Deco 专注于组件重用,并支持用户对 UI 的实时编辑,从而改进了React Native 开发工作流程。

9. WebStorm

  • 官网:https://www.jetbrains.com/webstorm/
  • 文档:
    • 官方文档:https://www.jetbrains.com/webstorm/documentation/
    • 使用外部工具:https://blog.jetbrains.com/webstorm/2016/08/using-external-tools/
  • License:收费(单个用户第一年需支付 129 美元)
  • 支持平台:Windows、Mac、Linux
  • 特性:
    • 智能编码协助
    • 支持最新技术
    • 版本控制系统
    • 无缝工具集成
    • 调试、跟踪和测试
    • 内置终端

WebStorm 建立在开源 IntelliJ 平台之上,JetBrains 已经开发和完善了15多年。它提供与 VSC、本地历史功能的紧密集成,具有充满活力的插件生态系统,是完全可配置的,还提供大量其他的功能。WebStorm 为 React 和 JSX 提供高级支持,并提供 React Native 应用程序的核心编码协助。

10. TextMate 编辑器

  • 官网:https://macromates.com/
  • 文档:
    • 官方文档:http://manual.macromates.com/en/
  • License:收费(单个用户 License 为48.75欧元)
  • 支持平台:Mac
  • 特性:
    • CSS 选择器可确定操作和设置的范围
    • 快速概述和导航功能弹出
    • 可以把你最喜欢的脚本语言作为插件集成
    • 从文档中运行 Shell 命令
    • 代码高亮
    • 可与 Xcode 协作并构建 Xcode 项目

TextMate 并不是 IDE,但是通过使用其强大的片段、宏和独特的范围界定系统,它通常可以提供即使是编程语言特定的 IDE 都缺乏的功能。React 不直接支持,但是借助下面的插件可以很容易地获得对大多数 React 代码所基于的 JSX 的支持。

插件

  • javascript-jsx.tmbundle - 用于JSX(React)的 Textmate Bundle。目前支持语法高亮。

总结

所有代码编辑器都具有丰富而强大的功能。且其中的插件和扩展都可以适应 React Native 环境,因此在迁移到 React-Native 时,我们不必迁移到不同的代码编辑器。

原文:Top 10 Editors For React Native Mobile App Development
作者:Murtaza Basrai
翻译:安翔

十大最受欢迎的 React Native 应用开发编辑器相关推荐

  1. 十大最受欢迎的新Eclipse插件

    Eclipse Marketplace仍然是发现有趣且相关的Eclipse插件的地方. 通过Eclipse Marketplace客户端,每月成功安装100,000多个基于Eclipse的产品. 我们 ...

  2. 最流行的编程语言2018_2018年十大最受欢迎的编程语言

    最流行的编程语言2018 Here you will know about the most popular programming languages in 2018. 在这里,您将了解2018年最 ...

  3. 腾讯技术工程 2019 年十大最受欢迎文章出炉!

    马上要过年了,大家是在回家的路上还是已经到家了?祝各位过一个好年,大鱼大肉吃个够,今天我们腾讯技术工程也给大家准备了点「精神食粮」.从 2019 年发布的近 300 篇文章中精挑细选出了十大最受欢迎文 ...

  4. 全球十大最受欢迎的猫咪品种排行榜公布,布偶猫连续三年排名第一

    CFA公布全球十大最受欢迎的猫咪品种排行榜.The Cat Fanciers' Association(CFA,国际爱猫联合会)是一个于美国登记的非盈利性团体,成立于1906年初,发展至今已经成为全球 ...

  5. 2020年,急需提及的十大最受欢迎的编程语言

    如今,先进技术已进入几乎每个行业.无论是飞机上的自动驾驶仪还是车辆中的数字速度计,多种技术都围绕着我们.新技术和创新技术项目对于组织迅速扩大规模极为宝贵. 技术是通过编程语言来实现的,技术领域中有60 ...

  6. 十大最受欢迎的犬种排行榜公布,拉布拉多猎犬连续31年稳坐第一

    AKC公布年度十大最受欢迎的狗勾品种排行榜.美国犬业俱乐部(American Kennel Club,AKC)成立于1884年,是一个非营利组织,是全球拥有最多纯种犬注册的机构. 拉布拉多猎犬从199 ...

  7. 世界十大最受追捧的朗姆酒品牌

    世界十大最受追捧的朗姆酒品牌 摘要: 欧睿国际饮业(Drinks International and Euromonitor)发布了一份专业的产业报告--<百万富翁俱乐部> (The Mi ...

  8. React Native组件开发指南

    React Native的组件开发一直处在一个比较尴尬的处境.在官方未给予相关示例与脚手架的情况下,社区中依然诞生了许许多多的React Native组件.因为缺少示例与规范,很多组件库仅含有一个in ...

  9. React Native移动开发实战-4-Android平台的适配

    打开Android开发工具Android Studio,选择菜单 Open an existing AndroidStudio project,打开ch04项目的android文件夹,如图5.8所示. ...

最新文章

  1. Android刷新机制-View绘制原理
  2. 初学微信小程序 TodoList
  3. java inflaterinputstream_java.util.zip.InflaterInputStream.available()方法示例
  4. tensorflow基本概念
  5. php签名墙代码,我们是一家人(签名墙)
  6. c++中创建类型测试
  7. 201521123121 《Java程序设计》第14周学习总结
  8. UnicodeDecodeError: 'gbk' codec can't decode byte 0xd2 in position 85: illegal multibyte sequence
  9. fprom预测结果内容_预测模型之机器学习 Machine Learning结果解读篇
  10. 使用 ADO.NET 访问 Oracle 9i 存储过程
  11. 【课本】【No.3】随机向量定义、联合分布函数、边缘分布、统计特征的分布函数的差分,独立性、离散型条件分布列,连续型分布函数与密度函数、随机向量的函数分布
  12. laravel 除了主页 都是404 webconfig_通过 Laravel 创建一个 Vue 单页面应用(六)
  13. 查看dll/exe所依赖的库文件、导出函数、系统位数
  14. android nv21 nv12,android - 将NV21转换为NV12并旋转90度通过libyuv? - 堆栈内存溢出
  15. 计算机毕业设计Java多媒体网络教学(源码+系统+mysql数据库+lW文档)
  16. 7628刷breed_H大的最新版Breed不死u-boot
  17. e8 c 虚拟服务器,电信光猫e8-c怎么设置拨号方式上网
  18. kaldi或者eesen中错误:ERROR (compute-fbank-feats:Read():wave-reader.cc:198
  19. 给了一串数字:218916754,根据下面规则可以找出扣扣号码:首先删除第一个数,紧接着将第二个数放到这串数字的末尾,再将第三个数删除,并将第四个数放到这串数字的末尾......如此循环,知道剩下最后
  20. 下落(fall)【模拟】

热门文章

  1. Linux生成子进程函数fork()
  2. 计算机图形学----投影矩阵
  3. 中国内容广告行业市场供需与战略研究报告
  4. 蔬菜刀行业调研报告 - 市场现状分析与发展前景预测
  5. 中国特威兹勒行业市场供需与战略研究报告
  6. 2021年中国中端婴儿车和婴儿车市场趋势报告、技术动态创新及2027年市场预测
  7. 从研发到管理,这十大技巧助我提升了领导力
  8. “年薪 45 万美元的 Netflix 开发工作,我不要了”
  9. 活到老,学到老!各大厂数据库技术解决方案来了
  10. 微软拟禁用JIT提高Edge浏览器安全性