小程序知识点和概念简洁版(如有漏点、建议,错误,,欢迎指正,评论见)

小程序之父张小龙(小程序全称Miniprogram)

微信小程序的四大价值观:

		①:一切以用户价值为依归
		②:让创造发挥价值
		③:用完即走的好产品
		④:让商业化存在于无形

小程序设计理念(最后准确讲解):

		①:导航清晰
		②:流程明确
		③:重点突出
		④:符合预期
		⑤:等待与反馈
		⑥:异常处理
		⑦:文案和内容准确友好
		⑧:和谐统一
		⑨:平台适应

注:兼容问题

	Windows系统仅支持W7以上(W7)
	Mac 上支持 OS X 10.8 及以上版本

小程序优势:

		无需下载,随用随走
		功能丰富,体验更简便
		接口多,可进行不断开发
		流量入口大,
		强大的生态环境
		开发成本仅是APP的十分之一

APP的优势:

 		小程序技术层面不及APP	
 		小程序功能不及APP
 		小程序的开放性不及APP

小程序对比APP好处:

		开发成本低,
		获客成本低于App,
		开发周期短,
		APP已饱和

小程序的限制:

		不能被分享到朋友圈
		要经过腾讯审核
		大小不能超过2MB

发布模式:
发布模式分为全量发布和分阶发布(又称灰度发布)
全量发布:

	全量发布模式发布之后各个平台都会更新使用至最新版本

分阶发布/灰度发布:

	灰度发布模式会控制部分用户使用最新版本(如不同平台)

举个例子:王者荣耀和和平精英如果在更新阶段使用灰度发布在发布新版本后只有部分用户会更新至最新版本,如苹果用户会更新安卓用户则不会更新需要等待,就是将自己的产品首先拿出来给一部分目标人群使用,通过她们的使用结果和反馈来修改产品的一些不足,做到查漏补缺。

小程序配置文件:

小程序的配置文件分为:

JS文件:用于JS脚本逻辑
WXML文件:用于HTML模块文件
WXSS文件:用于CSS样式文件
JSON文件:用于JSON数据配置文件

小程序开发分为两个级别:

		页面级别和APP级别

小程序分为全局配置文件和页面配置文件:

		全局配置文件为APP.JSON
		页面配置文件为***.JSON文件

列表渲染指定变量名:

	wx:for-item=“” 可以指定数组当前元素的变量名
	wx:for-index=“”可以指定数组当前下标的变量名

在这里插入图片描述
小程序的两种渲染方式:

	wx:if={{}}(框架有一个局部渲染的过程,因为它会确保条件块在切换时销毁或重新渲染)
	hidden={{}}(组件始终会被渲染,只是简单的控制显示与隐藏)

小程序定义模板:

定义模板三步:
①template.wxml定义模板
②在其他页面通过import和include引入
③使用 is 属性,声明需要的使用的模板,然后将模板所需要的 data 传入

使用template标签定义模板
在这里插入图片描述
在其他页面通过import或者include引入
在这里插入图片描述
使用 is 属性,声明模板,然后传入data
在这里插入图片描述在这里插入图片描述
小程序运行环境:
小程序的运行环境为逻辑层和渲染层

		WXML和WXSS为渲染层
		JS逻辑文件为逻辑层

小程序模型:渲染层与逻辑层分离

模型工作方式:

	数据驱动:渲染层和逻辑层相关
	脚本逻辑:逻辑层复杂产生数据和处理数据
	通信模型:逻辑层通过page实例的setData方法将数据传送到渲染层

小程序的两个线程管理:

	渲染层使用了WebViev进行渲染
	逻辑层使用JSCore线程运行JS脚本

Web view含义:
WebView也就是我们熟悉的“网络视图”,能加载并显示网页,可以将其视为一个浏览器。主要用于展示网络请求后的内容,就是将网络地址请求的内容展示在里面。(可以不使用手机自带的浏览器,只需APP内部展示百度页面,这时候就可以用webView)
JsCore:
全称为JavaScriptCore ,是一款 JavaScript 引擎,通常会被叫做虚拟机,专门设计来解释和执行 JavaScript 代码。
目前 JavaScript 引擎还有 Google 的 V8 ,Mozilla 的 SpiderMonkey
双向绑定:
在逻辑层数据发生变化时宿主环境会通过setData将数据传送到渲染层,渲染层从而再渲染出正确的UI界面

小程序的主要开发语言为JS

什么是ECMAScript

ECMAScript简称ES
是一种语言标准JS则就是基于这个标准实现的脚本语言
小程序中的JS与浏览器及NodeJS中的JS是不同的

小程序中的JS是由ECMAScript和DOM和BOM组成的
浏览器中的JS是由ECMAScript和NPM和Native模块组成的
Node中的JS是由ECMAScript及小程序框架和小程序API来实现的

Service Worker

Service Worker 是一种 Web Worker。它本质上是一个与主浏览器线程分开运行的 JavaScript 文件,可以拦截网络请求、缓存资源或从缓存中检索资源、传递推送消息,
web worker 是运行在后台的 JavaScript,独立于其他脚本,不会影响页面的性能
Web Worker 的作用,就是为 JavaScript 创造多线程环境,允许主线程创建 Worker 线程,将一些任务分配给后者运行。在主线程运行的同时,Worker 线程在后台运行,两者互不干扰。等到 Worker 线程完成计算任务,再把结果返回给主线程
Workers 与主线程分开运行
Service Worker 不能直接访问 DOM
web worker 是运行在后台的 JavaScript,不会影响页面的性能

小程序构造器/注册器与页面构造器/注册器

小程序构造器
宿主环境提供了 App() 构造器用来注册一个程序App,
App() 构造器必须写在项目根目录的入口文件app.js里,
在其他JS脚本中可以使用宿主环境提供的 getApp() 来获取程序实例
小程序的JS脚本是运行在JsCore的线程里,小程序的每个页面各自有一个WebView线程进行渲染,但是小程序切换页面时,小程序逻辑层的JS脚本运行上下文依旧在同一个JsCore线程中。
小程序构造器的生命周期是由用户操作主动触发的

初始化生命周期和后台进入前台时会返回一个对象其中包含多个参数:

	path参数:为当前文件路径
	query参数:是打开小程序页面url的参数
	scene参数:为小程序的场景值
	场景值为描述用户进入小程序的路径

页面构造器
页面中的JS文件中的page方法就是页面构造器,
作用于页面初始化数据,生命周期回调,和事件处理函数等,
页面的生命周期就是当页面经行切换和打开新页面的时候就会调用生命周期函数

页面栈

页面层级会有很多层叠加这样页面称为页面栈
页面栈是由数组组成,当利用wx.navigateTo或者其他方式跳转页面的时候页面栈相对也会叠加
列如:当从页面A跳转到页面B的时候页面栈也会由数组【A】转为数组【A,B】
getCurrentpages()方法来获取页面栈

页面层级准备三部曲:

	①:启动Web View网络视图
	②:初始化基础库
	③:注入小程序代码(结构代码与样式代码)

在注入小程序代码前系统会检测小程序是否被加载
如果加载完毕则注入小程序代码
如果未加载则等待加载完毕

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值