微信小程序学习笔记

小程序实质上就是一个基于web基础的应用程序(网页)(但是不支持浏览器的api,小程序的api全部由微信提供,高度依赖微信,因此只能在微信中运行) 微信之父张小龙是这样描述小程序的: 小程序是一种不需要下载安装就可以使用的应用,它实现了应用触手可及的梦想。 用户扫一扫或者搜一下即可打开应用,也体现了用完即走的理念。 用户不用关心是否安装太多应用的问题,应用将无处不在,随时可用,但又无需安装卸载 微信小程序的接口服务器要求进行ICP备案,并且经过审核,才能发布小程序 微信小程序开发文档 https://developers.weixin.qq.com/miniprogram/dev/framework/ 开发工具:微信开发者工具 小程序的宿主环境 在iOS中,使用JavaScriptCore,在Android中使用X5内核,在ide中使用nwjs 小程序的运行机制(冷启动,热启动) 小程序在后台中停留一段时间后,被微信销毁,再打开时需要重新加载该小程序的资源,也就是冷启动,而在没被销毁的时间段内,再打开该小程序,是不需要重新加载资源,是热启动 小程序发布更新时,会异步加载新资源,也会导致冷启动 小程序产品需求 发现真实需要 用户深度访谈,分析竞品,付费意愿 需求分期:最小化可行产品(MVP) 不是每个功能都要开发(优先开发最重要和最紧急的功能) 优化开发顺序,先开发基础可用,然后迭代更新功能,满足用户需求,功能文档 根据用户体验来优化服务 原型制作工具:墨刀,Axure 微信小程序结构 index.wxml页面结构 index.wxss页面样式 index.js页面逻辑 如果设置了单独的页面样式,那么会覆盖掉app.wxss的样式 app.json定义了页面和基本配置,采用json格式,必须包含pages属性,说明小程序有哪些页面 app.json文件结构 pages是用来定义页面的,是一个数组,每一个项都是代表一个页面,例如: "pages":[ "pages/index/index", "pages/demo/demo" ], window属性是设置小程序的窗口样式,例如: "window":{ "backgroundTextStyle":"light", "navigationBarBackgroundColor": "#fff", // 导航栏背景颜色 "navigationBarTitleText": "Weixin", // 导航栏文本 "navigationBarTextStyle":"black" // 导航栏文本颜色 }, 从上面可以看出是一个三层结构,页面是放在pages目录下的,而demo和index都是代表这个页面叫什么 demo.js,Page()是小程序提供的一个函数,用来初始化页面,参数是一个对象,用来配置当前页面的属性 demo.wxml,该文件是用来描述页面的,和html类似 pages文件夹:存放小程序页面,每个页面代表为一个文件夹,文件夹名称为页面名称,在这个页面文件夹下的全部文件都是描述这个页面的 utils文件夹:用于存放公共的js程序,便于不同的页面进行调用 imgages文件夹:为方便管理小程序的用到的全部静态图片 app.js:当前项目的js(全局数据和反应) json:全局配置 wxss:全局样式 project.config.json:项目配置文件,配置微信开发者工具,例如工具的页面颜色,编译配置等等个性化配置 page.json: 单独定义每个页面的一些属性,例如:顶部颜色,是否可以下拉刷新等等 app.json:这是一种数据格式,小程序的静态配置(全局配置),页面的路径,界面的表现,顶部样式,网络超时等等 pages字段:描述当前小程序所有页面的路径,让微信清楚小程序页面定义在哪个目录 window字段:定义小程序所有页面的顶部背景颜色,文字颜色等等 json是包裹在一个括号中,以键值对的方式表达数据,值必须包含在双引号中,在json中无法使用注释 wxml WXML:从html中衍生而来一种专门在小程序页面中使用的语言,组合了基础组件,事件系统,构造出页面的结构 view元素是表示块级,和div类似 scroll-view元素是表示可滚动页面区域 text元素是表示行内文本,和span类似...

2021-06-27 · 2 min · Me