起步
开发文档:https://developers.weixin.qq.com/miniprogram/dev/framework/
开发准备
- 微信公众平台https://mp.weixin.qq.com/注册小程序账号
- 下载开发者工具https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html
- 登录后台,在基本设置中获取小程序的 AppID
- 扫码登录微信开发者工具中打开仓库进行代码编写
与网页开发区别
-
开发语言相似,主要是javascript。
-
渲染层与逻辑层
网页开发渲染线程与逻辑线程互斥,长时间的脚本运行可能会导致页面失去响应。小程序是分开的,分别运行在不同的线程中(逻辑层运行在JSCore中)。
网页开发可以使用浏览器对象,运用DOM API进行DOM操作等,小程序无DOM API和BOM API(无法使用前端 jQuery、 Zepto 等库)。
同时JSCore 的环境同 NodeJS 环境也是不尽相同,所以一些 NPM 的包在小程序中也是无法运行的。 -
运行环境
网页开发者需要面对的环境是各式各样的浏览器,PC 端需要面对 IE、Chrome、QQ浏览器等;在移动端需要面对Safari、Chrome以及 iOS、Android 系统中的各式 WebView。
小程序开发过程中需要面对的是两大操作系统 iOS 和 Android 的微信客户端,以及用于辅助开发的小程序开发者工具。
程序和页面
启动小程序:
- 下载代码包到本地
- 通过app.json的pages解析所有页面路径
- 根据pages第一个字段的页面渲染出第一个页面,一般都是首页
- 小程序启动后,在 app.js 定义的 App 实例的 onLaunch 回调会被执行
App({
onLaunch: function () {
// 小程序启动之后 触发
}
})
- 单个页面根据log.json配置生成一个页面
- 装载页面的WXML页面和WXSS样式,最后是js
Page({
data: { // 参与页面渲染的数据
logs: []
},
onLoad: function () {
// 页面渲染后 执行
}
})
注:
App({}) 注册一个小程序,在整个小程序只有一个App实例,全局共享;
getApp() 获取应用实例
Page({}) 注册一个页面,小程序把data数据和.wxml一起渲染出最终的页面结构,渲染完后会收到一个onload的回调;
getCurrentPages() 获取当前页面栈
逻辑层js<—>视图层wxml和wxss(数据绑定、列表渲染、条件渲染、模板、事件、引用)
基本知识
放在下一篇章
发布
- 上传代码【开发者工具中"上传"】
- 后台提交审核【微信平台"版本管理",体验版–审核–线上版】
- 审核发布https://www.cnblogs.com/dashucoding/p/9938295.html