# 我，一个自诩牛逼上天的 Node\.js 和小程序开发者，今天就教「快应用」好好做人

- 作者：Astrian
- 发布时间：2018-03-28 19:06
- 原文：https://www.ifanr.com/minapp/999021

![](https://s3.ifanr.com/wp-content/uploads/2018/03/timg-9.jpeg)

当你看到这句话的时候，你应该已经点进来看了，行了，这个标题已经完成一半的作用——前半句话只是我吹牛用的。不过，来都来了，你也先别走，至少听我把槽吐完了再走不是。

事情是这样的，这两天不是好几家厂商一起推出了一个名为「快应用」的妖蛾子么。发布会上可是把这个快应用吹上天，什么系统深度集成，什么丰富入口，又什么点击即用、无需下载……

对于开发者来说，这些都是吹牛用的，重点还是得看开发环境好不好使，否则一切白搭。作为知晓程序的编辑，为了给你们写点开发教程，不得身先士卒，自己试用一番。

不试不知道，这一试可是把老子两天里共计两三个小时的青春给搭进去了——就为了搭一个开发环境，调试一个 demo。

### 大哥，8102 年了，GUI 调试工具了解一下？

既然快应用是这么厉害应用开发平台，除了有厉害使用场景和入口，不得还有厉害的开发工具？按照这个思路，我想象中的快应用开发调试工具，至少类似这样。

![](https://s3.ifanr.com/wp-content/uploads/2018/03/wxdevtool.jpg)

或者这样。

![](https://s3.ifanr.com/wp-content/uploads/2018/03/mayiapp.jpg)

再不济，一个可以在电脑上监测代码、实时预览、直接排错的 GUI 工具，写起来也不难。不要求能在工具里直接写代码，反正很多小程序开发者都会用类似 Sublime Text、Brackets 或者其他什么工具来写。

所以，当天真的我打开快应用的开发文档（doc.quickapp.cn），第一件事就是找这样的 GUI 开发工具。然而，翻遍整个文档我都找不到这个所谓的工具。最后，我终于在文档第一页 getting started 的教程，看到了这些：

![](https://s3.ifanr.com/wp-content/uploads/2018/03/enveriment.png)

我去？为什么还要安装 Node.js？

后来仔细一看，原来快应用把所有编译、调试等等操作，全部放到这个 npm 包中。也就是说，在微信小程序里，改个代码直接在电脑预览效果的时代，在快应用上暂时还做不到。

![](https://s3.ifanr.com/wp-content/uploads/2018/03/Artboard-3-12.jpg)

这些就算了，配置一个 Node.js 环境，已经足以劝退许多开发者了：下载解压、安装、配置环境变量…… 如果下错成源码包，编译时间可有够好受的。

所以，大佬们，GUI 开发工具了解一下？

### 这时候好希望有个 Node.js 版本管理工具……

作为一个横跨 Node.js 和小程序两个平台的开发者（看，标题我没说谎吧），只能庆幸快应用的编译环境就是我熟悉的 Node.js。那还等啥？直接编译快应用自动生成 demo 的，搓个手手，回个车……

![](https://s3.ifanr.com/wp-content/uploads/2018/03/Artboard-3-6.jpg)

咦？编译失败？不对啊，换个模式再试试？

![](https://s3.ifanr.com/wp-content/uploads/2018/03/Artboard-3-7.jpg)

然后，我就在「编译出错 – 调整 – 重试 – 编译出错」的死循环中无法自拔。最后，文档里的这句话，让我意识到自己有多么「图样图森破」：

> 不要使用（Node.js）8.0.\* 版本．这个版本内部 ZipStream 实现与 node-archive 包不兼容，会引起报错。

果不其然……

![](https://s3.ifanr.com/wp-content/uploads/2018/03/Artboard-3-8.jpg)

得，我还是把 Ubuntu 虚拟机搬出来装个旧版本的 Node.js 吧，直接降级搞不好又出什么妖蛾子。

这时候就超羡慕 Python 开发者有没有啊！👇

![](https://s3.ifanr.com/wp-content/uploads/2018/03/Artboard-3-9.jpg)

总之，绕了这么一大圈花了一个多小时，就为了配置一个开发环境。这要是放在微信或者支付宝小程序上，安装个开发者工具一切好办，直接上手写代码，完爆快应用。

![](https://s3.ifanr.com/wp-content/uploads/2018/03/Artboard-3-10.jpg)

还是那句话，快应用赶紧出 GUI 集成开发环境吧，要不然萌新真的都会被吓跑的！

### 为什么生成的项目文件里还要再装包？

如果说环境配置是我自己庸人自扰，那行，这个问题我就真的有点看不懂了：在 Ubuntu 的安装一切顺利，直到我开始试图编译项目包，问题又出现了。这次的问题，出在臭名昭著的 node\_modules 文件夹。

做过 Node.js 开发都知道，Node.js 的灵魂就是丰富的模块功能，想要啥功能，直接一个模块就能用。只是，开发到后期，node\_modules 文件夹就会越来越臃肿，以至于将模块文件夹清空重装，等一两个小时可能都是家常便饭。

![](https://s3.ifanr.com/wp-content/uploads/2018/03/75583739.jpg)

感觉身体被掏空？那就删掉 node\_modules 再重新安装，就可以找借口摸鱼了

然后，快应用的工程项目本身其实是一个 Node.js 工程。这就算了，它居然也声明自己需要安装 Node.js 的一堆模块…… 这就很刺激了，具体表现就是，我临下班还有差不多一个小时的时候开始执行安装模块的操作，下班的时候，进度条只走到 30% 左右……

也就是说，别人装包摸鱼，我装包加班。

![](https://s3.ifanr.com/wp-content/uploads/2018/03/Artboard-3-11.jpg)

而且，其实这个工程文件夹里，真正起作用的只有 src（所有快应用代码）和 sign（包签名文件），就真的想问一句快应用：让用户装那么多（大概是莫须有的）模块，你的良心真的不会痛吗？

![](https://s3.ifanr.com/wp-content/uploads/2018/03/Artboard-3-13.jpg)

行了，关于快应用开发的吐槽我也只想写这么多——往下再吐槽还有不同语言混写的代码标准，还有略显奇葩的 RPK 包统一提交方式，不过应该也能说明快应用这个平台上线是有多么仓促。只希望快应用可以针对这些槽点，给加把劲，至少在应用质量和开发者服务方面下点功夫。

最后利益声明：这文章写得那么像黑稿，请微信小程序的人给我打钱，谢谢（滑稽）。

**关注「知晓程序」公众号 ，在微信后台回复「快应用」，获取快应用完整开发文档。**

![](https://s3.ifanr.com/wp-content/uploads/2018/01/qrcode.gif)
