前段时间有做一个分账小程序的想法,所以去学习了下小程序的开发。

小程序开发并不难,门槛挺低的。本质上是像 网页、手机软件这种另一个前端平台的开发,但是是在微信定义的框架内完成的,有一些微信里独有的一些功能,比如说获取用户的基本信息,登陆,分享到微信群等。微信提供了非常详细的文档,网上也有很多组件可以使用,整体感觉会比开发网页和手机软件来得更加简单,很大程度降低了懂点技术的人有想法,想做尝试的难度。

要开发一个小程序,首先应该了解在微信里,小程序是怎么运作的,生命周期是什么样的,页面的加载和路由等。然后就可以上手尝试。

开发模式可以分为两种:朴素式 和 豪华式

朴素式开发

朴素式,如同字面意思一样,是比较简单直接的开发方式,没有一些花里胡哨的操作。

每一个小程序的页面,都由 4 个文件协同以完成功能:

  1. .wxml 文件,类似 html,这个文件主要是用来构建页面的结构,包括了哪些组件,之间是怎么相互关联的。比如包含了个按钮。
  2. .wxss 文件,类似 css,这个文件是用来描述页面显示的样式的,决定了 wxml 里的组件和结构要怎么显示。比如按钮是什么颜色的。
  3. .js 文件,和网页开发的 js 是一个用处,用来处理一些事件,比如点击按钮会发生什么。
  4. .json 文件,定义了一些小程序里特有的内容的显示,比如每个页面的名称。

除此之外,有 app.jsapp.json 来做整个小程序全局的一些配置和事件的处理。

差不多就这些内容,对于有前端基础的朋友,要尝试是分分钟的事情。

朴素式的开发有个问题,每要开发一个页面,都要创建着四个文件,要来回在这几个文件之间切换更改,麻烦得很。比如要修改一个按钮,首先要去 wxml 调整在页面的结构位置,再去 wxss 去调整一下颜色,之后再去改 js 去设置点击之后会发生什么。一个页面还好,但是页面多了之后,文件超多,麻烦,所以 豪华式就有了用武之地。

豪华式开发

豪华式开发,用到了微信开发的一个小程序开发框架 Wepy,很大程度上解决了朴素式的麻烦,还有一些别的优点:

  1. Wepy 借鉴了 Vue,所以在开发模式上基本和 Vue 一样。
  2. 每个页面只需要定义一个 .wpy 文件,然后类似于 Vue 的一个页面,html, css, js 都在这个文件里,简化了开发。
  3. 在开发完后,可以通过编译,Wepy 会自动用 wpy 文件,为每个页面生成朴素式的四个页面。
  4. Wepy 让小程序开发更容易组件化。
  5. ...

对于有 Vue 或者 React 基础的朋友,基本可以无缝上手。开发效率也会比朴素式的快很多。

在学习的过程中,也试着用 Wepy 仿照别人的实现,简单实现了一个服装商城 fashion-mall,配了一个可以本地运行的测试后端。有兴趣的朋友可以参考 Github

小程序让应用的开发和维护成本小了很多,让想法的试错成本也低了很多。

有想法,该试试。