今年第一次帮别人做小程序。
从开始动手到完成上线,一共耗时两天。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