完成一件事,没有想象中的那么难,也远没有那么简单。

 

一直都不看好微信小程序,定位比较尴尬,没有原生APP强悍,但比H5的表现要好。小程序沉浸式运行,优点自然是原生感强,缺点也很明显,微信来消息时多少有点尴尬。不成熟的建议,小程序页面可以对微信消息弹窗显示,这样至少可以知道消息是否紧急,同时增加点击回复功能,这样可以减少多次不必要的切换。

 

虽然不看好小程序,但是微信刚推小程序时,我还是想第一时间开发小程序,毕竟,能在微信里面打开属于自己的模块,还是感觉吊吊的。可是,万万没想到,小程序推出之初,个人开发者没有发布权限,也就是说,你可以尝试开发,但是只能自己拿着debug版本玩,完全没办法炫耀啊。综合以上原因,早期只做了些简单的功能就作罢了。后来就基本没有关注了。

 

最近比较清闲,想实现个程序,用于把自己博客端和公众号端的文章综合管理。这便有了“可乐分享快乐”这款小程序。

 

整个开发过程分三步:

第一步,个人网站支持https。小程序要求后台服务器必须以https方式访问。原先我的博客和主页都是托管在虚拟主机上,虚拟主机无法直接部署SSL/TLS证书,只能够通过CDN内容分发实现https代理,这样做最大的问题是CDN按流量收费或者按触发代理频次收费,万一网站被恶意攻击或者图片防盗链设置不当,一夜之间负债累累啊。后来干脆直接把网站搬到服务器上,所有环境从0到1,原先虚拟机使用Apache,自己搭建服务器则选择了Nginx作为HTTP和反向代理服务器。初识Nginx,踩了很多坑。尝试做了动静分离。服务器绑定了两个域名,一个直接用于HTTP服务,location直接定位web根目录,另一个用于配置反向代理,后台通过Golang监听特定端口。反向代理主要用于学习和研究。有了自己的服务器,部署SSL/TLS证书就很简单了,找到合适的CA机构,绑定认证域名,获取证书,部署证书。

 

第二步,小程序实现。小程序整体架构,前端使用小程序WXSS、WXML、JS,后端使用PHP、WordPress。这里主要用到WordPress的REST API,这种RESTful风格的API,可以借助路由系统,通过各种参数控制,获取博客内容相关的JSON数据。通过WordPress搭建小程序的开源代码有很多,很多模块都已经很成熟,因此这类小程序开发更多是一个学习的过程,看了很多开源代码,借用了很多别人造的轮子。这里不得不说小程序有待完善的地方:

  • 第一点,小程序对个人和机构组织的权限差异较大,个人小程序有很多高级功能不能使用,希望微信官方可以把审核的工作更多的放到自己身上,而不是简单的一刀切,对个人开发者很不友好。

  • 第二点,小程序虽然使用JS脚本语言,但是不支持很多特性,比如不支持DOM迭代,留言多层嵌套不好实现,只能手动代码嵌套。关键还不支持主流框架。

小程序整体实现偏重于前端界面设计、后台服务器搭建和自定义路由。小程序最初规划是要实现点赞、评论、赞赏、文章展示、文章发布、微信公众号文章同步等功能,但是最终因为时间因素,也因为自己低估了真实的工作量,未能开发文章发布和微信公众号文章同步功能。后续可能会抽时间完善。

 

第三步,运维推广。言简意赅地说,很失败。总结了一下原因:

  • 首先,我的个人小程序个人主义色彩太浓,提供的内容都是自己的博客内容,难有用户需求。

  • 其次,早期公众号推广做的就不好,关注人数太少,导致公众号这一入口没能给小程序引流。

  • 再次,微信强调小程序的功能性,需要的时候扫码进去,用完了甩手就走,也就是给小程序设定了应用场景,对个人博客版的小程序而言,首次进入只能靠公众号和朋友圈推广,其他推广途径基本没有,而二次进入基本上就是0概率了。

这几点原因其实在做小程序之初就已经考虑到了,但是更多是为了学习和研究,要想吸引用户,还是得提供功能行的模块,或者开发小程序游戏。目前,微信官方已经放开了个人开发者开发调试小程序游戏的权限,想必发布小游戏也指日可待了。下一阶段,开发一款小程序游戏。

 

个人开发者,高傲的讲叫全栈工程师,即便是开发一个很小的程序,也会涉及到很多方面的知识,难免遇到技术壁垒,踩坑是常有的事,习惯就好。个人开发者一定要具有产品思维,关注项目管控,尤其是对一些细枝末节的部分,在项目初期不可过度死磕,要保证功能准时上线,通过版本迭代步步完善。个人开发者还必须合理估计项目的难度和广度,初期估计工作量,一般都会把熟悉的部分低估,而把不熟悉的部分高估,这在很大程度上会影响项目的规划。

最后,每天进步一点点,经年大不同。

推荐阅读:我是一个程序员  、  没有人怕做他熟练掌握的事情

微信扫码或者搜索『icolakele』吧!

​我的第一个微信小程序

相关文章:

  • 2021-12-01
  • 2021-12-28
  • 2021-09-25
  • 2021-05-24
  • 2021-04-10
  • 2021-04-11
猜你喜欢
  • 2021-07-14
  • 2021-12-29
  • 2021-12-14
  • 2021-04-25
  • 2021-10-27
  • 2021-06-08
  • 2021-11-23
相关资源
相似解决方案