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

我,一个自诩牛逼上天的 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),作者:让你更知微信的

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 云函数公测!小程序开发节省 60% 的成本

    知晓君
  • 还没想好五一去哪玩?这 4 款小程序,给你一场完美旅行

    小程序体验师:朱德厚 五一假期终于来了,但很多人之前都在努力工作,没有时间做好旅游的准备。

    知晓君
  • 不用锤子手机也能 Big Bang!识字、分词,就用这款小程序

    前不久,我在《懒得打字?这两款文字识别小程序,解放你的双手》一文中,推荐了两款「智能识别图文」小程序。

    知晓君
  • 你不知道的Node.js性能优化

    仅仅是简单的升级 Node.js 版本就可以轻松地获得性能提升,因为几乎任何新版本的 Node.js 都会比老版本性能更好,为什么?

    Starkwang
  • Node.js 为什么进程没有 exit?

    不知道各位 noder 们有没有碰到过这样一个疑问,当你写的 Node.js 代码是异步逻辑的时候,我们要怎么才能知道 Node.js 进程是什么,什么时候才会...

    五月君
  • LinkedBlockingQueue

    大学里的混子
  • 如果Node.js已具备反向代理的功能,我为什么要使用反向代理?

    这一年是2012年.PHP和Ruby on Rails作为渲染Web应用程序的最高服务器端技术而备受瞩目。但是,一个大胆的新竞争者掀起了一场风暴 - 一个能够处...

    银河1号
  • Node.js真的无所不能?那些不适用的应用领域分析

    Node.js是一个服务器端JavaScript解释器,底层采用的还是libevent;它的目标是帮助程序员构建高度可伸缩的应用程序,目前对Node.js 的采...

    李海彬
  • Node.js真的无所不能?那些不适用的应用领域分析

    Node.js是一个服务器端JavaScript解释器,底层采用的还是libevent;它的目标是帮助程序员构建高度可伸缩的应用程序,目前对Node.js 的采...

    李海彬
  • 聊聊sharding-jdbc的SQLExecutionHook

    incubator-shardingsphere-4.0.0-RC1/sharding-core/sharding-core-execute/src/main/...

    codecraft

扫码关注云+社区

领取腾讯云代金券