写给后端开发看的微信小程序开发教程(一)入门篇

本文作者:kelly, 原创文章,转载请注明出处。

很多Java的同学问到,微信小程序怎么开发,怎么创建一个小程序项目,和普通的网页有什么区别。嗯~~ , 还是觉得有必要写一个面向后台开发人员的微信小程序教程,教程重点在于小程序的搭建和快速开发,以及如何对接Java后台,不做详细样式效果处理,减少不必要的信息量,但是阅读该课程的同学有html及js基础最好。

首先大致给同学们解释一下微信公众号和微信小程序的区别,二者虽然都是依附于微信应用的,但是定位却不同。

  • 微信公众号以营销与信息传递为主,适合内容创作者,及粉丝引流,结合H5,公众号也能够提供一些简单交互功能。
  • 微信小程序不支持关注,没有粉丝体系、群发消息等营销手段,但使用方便,直接扫码或者点击就能打开,主要以服务为主,相比公众号运行起来更流畅,接近原生APP的体验,能够提供更加复杂的产品与服务,比如可以调用原生的各种接口,像网络状态、罗盘、重力、地理位置、拨打电话等等。

一.注册微信小程序

公众号和小程序都可以单独注册,但是大部分真正运营的要用上高级功能,都要进行认证,认证费用每年300元,如果有认证的公众号就可以在公众号的后台,利用公众号的认证信息快速注册小程序并免费认证,这样会方便很好。

如果没有公众号的,可以在该地址单独注册小程序:https://mp.weixin.qq.com/cgi-bin/wx?token=&lang=zh_CN

如果你只是想体验一下小程序开发,不是真正运营使用,可以不用去注册正式的小程序,因为微信官方为了方便开发者开发和体验小程序的能力,提供了测试号进行开发测试,以及真机预览体验。

测试号申请地址:
https://developers.weixin.qq.com/weloginpage?redirect_url=%2Fsandbox
申请测试号的过程非常简单。只需访问申请地址,并扫码登录后,即可查看到已为自己分配好的测试帐号信息。

二.下载开发工具

开发微信小程序必须要下载官方提供的开发工具来进行编译,不然我们没有办法看到效果。

下载地址:
https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html

工具使用手册 :
https://developers.weixin.qq.com/miniprogram/dev/devtools/page.html

三.创建小程序项目

打开工具,选择小程序项目,并创建新项目。

点击测试号,工具会自动填入你的测试号的信息,当然,如果你已经注册了正式的小程序,就登录小程序后台找到AppID,拷贝进去。

image.png

点击新建按钮,项目创建成功,可以看到你自己的头像和昵称,这是官方提供的HelloWorld页面。

image.png

四.项目文件结构介绍

image.png

上图是创建好项目之后,我们可以看到的项目文件结构。在进行开发之前,我们先来一起了解一下。

  • pages目录:用来存放小程序页面,图中该目录下包含了两个小程序页面:一个叫index,一个叫logs。

小明同学:那怎么才算是小程序的页面呢?
答:其实index和logs名称的那个文件夹,并不是页面,真正的页面是由4个相同名称,但类型不同(js,json,wxml,wxss)的文件组成的。那个文件夹的作用只是方便分类管理而已。像下图,也是pages下存放了2个页面,也没错,但是就问你一句,丑不丑?以后页面多咋办?

image.png

一个小程序页面由四个文件组成,分别是:

文件类型 必需 作用
js (相当于以前的js文件) 页面逻辑
wxml (相当于以前的html文件) 页面结构
wxss (相当于以前的css文件) 页面样式表
json 页面配置

一个小程序主体部分由三个文件组成,必须放在项目的根目录,如下:

文件 必需 作用
app.js 小程序逻辑
app.json 小程序公共配置
app.wxss 小程序公共样式表
  • app.json文件:用来对小程序进行全局配置,决定页面的路径、窗口表现、设置网络超时时间、设置底部tab栏 等。

  • app.js文件:用来创建小程序实例对象,整个小程序只有一个 app 实例,还可绑定生命周期回调函数、监听错误等。

  • app.wxss文件:用来配置一些全局的样式。


  • utils目录:用来存放工具包,比如一些日期处理工具,加密工具,格式化工具等等。

  • project.config.json文件:小程序项目的相关开发配置,用来配置小程序的AppID,项目名称等等,类似于idea项目中的*.iml配置文件。

小明同学:这么多的文件,这些文件都是必须存在的吗?
答:当然不是,这是官方提供的HelloWorld项目,目的是把项目结构给大家搭建好,里面有的文件是可以删的,比如pages里面的两个页面,我们做自己的小程序,那肯定是自己来建页面嘛,但是,如果自己不确定哪些文件必须存在,哪些文件可以删的,那就先别动,等你写多几个功能,熟悉一下。

五.创建小程序页面

打开app.json文件,可以看到里面有个pages属性,用于指定小程序由哪些页面组成,每一项都对应一个页面的 路径(含文件名) 信息。文件名不需要写文件后缀,框架会自动去寻找对于位置的 .json, .js, .wxml, .wxss 四个文件进行处理。比如图中pages配置了两个页面,就是之前说的index和logs页面,我们每新建一个页面,这里都必须配置进去,才可以正常使用。


image.png

数组的第一项代表小程序的初始页面(首页)。小程序中新增/减少页面,都需要对 pages 数组进行修改。

现在让我们来创建一个新的页面吧~

我们用最快速的办法,直接修改app.json文件,在里面的pages里面添加"pages/hello/hello",代表页面的路径,按下ctrl+s保存后开发工具可以自动生成相关文件。

具体效果如下图:


image.png

这样,我们自己的小程序页面就创建成功啦!

六.修改页面显示内容

之前已经介绍过,小程序的每一个页面,都是由4个文件(wxml,wxss,js,json)组成。
现在我们想要修改页面显示内容,首先就是修改wxml文件(相当于网页开发中的html文件)。

打开hello.wxml文件,可以看到以下内容

<!--pages/hello/hello.wxml -->
<text>pages/hello/hello.wxml</text>

在改之前,先简单了解下wxml的标签,注意:这和html是不一样的,千万不要把html的标签写进来了。

但是,我们可以来做个类比:

  • 小程序的<!-- -- > 跟html中注释作用是一样的
  • 小程序的text标签是行内元素,类似html中的span标签
  • 小程序的view标签是块级元素,类似html中的div标签

前面说的text和view是小程序中最基本的标签,但其实小程序还提供了很多很方便的标签,可以处理更高级的功能,比如video标签可播放视频,还可以带弹幕功能;swiper滑块标签,可实现banner轮播图功能;map地图标签;表单相关标签等等,这里不一一列出,有需要的可以自行查阅官方文档:https://developers.weixin.qq.com/miniprogram/dev/component/

修改页面布局及内容:

image.png

另外,hello.wxss文件是页面布局文件对应的样式文件,无须手动引入,在文件中直接添加样式类即可生效。如下例子:

hello.wxss: 声明样式类

.view-class{
  color: red;
}

hello.wxml :使用样式类

<view class="view-class">广州今日天气:</view>
<text>晴</text> <text>26度</text>

效果如下:


image.png

小明同学:那我是不是可以自己完成一个完整的小程序应用了呢?
答:其实开发小程序就相当于网页开发一样,一个完整的应用,若想要处理业务,处理数据,还需要有后端服务器支持,而小程序仅仅是作为单独的一个前端项目,这种其实是属于前后端分离的架构。下一篇,让我们来进一步了解小程序中的组件吧。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342