第一个小程序和第一笔赞赏

上一个农历年的年底,对小程序开发产生了兴趣,且正好看到「知晓云」这个服务可以在有限条件内免费使用,于是就开始利用业余时间开发起了一个小程序「藏书助手」。

可以在微信小程序搜索「藏书助手」找到它。

藏书助手

「藏书助手」是一个纯粹的个人项目。之所以这样说,原因有两个,其一,开发这个项目是为了我满足自己的使用需求,其二,这是为了学习小程序开发用来练手的项目。当开发出最初版本的时候,自己试用了一下,感觉还算顺手,而且目前好像没有类似的小程序,就想着看能不能发布上线。

期间还经历了一些插曲。

这个小程序的功能是通过扫描书籍的条形码,获取 ISBN 后查询书籍相关的信息,进行收藏整理。书籍信息需要从一个拥有书籍信息数据的第三方获取。我最先想到的是从聚合数据或者类似的数据接口提供商那里获取数据,但是存在两个问题。第一个问题,小程序的网络请求必须是 HTTPS 请求,提供商如果不支持,那就肯定不能用。第二个问题,这些服务商的接口在请求的时候,需要将一个我申请的密钥作为参数放在请求里,如果在小程序里使用,就只能把这个密钥以明文的方式写在小程序里,这样明显是不安全的。于是就放弃了这个方案。

之后我发现豆瓣的开放 API 支持 HTTPS,而且是开放接口,可以直接通过公开的地址请求,并且不用附带类似密钥的参数,能请求到的数据也相当完整,于是,就使用了豆瓣的接口。

问题又来了。虽然,每个小程序都是一个独立的,但是,所有的小程序发出去的 HTTPS 请求的 Referer 都是一样的。这样就导致一个问题,如果有一百个小程序在使用豆瓣的数据接口,豆瓣会把这些小程序发出的请求都识别为同一个来源的请求,当请求量很大时(这种情况下,请求量必然会很大),豆瓣就会启动防护,导致小程序没办法使用豆瓣的接口。就在我打算将「藏书助手」提交审核的前一两天,这种情况发生了,而且,看小程序的开发者社区,很多人都遇到了这个问题。

得想别的办法了。

除了豆瓣,没有这样的数据接口了,而且,读取数据的代码都是按照豆瓣给的数据的结构写的,我得想个办法,从别的地方——而不是小程序内——请求豆瓣的数据。最次的办法肯定是搭服务器,转发请求,但是还有没有别的办法呢?

我去看了看阿里云的产品列表,有一个“API 网关”服务,然后发现了“函数计算”服务。于是,我想把这两个做一个结合,通过 API 网关,暴露接口服务,然后调用“函数计算”中自定义的函数,从豆瓣读取数据,再返回给调用 API 网关服务的小程序。不过,折腾了两天,没把这个事情搞定,于是就放弃了。

最后只能用最笨的办法,搭服务器,转发请求。根据小程序后台的要求,所有在小程序中请求数据的网址,都需要在小程序后台配置,且必须是已经备案的站点地址。至此,本来是抱着玩一玩的心态,结果最后来了一个全家桶:购买服务器和域名、走备案程序、配置服务器转发请求。其余的都好说,备案程序走了大半个月。

在农历年之前提交发布上线的计划,也拖到了年后。中间还因为审核不通过被拒了一次,不过,很快就修改了,顺利上线了。

知晓云

决定我开发「藏书助手」小程序的,还有另外一个因素。当时只是为了练手,并没有打算有什么投入,当然包括搭建服务器。因此,「知晓云」的免费个人开发者套餐为我开发「藏书助手」降低了门槛。

知晓云是一个面向小程序的 BaaS 服务,提供了在线数据库、富文本内容、文件的管理,以及用于小程序的 JSSDK,可以免去服务端开发,专注于小程序前端。

只需要在知晓云的后台,新建小程序,并配置好相关的信息,再将它提供的安全网址配置到小程序的后台,就可以开始了。我主要用到了数据库服务,自己设计好数据库接口,就可以在小程序开发工具里,调用知晓云 JSSDK 提供的工具来对数据进行操作了,非常方便。

顺便做个广告,通过我的邀请注册知晓云,可以获得一些优惠:

点这里

小程序

该说说小程序本身了。

当张小龙第一次提及「应用号」(小程序最开始打算叫这个名字)的时候,给我的感觉就像微信刚刚推出公众号时一样。这两者都是这样一种优秀的产品:它被推出之前,没人做类似的产品,但是它一面世,人们都觉得这是了不起的产品。

小程序兼具原生应用的流畅度和 Web 应用的轻量级,为移动端应用程序提供了新的可能性。对用户来说,小程序无需安装和卸载,无处不在、用完即走;开发者来说,开发工具简单易用,且很容易上手;对各个服务商来说,微信大量的用户、社交关系、完善的支付体系都为各种各样的服务提供了极大的便利。

我从自己开发「藏书助手」的过程中感觉到,这是一个及其低门槛的事情,未来必然会有大量具有想象力的小程序出现。

第一笔赞赏

今天早上上班刚到公司,看到微信提示我收到了一笔赞赏,赞赏的留言内容是:非常喜欢你的藏书助手小程序。

当时心想,我的小程序里没有放赞赏码,怎么就收到赞赏了呢?后来发现,是一个微信网友在我微信公众号里看到了我关联的小程序,然后,通过我最新发表的文章的赞赏码,给我赞赏了两块钱。

虽然只是两块钱,但是对我是极大的激励,这是我第一次收到陌生人的赞赏。赞赏代表认可,陌生人的认可才是真的认可。

被认可,很开心。

再说「藏书助手」

一开始,开发这个小程序的时候,只想着开发一个很简单的功能,刚刚够用即可,以至于主界面上只有一个按钮。得益于微信的渠道,藏书助手每天都会有几个新用户来访问,大部分进来看看就走了,目前的数据看,有一百来个用户,大部分只打开过一次。

不过,这也给我带来了收获。在小程序后台的数据中,我能看到,点开我开发的小程序的人来自全国各地,用着各式各样的手机,他们通过藏书助手,扫描了各式各样的书,让我知道我的圈子之外的人们,在学习些什么东西。很奇妙。

虽然只是一个业余时间的练手项目,我想,还是应该不断把它完善一下。毕竟,这个世界上有很多爱读书的人,他们坐在自己的书桌前,享受自己的宁静,也不打扰旁人,我希望我和这些人能通过某种东西建立连接。