前段时间有做一个分账小程序的想法,所以去学习了下小程序的开发。
小程序开发并不难,门槛挺低的。本质上是像 网页、手机软件这种另一个前端平台的开发,但是是在微信定义的框架内完成的,有一些微信里独有的一些功能,比如说获取用户的基本信息,登陆,分享到微信群等。微信提供了非常详细的文档,网上也有很多组件可以使用,整体感觉会比开发网页和手机软件来得更加简单,很大程度降低了懂点技术的人有想法,想做尝试的难度。
要开发一个小程序,首先应该了解在微信里,小程序是怎么运作的,生命周期是什么样的,页面的加载和路由等。然后就可以上手尝试。
开发模式可以分为两种:朴素式 和 豪华式
朴素式开发
朴素式,如同字面意思一样,是比较简单直接的开发方式,没有一些花里胡哨的操作。
每一个小程序的页面,都由 4 个文件协同以完成功能:
.wxml
文件,类似 html,这个文件主要是用来构建页面的结构,包括了哪些组件,之间是怎么相互关联的。比如包含了个按钮。.wxss
文件,类似 css,这个文件是用来描述页面显示的样式的,决定了 wxml 里的组件和结构要怎么显示。比如按钮是什么颜色的。.js
文件,和网页开发的 js 是一个用处,用来处理一些事件,比如点击按钮会发生什么。.json
文件,定义了一些小程序里特有的内容的显示,比如每个页面的名称。
除此之外,有 app.js
和 app.json
来做整个小程序全局的一些配置和事件的处理。
差不多就这些内容,对于有前端基础的朋友,要尝试是分分钟的事情。
朴素式的开发有个问题,每要开发一个页面,都要创建着四个文件,要来回在这几个文件之间切换更改,麻烦得很。比如要修改一个按钮,首先要去 wxml 调整在页面的结构位置,再去 wxss 去调整一下颜色,之后再去改 js 去设置点击之后会发生什么。一个页面还好,但是页面多了之后,文件超多,麻烦,所以 豪华式就有了用武之地。
豪华式开发
豪华式开发,用到了微信开发的一个小程序开发框架 Wepy,很大程度上解决了朴素式的麻烦,还有一些别的优点:
- Wepy 借鉴了 Vue,所以在开发模式上基本和 Vue 一样。
- 每个页面只需要定义一个
.wpy
文件,然后类似于 Vue 的一个页面,html, css, js 都在这个文件里,简化了开发。 - 在开发完后,可以通过编译,Wepy 会自动用 wpy 文件,为每个页面生成朴素式的四个页面。
- Wepy 让小程序开发更容易组件化。
- …
对于有 Vue 或者 React 基础的朋友,基本可以无缝上手。开发效率也会比朴素式的快很多。
在学习的过程中,也试着用 Wepy 仿照别人的实现,简单实现了一个服装商城 fashion-mall,配了一个可以本地运行的测试后端。有兴趣的朋友可以参考 Github。
小程序让应用的开发和维护成本小了很多,让想法的试错成本也低了很多。
有想法,该试试。