小程序由谁开发?
小程序技术栈接近前端,由前端工程师开发
小程序技术选型
原生小程序
- 微信小程序:WXML、WXSS、JavaScript
-
框架
mpvue: 2018年后不再维护,不推荐
- wepy: 腾讯开源,维护较少,不推荐
- uni-app: 使用Vue开发跨平台
- taro: 京东团队开发和维护,支持 Vue/React/Nerv
- 用 uni-app 和 taro 开发原生App会遇到较多适配问题,体验也比原生App开发差很多
开发前准备工作
- 注册账号 – 申请AppID, https://mp.weixin.qq.com/cgi-bin/wx
- 下载小程序的开发工具:
- 微信开发者工具:官方提供的开发工具,必须下载、安装;
- VSCode:很多人比较习惯使用VSCode来编写代码;
用VSCode开发
将微信开发者工具的预览窗口分离并置顶,就可以改用 VSCode 编写代码,同时在预览窗口查看效果
vscode插件(装第一个就够用了)
项目初体验
创建项目, AppID 需要复制粘贴过来
每个页面由四个文件组成:js, json, wxml, wxss
hello world
index.wxml
<view>{{message}}</view>
index.js
Page({
data: {
message: 'hello world!'
},
})
电影列表
index.wxml
block 相当于 Vue 里的 template, 是占位标签
<!-- 2. 电影列表 -->
<block wx:for="{{movies}}" wx:key="*this">
<view class="movie">{{item}}</view>
</block>
index.js
Page({
data: {
movies: ['蜘蛛侠', '钢铁侠', '咸蛋超人']
},
})
index.wxss
rpx 单位相当于 px 单位的一半,使用 rpx 做单位才能移动端适配
.movie {
font-size: 40rpx;
color: pink;
}
计数器
<!-- 3. 计数器 -->
<view>{{counter}}</view>
<button size="mini" bind:tap="handleIncrement">+1</button>
<button size="mini" bind:tap="handleDecrement">-1</button>
Page({
data: {
counter: 0
},
handleIncrement: function() {
this.setData({ counter: this.data.counter + 1})
},
handleDecrement: function() {
this.setData({ counter: this.data.counter - 1})
}
})
官方文档阅读
https://developers.weixin.qq.com/miniprogram/dev/framework/
指南要从头到尾阅读,其他的用来查询