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

作者:郑智文

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

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

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

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

大哥,8102 年了,GUI 调试工具了解一下?

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

或者这样。

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

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

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

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

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

所以,大佬们,GUI 开发工具了解一下?

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

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

咦?编译失败?不对啊,换个模式再试试?

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

不要使用(Node.js)8.0.* 版本.这个版本内部 ZipStream 实现与 node-archive 包不兼容,会引起报错。

果不其然……

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

这时候就超羡慕 Python 开发者有没有啊!?

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

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

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

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

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

感觉身体被掏空?那就删掉 node_modules 再重新安装,就可以找借口摸鱼了

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

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

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

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

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

相关阅读

原文发布于微信公众号 - 知晓程序(zxcx0101)

原文发表时间:2018-03-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏极乐技术社区

我的第一个小程序(Discuz! + 微信小程序)

Github : https://github.com/DowneyL/di...‘

9287
来自专栏逸鹏说道

一个粗心的Bug,JSON格式不规范导致AJAX错误

一、事件回放 今天工作时碰到了一个奇怪的问题,这个问题很早很早以前也碰到过,不过没想到过这么久了竟然又栽在这里。 当时正在联调一个项目,由于后端没有提供数据...

3634
来自专栏零基础使用Django2.0.1打造在线教育网站

零基础使用Django2.0.1打造在线教育网站(二十一):讲师相关页面配置

努力与运动兼备~~~有任何问题可以加我好友或者关注微信公众号,欢迎交流,我们一起进步!

1922
来自专栏做全栈攻城狮

零基础开发高大上精美网站,非技术人员建站宝典 第一课

对于程序员,写代码是日常工作。作为他们眼中的电脑通,时常会有亲朋好友,找你给做个网站或者公众号。盛情难却。自己不得不搞。“子非鱼焉知鱼之乐”。按照要求去做,浪费...

3243
来自专栏FreeBuf

加油站也会被黑?来看看这个攻击案例

这篇文章涉及的问题主要与加油管理设备公司Veeder Root相关的油品液位仪TLS-300/350 UST和TLS-350R相关,原因在于可以通过其错误配置的...

2556
来自专栏大数据挖掘DT机器学习

QQ空间(日志、说说、个人信息)python爬虫源码(一天可抓取 400 万条数据)

爬虫功能: QQSpider 使用广度优先策略爬取QQ空间中的个人信息、日志、说说、好友四个方面的信息。 判重使用“内存位”判重,理论上亿数量级的QQ可瞬间判...

6024
来自专栏阮一峰的网络日志

Usenet:P2P下载的替代方法

在上一篇网志中,我已经说了,我打算好好研究和介绍usenet。 下面就是我翻译的第一篇教程。它的信息量很大,非常通俗实用。基本上,读完这篇文章,你就会使用use...

4308
来自专栏全华班

轻量级项目任务管理系统

--------------------------------------------------

8704
来自专栏iOS技术

设计一个简单的 iOS 架构前言一、关于组件化二、模块化思维划分文件三、减少全局宏的使用四、去基类化设计五、MVC?MVP?MVVM?VIPER?结语

正如“100个读者就有100个哈姆雷特”一样,对于架构的理解不同的软件工程师有不同的看法。架构设计往往是一个权衡的过程,每一个架构设计者都要考虑到各个因素,比如...

1653
来自专栏玩转全栈

如何愉快的使用mpvue开发小程序

首先mpvue是基于vue实现的一套能够在微信小程序上跑起来的框架。因此,如果你开始准备使用mpvue开发小程序,而且,如果你恰好有vue开发的经验,那么可以略...

93021

扫码关注云+社区

领取腾讯云代金券