Native开发工具之应用开发编辑器&打包发布(一)

阿里P7移动互联网架构师进阶视频(每日更新中)免费学习请点击:https://space.bilibili.com/474380680
本篇文章将通过以下两部分内容介绍React Native开发工具

  • 十大最受欢迎的 React Native 应用开发编辑器
  • ReactNative开发之打包发布

一、十大最受欢迎的 React Native 应用开发编辑器

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

1. Nuclide

19956127-55ddab92dca3cee9.png

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

2. Atom

19956127-c19b18071b0c5d9f.png

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

19956127-fd8a7070ce5c917c.png

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

Sublime Text 常用包

4. Visual Studio Code

19956127-6c2942102c90ecf9.png

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

扩展

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

5. Vim 编辑器

19956127-c1b4a7a7a27b065d.png

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

Vim 插件

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

6. GNU Emacs 编辑器

19956127-36532f0373355251.png

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

扩展

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

7. Spacemacs 编辑器

19956127-21cd61fb01736f77.png
  • 官网:http://spacemacs.org/

  • Github 项目地址:syl20bnr/spacemacs(https://github.com/syl20bnr/spacemacs)

  • 文档:

  • License:开源

  • 支持平台:Windows、Mac、Linux

  • 特性:

    • 密钥绑定使用助记符前缀进行组织
    • 可发现 - 创新的实时显示可用的键绑定。
    • 相似的功能具有与之相同的密钥
    • 简单的查询系统可以快速找到可用的层、包等。
    • 社区驱动的配置提供了强大的用户可调的包,bug 可被快速修复。

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

扩展

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

8. Deco IDE

19956127-b94558aa3a9f346f.png

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

9. WebStorm

19956127-2679ceff011cb779.png

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

10. TextMate 编辑器

19956127-e4e511b2bd63b931.png
  • 官网:https://macromates.com/

  • 文档:

  • License:收费(单个用户 License 为48.75欧元)

  • 支持平台:Mac

  • 特性:

    • CSS 选择器可确定操作和设置的范围
    • 快速概述和导航功能弹出
    • 可以把你最喜欢的脚本语言作为插件集成
    • 从文档中运行 Shell 命令
    • 代码高亮
    • 可与 Xcode 协作并构建 Xcode 项目

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

插件

总结

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

二、react-native 打包流程

问题

react-native方便了移动端app组件的开发,但是其社区以来的expo jdk 在某些业务场景下不足以满足某些需求,我们需要将其与原生app进行整合,共同打包发布,但rn官方文档中对于此方面的描述并不详尽。

分析

使用react-native的开发者,大多数是没有原生开发经验的,而将react-native与原生应用进行整合则必须要对原生应用开发流程由一定了解,因此在条件允许的条件下,这部分工作可交由原生开发人员完成。
但是如果android工程师的条件无法满足,则需要前端工程师自己完成,幸好,这部分工作并不十分需要非常深入的原生知识,只需要了解构建工具的简单使用即可。

解决

在此以 android studio 为例来说明如何将react-native应用打包成android apk

1.创建react-native应用
create-react-native-app helloworld

2.将开发环境结构为可定制模式
yarn eject

3.打开android studio ,从当前目录下的android子目录导入应用
11516593-6e9d2f039ebe980d.png
11516593-7c6278049e32623f.png
3.打包jsBundle

原生应用会提供js运行环境,因此实际上还是要将应用代码打包为一个js文件,实际运行时也是在js解释器的帮助下执行,也因此与原生应用存在一定的性能差距。
回到命令行执行以下命令:

react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/

4.打包apk

回到android studio 项目中,进行如下图所示的操作:

11516593-75c22fcad65167e5.png
11516593-aefe35e64c482512.png
11516593-efec0fbb0c7ac829.png

以上就是一个简单的打包react-native为android apk的过程,其中还有许多个性化的配置方案可供选择,比如是否允许开发模式等等,这些需要读者们自己去探索

参考:https://www.jianshu.com/p/c45148134082
https://blog.csdn.net/csdnnews/article/details/78042121

阿里P7移动互联网架构师进阶视频(每日更新中)免费学习请点击:https://space.bilibili.com/474380680

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值