性能对比
摘要:性能对比 首屏耗时是衡量渲染性能一个最重要的指标。小程序的首屏耗时可以从上一个页面的点击到下一个页面 FCP(First Contentful Paint)的时间来衡量,首屏性能的好坏会影响上一个页面点击时的响应速度,以及下一个页面的白屏时间。 目前已经有一些小程序以 Skyline 模式在线上运行
阅读全文
posted @
2024-12-24 09:24
AtlasLapetos
阅读(52)
推荐(0)
特性
摘要:特性 Skyline 以性能为首要目标,因此 CSS 特性上在满足基本需求的前提下进行了大幅精简,目前 Skyline 只保留更现代的 CSS 集合。另一方面,Skyline 又添加了大量的特性,使开发者能够构建出类原生体验的小程序。在编码上,Skyline 与 WebView 模式保持一致,仍使用
阅读全文
posted @
2024-12-24 09:24
AtlasLapetos
阅读(82)
推荐(0)
简介
摘要:简介 小程序一直以来采用的都是 AppService 和 WebView 的双线程模型,基于 WebView 和原生控件混合渲染的方式,小程序优化扩展了 Web 的基础能力,保证了在移动端上有良好的性能和用户体验。Web 技术至今已有 30 多年历史,作为一款强大的渲染引擎,它有着良好的兼容性和丰富
阅读全文
posted @
2024-12-24 09:24
AtlasLapetos
阅读(19)
推荐(0)
小程序更新机制
摘要:小程序更新机制 开发者在管理后台发布新版本的小程序之后,微信客户端会有若干个时机去检查本地缓存的小程序有没有新版本,并进行小程序的代码包更新。但如果用户本地有小程序的历史版本,此时打开的可能还是旧版本。 1. 启动时同步更新 在以下情况下,小程序启动时会同步更新代码包。同步更新会阻塞小程序的启动流程
阅读全文
posted @
2024-12-24 09:24
AtlasLapetos
阅读(273)
推荐(0)
小程序运行机制
摘要:小程序运行机制 1. 小程序的生命周期 小程序从启动到最终被销毁,会经历很多不同的状态,小程序在不同状态下会有不同的表现。 1.1 小程序启动 从用户认知的角度看,广义的小程序启动可以分为两种情况,一种是冷启动,一种是热启动。 冷启动:如果用户首次打开,或小程序销毁后被用户再次打开,此时小程序需要重
阅读全文
posted @
2024-12-24 09:23
AtlasLapetos
阅读(95)
推荐(0)
JavaScript 支持情况
摘要:JavaScript 支持情况 运行限制 基于安全考虑,小程序中不支持动态执行 JS 代码,即: 不支持使用 eval 执行 JS 代码 不支持使用 new Function 创建函数 new Function('return this') 除外 标准 ECMAScript 支持 小程序的 JS 执
阅读全文
posted @
2024-12-24 09:23
AtlasLapetos
阅读(32)
推荐(0)
小程序的运行环境
摘要:小程序的运行环境 微信小程序运行在多种平台上:iOS/iPadOS 微信客户端、Android 微信客户端、Windows PC 微信客户端、Mac 微信客户端、小程序硬件框架和用于调试的微信开发者工具等。 不同运行环境下,脚本执行环境以及用于组件渲染的环境是不同的,性能表现也存在差异: 在 iOS
阅读全文
posted @
2024-12-24 09:23
AtlasLapetos
阅读(145)
推荐(0)
API
摘要:API 小程序开发框架提供丰富的微信原生 API,可以方便的调起微信提供的能力,如获取用户信息,本地存储,支付功能等。详细介绍请参考 API 文档。 通常,在小程序 API 有以下几种类型: 事件监听 API 我们约定,以 on 开头的 API 用来监听某个事件是否触发,如:wx.onSocketO
阅读全文
posted @
2024-12-24 09:23
AtlasLapetos
阅读(8)
推荐(0)
模块化
摘要:模块化 可以将一些公共的代码抽离成为一个单独的 js 文件,作为一个模块。模块只有通过 module.exports 或者 exports 才能对外暴露接口。 注意: exports 是 module.exports 的一个引用,因此在模块里边随意更改 exports 的指向会造成未知的错误。所以更
阅读全文
posted @
2024-12-24 09:23
AtlasLapetos
阅读(7)
推荐(0)
页面路由监听
摘要:页面路由监听 基础库 3.5.5 开始支持,低版本需做兼容处理。 这篇指南主要说明从基础库版本 3.5.5 起可用的 页面路由事件监听函数 的使用方法。如果需要了解页面路由的类型及逻辑等基本信息,可以参考 页面路由。 由于每次路由可能触发多个页面的多个页面生命周期,因此当某个页面的某个生命周期被触发
阅读全文
posted @
2024-12-24 09:23
AtlasLapetos
阅读(51)
推荐(0)
页面路由
摘要:页面路由 在小程序中,所有页面的创建、销毁及状态转换都由页面路由来表达和进行控制。以下内容会简单介绍小程序的页面路由相关逻辑。 路由的时机 路由会以事件形式表示,由微信客户端下发给小程序基础库,下发后客户端和基础库将分别同时处理这一次路由事件。路由事件的发起可以大致分为以下两类: 通过用户的操作(如
阅读全文
posted @
2024-12-24 09:23
AtlasLapetos
阅读(29)
推荐(0)
页面生命周期
摘要:生命周期 以下内容你不需要立马完全弄明白,不过以后它会有帮助。 下图说明了页面 Page 实例的生命周期。
阅读全文
posted @
2024-12-24 09:23
AtlasLapetos
阅读(5)
推荐(0)
注册页面
摘要:注册页面 对于小程序中的每个页面,都需要在页面对应的 js 文件中进行注册,指定页面的初始数据、生命周期回调、事件处理函数等。 使用 Page 构造器注册页面 简单的页面可以使用 Page() 进行构造。 代码示例: //index.js Page({ data: { text: "This is
阅读全文
posted @
2024-12-24 09:23
AtlasLapetos
阅读(15)
推荐(0)
注册小程序
摘要:注册小程序 每个小程序都需要在 app.js 中调用 App 方法注册小程序实例,绑定生命周期回调函数、错误监听和页面不存在监听函数等。 详细的参数含义和使用请参考 App 参考文档 。 // app.js App({ onLaunch (options) { // Do something ini
阅读全文
posted @
2024-12-24 09:23
AtlasLapetos
阅读(7)
推荐(0)
逻辑层 App Service
摘要:逻辑层 App Service 小程序开发框架的逻辑层使用 JavaScript 引擎为小程序提供开发 JavaScript 代码的运行环境以及微信小程序的特有功能。 逻辑层将数据进行处理后发送给视图层,同时接受视图层的事件反馈。 开发者写的所有代码最终将会打包成一份 JavaScript 文件,并
阅读全文
posted @
2024-12-24 09:23
AtlasLapetos
阅读(26)
推荐(0)
场景值
摘要:场景值 基础库 1.1.0 开始支持,低版本需做兼容处理。 场景值用来描述用户进入小程序的路径。完整场景值的含义请查看场景值列表。 由于Android系统限制,目前还无法获取到按 Home 键退出到桌面,然后从桌面再次进小程序的场景值,对于这种情况,会保留上一次的场景值。 获取场景值 开发者可以通过
阅读全文
posted @
2024-12-24 09:23
AtlasLapetos
阅读(29)
推荐(0)
介绍
摘要:框架 小程序开发框架的目标是通过尽可能简单、高效的方式让开发者可以在微信中开发具有原生 APP 体验的服务。 整个小程序框架系统分为两部分:逻辑层(App Service)和 视图层(View)。小程序提供了自己的视图层描述语言 WXML 和 WXSS,以及基于 JavaScript 的逻辑层框架,
阅读全文
posted @
2024-12-24 09:22
AtlasLapetos
阅读(16)
推荐(0)
小程序配置
摘要:小程序配置 全局配置 小程序根目录下的 app.json 文件用来对微信小程序进行全局配置,决定页面文件的路径、窗口表现、设置网络超时时间、设置多 tab 等。 完整配置项说明请参考小程序全局配置 以下是一个包含了部分常用配置选项的 app.json : { "pages": [ "pages/in
阅读全文
posted @
2024-12-24 09:22
AtlasLapetos
阅读(38)
推荐(0)
目录结构
摘要:目录结构 小程序包含一个描述整体程序的 app 和多个描述各自页面的 page。 一个小程序主体部分由三个文件组成,必须放在项目的根目录,如下: 文件 必需 作用 app.js 是 小程序逻辑 app.json 是 小程序公共配置 app.wxss 否 小程序公共样式表 一个小程序页面由四个文件组成
阅读全文
posted @
2024-12-24 09:22
AtlasLapetos
阅读(16)
推荐(0)