“帮我开发个微信小程序吧。”
“不是都是程序开发嘛,很简单的吧。”
“什么?这么简单的要开发这么久?”
1 缘由
公司的Exchange一直都未曾在Outlook创建会议室房间(不要吐槽,不要吐槽,不要吐槽),所以最初会议室预定都是找厂办(厂长办公室)人员确定和预定会议室,一来二去比较繁琐与低效。前不久厂办人员在微信找到了一个用于会议室预定的免费小程序,可以自定义创建会议室,关注该会议室后还可以看到会议室的使用状态以及根据需要自己预定会议室,方便了不少。
本周的时候,该小程序突然无法正常预定会议室,于是只好回到老路子直接找厂办人员预定会议室。厂办妹子顺便说到,要不你给弄个微信小程序呗。
我是搞嵌入式软件,对这类Web及移动端的程序软件开发其实一无所知。因为之前一直对这个行业比较好奇预定酒店会议室,想趁此机会了解下这方面的开发模式与方法,所以在每天一杯奶茶的诱惑下,脑袋一热,答应下来,打算工作之余做个类似的小程序,给自己定的时间为两周。之所以定了两周,是觉得功能相对简单,即便之前没有接触过这行,但是开发理念是相通,主要的障碍是编程语言的重新熟悉而已。
下了班,回到家,简单理了一遍从0到1的几个过程,如下图,我就后悔了,因为只有工作之余的时间可以利用,按每天两个小时预估(要是有人帮忙溜娃,我可以腾出三个小时以上),两周时间根本不够。于是腆着脸跟厂办人员说两周完不成,最后达成第三季度完成即可。
2 准备工作-开发流程与工具
简单理了一下小程序的开发基本流程。
1. 申请账号(AppID):开发小程序的第一步,你需要拥有一个小程序帐号,通过这个帐号你就可以管理你的小程序。申请链接如下。需要注意的是小程序的AppID和公众号的AppID是两个东东,不要混淆了。#%E7%94%B3%E8%AF%B7%E5%B8%90%E5%8F%B7
2. 安装开发者工具:前往开发者工具下载页面,根据自己的操作系统下载对应的安装包进行安装,有关开发者工具更详细的介绍可以查看《开发者工具介绍》。下图为微信开发者工具的页面实例图。下载链接如下:
3. 设计编码,测试验证,发布上线就不说了预定酒店会议室,跟其他软件开发流程是一致的
3 准备工作-代码构成与开发语言
本章节部分内容摘自微信小程序指南,现在看不懂没关系,可以先假装看得懂,因为我现阶段也看不懂。先心中建立大致的框架与概念即可。用思维导图归纳了下:
无论是哪一行业的软件开发,都有一些通用的代码文件结构。所以首先讲讲小程序的代码文件构成:
JSON配置文件
JSON 是一种数据格式,并不是编程语言,在小程序中,JSON扮演的静态配置的角色。
我们可以看到在项目的根目录有一个 app.json 和 project.config.json,此外在 pages/logs 目录下还有一个 logs.json。这些文件里面保存了小程序相关的配置。
其他三类文件
从事过网页编程的人知道,网页编程采用的是 HTML + CSS + JS 这样的组合,其中 HTML 是用来描述当前这个页面的结构,CSS 用来描述页面的样子,JS 通常是用来处理这个页面和用户的交互。---摘自微信小程序指南
(可是我并没有从事过啊.gif)
同样道理,在小程序中也有同样的角色:
WXML 充当的就是类似 HTML 的角色,描述页面的结构,但是在语法标签和部分开发模式上与HTML略微不同。(HTML没用过+1)WXSS 充当CSS的角色,具备了CSS大部分特性,并做了一些扩充和修改,用于描述页面的样子。(CSS没用过+2)JS 处理与用户的交互以及调用小程序提供的API等(JS没用过+10086,越发觉得坑越挖越大)
4 准备工作-云开发
在最初打算设计会议室预定系统小程序的时候,有个困扰我的问题就是服务器的架设。因为会议室系统需要用户权限管理和保存会议室相关的数据,所以肯定需要服务器进行数据库的云端保存。然而,我们公司IT这方面的能力只能用“呵呵”来表达。
在安装了微信开发者工具以后,我发现了一个云开发选项,不由得眼前一亮。赶紧去官网看了下云开发的介绍。虽然现在还没有完全理解,但是初步判断应该能满足会议室的这一需求。
且基础版的功能是免费的(现在想想之前厂办用的免费小程序,用的应该是这个模式,用的人多了估计相关服务就受限导致无法使用)。