小程序开发总结

68 阅读3分钟

image.png

今年第一次帮客户做小程序。

从开始动手到完成上线,一共耗时两天。AI 让写代码变得简单、高效。

不过,小程序和 Flutter 等大厂开发框架差距实在太大,导致我一开始根本找不到感觉。

  • IDE 不好用,各种功能杂糅在一起,不够简洁。
  • 云服务的管理界面太逆天,要么数据加载不出来,要么按钮点击没反应。
  • Javascript 这种弱类型语言让人爱不起来。我因为把 require 写成了 required 导致云端一直报 runtime 错误,排查问题浪费了很多时间。

过程虽然曲折,但在 AI 的帮助下,最终还是全部搞定,完成上线。

我把开发过程中遇到的一些问题记录下来,供以后参考。

1️⃣ 云服务

云服务由“云开发“和“云托管”两个功能构成。

其中,云开发是 serverless 的一种实现形式,开发者在本地编写云函数 cloud function,然后一键部署至云端。

前端代码和云函数代码分属不同的文件夹,对应着不同操作。

在前端代码内可以通过 wx.callFunction 的形式调用云函数,云函数内部可以免鉴权调用 wx server apis。

这种开发方式可以帮助我们免去麻烦的鉴权逻辑。所谓鉴权,指的是服务端鉴别客户端身份的代码逻辑,例如我们常用的通过 OAuth2 协议调用服务端的 open APIs。

云开发可以帮助我们加速开发过程,但也限制了开发者的自由。因为我们一旦选择了云开发,便失去了选择其他技术方案(前端、后端、数据库等)的自由。

云部署的存在则是为了解决这个问题。通过使用云部署,我们可以自由地选择各种开发框架。

总的来说,云开发适合小型产品或者处于 PMF 阶段的产品,云部署适合大型产品。

另外,云开发可以平滑过渡到云部署。

2️⃣ 前端框架

小程序的前端框架和 Vue.js 高度相似。

虽然我从来没有过用 Vue 从 0 到 1 开发前端应用的经验,但这次很快就能上手,说明 Vue 对新手比较友好。

因此,我决定将前端技术栈由 React.js 转向 Vue.js。

这里需要说明一点,虽然我是计算机专业出身,但这几年的创业经历使我明白:代码的可维护性固然重要,但产品和市场更重要。

从商业的出发,我会毫不犹豫地选择简单且高效的工具,不会拘泥于“意识形态”之争。

3️⃣ AI 提速

这次产品开发,两天就能完成上线,完全得益于 AI。AI 让我这种什么懂一点的全栈开发如鱼得水。

同样的逻辑,我只选择能够帮我快速完成任务的 AI,不会去纠结“谁比谁好”。

  • 腾讯元宝帮我解答了很多关于小程序的疑惑
  • Gemini 帮我生成了大部分代码
  • 豆包帮我设计了产品 Logo