发布上线
摘要:发布上线 在考虑要上线发布到正式环境时,我们一般会关注版本覆盖和稳定性问题,对于这两个问题,我们提供了完备的解决方案。 版本覆盖 由于 Skyline 是在微信较高版本支持,那么是否低版本就完全运行不了小程序了?答案是否定的。为了保证线上小程序能可靠运行,可任取以下其中一种策略 提高「基础库最低可用
阅读全文
posted @
2024-12-24 09:26
AtlasLapetos
阅读(33)
推荐(0)
兼容
摘要:兼容 Skyline 目前各端的支持情况见下表 平台 支持版本 备注 安卓 8.0.33+ 支持 iOS 8.0.34+ 支持 开发者工具 Stable 1.06.2307260+ 支持 Windows 未支持 规划中 Mac 未支持 规划中 企业微信 未支持 开发中 可以看出,小程序若不是只跑在最
阅读全文
posted @
2024-12-24 09:26
AtlasLapetos
阅读(135)
推荐(0)
最佳实践
摘要:最佳实践 按需注入 Skyline 依赖 按需注入 特性。按需注入特性开启后,小程序的部分表现会发生变化,有可能带来兼容问题(具体见按需注入特性文档);因此建议在开始适配 Skyline 前,先开启按需注入并妥善测试,以提前排除该特性带来的影响。 渐进式迁移 对于已有的项目,建议渐进式迁移,即逐个页
阅读全文
posted @
2024-12-24 09:26
AtlasLapetos
阅读(29)
推荐(0)
环境准备 - 从WebView迁移
摘要:环境准备 Skyline 具体支持版本如下: 微信安卓客户端 8.0.33 或以上版本(对应基础库为 2.30.4 或以上版本) 微信 iOS 客户端 8.0.34 或以上版本(对应基础库为 2.31.1 或以上版本) 开发者工具 Stable 1.06.2307260 或以上版本(建议使用 Nig
阅读全文
posted @
2024-12-24 09:26
AtlasLapetos
阅读(106)
推荐(0)
滚动容器及其应用场景
摘要:滚动容器及其应用场景 流畅的滚动对于提升用户体验至关重要。为了达到原生级别的滚动效果和降低开发成本,Skyline 扩展了旧的 ScrollView 组件,同时针对部分场景,新增了一些滚动容器。诸多的新能力有时会让开发者选择困难,下面对其典型应用场景进行介绍。 长列表 WebView 下的 Scro
阅读全文
posted @
2024-12-24 09:25
AtlasLapetos
阅读(124)
推荐(0)
全局工具栏
摘要:全局工具栏 基础库 3.3.1 开始支持,低版本需做兼容处理。 可跨页面渲染的组件,使用场景如音乐 APP 的底部工具栏等。在连续的 Skyline 页面跳转时,组件实例为同一个,因此状态可以同步,渲染层级在页面之上(也在自定义 tabbar 之上)。 在 webview 渲染和 Skyline 渲
阅读全文
posted @
2024-12-24 09:25
AtlasLapetos
阅读(13)
推荐(0)
共享元素动画
摘要:共享元素动画 原生 App 中我们常见到这样的交互,如从商品列表页进入详情页过程中,商品图片在页面间飞跃,使得过渡效果更加平滑,另一个案例是朋友圈的图片预览放大功能。在 Skyline 渲染模式下,我们称其为共享元素动画,可通过 share-element 组件来实现。 在连续的 Skyline 页
阅读全文
posted @
2024-12-24 09:25
AtlasLapetos
阅读(121)
推荐(0)
页面返回手势
摘要:页面返回手势 默认情况下,小程序页面都是右滑返回。但在使用自定义路由和预设路由时,我们常常需要不同的手势返回效果。 例如使用 wx://cupertino-modal 路由效果时,下个页面自底向上出现,右滑返回并不符合视觉一致性。采用纵向的滑动返回(原路返回)会更合适一些。 使用方法 开发者工具需升
阅读全文
posted @
2024-12-24 09:25
AtlasLapetos
阅读(34)
推荐(0)
容器转场动画
摘要:容器转场动画 通过将一个元素无缝地转换为另一个元素,可以加强两个元素间的关系,如常见的瀑布流中点击卡片跳转到详情页。 为降低开发成本,基础库提供了容器转场动画组件来实现该路由效果。 效果演示 使用方法 开发者工具需升级到 Nightly 1.06.2403222,基础库选择 3.4.0 将需要进行过
阅读全文
posted @
2024-12-24 09:25
AtlasLapetos
阅读(13)
推荐(0)
预设路由
摘要:预设路由 为降低开发成本,基础库预设了一批常见的路由动画效果。 routeType 最低基础库版本 wx://bottom-sheet 3.1.0 wx://upwards 3.1.0 wx://zoom 3.1.0 wx://cupertino-modal 3.1.0 wx://cupertino
阅读全文
posted @
2024-12-24 09:25
AtlasLapetos
阅读(12)
推荐(0)
自定义路由
摘要:自定义路由 小程序采用多 WebView 架构,页面间跳转形式十分单一,仅能从右到左进行动画。而原生 App 的动画形式则多种多样,如从底部弹起,页面下沉,半屏等。 Skyline 渲染引擎下,页面有两种渲染模式: WebView 和 Skyline,它们通过页面配置中的 renderer 字段进行
阅读全文
posted @
2024-12-24 09:25
AtlasLapetos
阅读(39)
推荐(0)
手势系统
摘要:手势系统 业务开发中,我们常需要监听节点 touch 事件,处理拖拽、缩放相关逻辑。由于 Skyline 采用双线程架构,在进行这样的交互动画时,会具有较大的异步延迟,这点可以参考 wxs 响应事件。 Skyline 中 wxs 代码运行在 JS 线程,而事件产生在 UI 线程,因此 wxs 动画
阅读全文
posted @
2024-12-24 09:25
AtlasLapetos
阅读(54)
推荐(0)
worklet 动画
摘要:worklet 动画 小程序采用双线程架构,渲染线程(UI 线程)和逻辑线程(JS 线程)分离。JS 线程不会影响 UI 线程的动画表现,如滚动效果。但引入的问题是,UI 线程的事件发生后,需跨线程传递到 JS 线程,进而触发开发者回调,当做交互动画(如拖动元素)时,这种异步性会带来较大的延迟和不稳
阅读全文
posted @
2024-12-24 09:24
AtlasLapetos
阅读(68)
推荐(0)
Skyline WXSS 样式支持与差异
摘要:Skyline WXSS 样式支持与差异 模块支持 模块 支持情况 备注 CSS Animation ✓ 安卓 8.0.37,iOS 8.0.39,支持情况见下表 背景与边框 ✓ 常用的基本支持,详见属性支持 盒子模型 ✓ 支持 border-box 和 content-box,没有 BFC Inl
阅读全文
posted @
2024-12-24 09:24
AtlasLapetos
阅读(328)
推荐(0)
Skyline 基础组件支持与差异
摘要:Skyline 基础组件支持与差异 通用特性 特性 支持情况 无障碍访问 暂只支持 aria-role / label / hidden / disabled DarkMode 支持 原生组件 均支持同层渲染 WeUI v2 支持 组件支持情况 总体来说,高频组件基本已支持,已标记为废弃的特性在 S
阅读全文
posted @
2024-12-24 09:24
AtlasLapetos
阅读(83)
推荐(0)
快速体验
摘要:快速体验 环境要求 目前,安卓微信 8.0.33、iOS 微信 8.0.34 起内置了 Skyline 渲染引擎,可先更新到该版本,预览时通过强切开关打开,方可体验 Skyline。 快速体验 以下小程序已适配 Skyline,可直接扫码打开体验。 扫码打开小程序助手,其中首页、切换小程序、版本查看
阅读全文
posted @
2024-12-24 09:24
AtlasLapetos
阅读(20)
推荐(0)
性能对比
摘要:性能对比 首屏耗时是衡量渲染性能一个最重要的指标。小程序的首屏耗时可以从上一个页面的点击到下一个页面 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
阅读(274)
推荐(0)