小程序-basic
    
    
        发布于:2022-05-09 22:52:28
        
        
        访问:
    
    
        来源
1 2 3 4 5 6 7 8 9 10 11 12 13
   | 微信面临的问题是如何设计一个比较好的系统,使得所有开发者在微信中都能获得比较好的体验。这个问题是之前的 JS-SDK 所处理不了的,需要一个全新的系统来完成,它需要使得所有的开发者都能做到:
  - 快速的加载
  - 更强大的能力
  - 原生的体验
  - 易用且安全的微信数据开放
  - 高效和简单的开发
  这就是小程序的由来。
   | 
 
运行环境
1 2 3 4 5 6
   | 表1-1 小程序的运行环境
  运行环境    逻辑层    渲染层 iOS    JavaScriptCore    WKWebView 安卓    V8    chromium定制内核 小程序开发者工具    NWJS    Chrome WebView
   | 
 
开发工具
- 代码提示
 
- 设置 - 编辑设置
 
- 真机调试 - 发给第三方(用户)
 
- 预览 - 自己用
 
- 详情 - 本地设置 - 看基本库版本
 
路由
组件|接口
运行机制
- 热启动|冷启动 - 缓存|getupdateManager 
 
- 主动销毁 - 内存警告|进入后台一定时间
 
- 前台状态|后台状态
 
双线程架构
- why - 安全+管控
 
- View - 视图线程 && App Service - 逻辑线程
 
- View | App Service | Native
 
- view - Page(WXML|WXSS)
 
- App Sevice - Manager | API
 
- Native - 微信能力|离线存储|网络请求|JSBridge
 
- Event | Data
 
setData
- evaluateJavaScript实现的(hybrid也是)
 
- (安卓)可能页面卡顿(界面滑动中 - 视图线程 - 渲染中)是由evaluateJavaScript导致的
 
- 逻辑层发来的请求阻塞了,阻塞超过200MS就会有卡顿的感觉
ios
 
- wkwebview - 内存紧张,wkwebview会被回收,所以一些历史页面我们回不去
 
wxs
视图线程
- 编译原理
 
- 小程序视图层是在polymer基础上,基于web component 标准实现的
 
- 类似Vue的实现
 
- 原生在vw上面
 
- 生命周期
 
逻辑线程
wxss
- 选择器,不断发展中
 
- rpx
 
- 字体配置跟着系统走
 
- 小程序 app.wxss可以设置全局样式 - 字体等 - 
page { font-family: "xxx" } 
- 全局样式表里面设置的样式 - 可以被组件继承的 - font|color (见官方文档)
 
- 页面和组件的概念要分清楚
 
- 文件间距可以用line-height消除空白
 
事件
tap
- bind:tap 一般不阻止点击事件的冒泡
 
- catch:tap
 
组件
icon组件
自定义组件
notes
- 支付框不会触发App的onHide
 
- 转发和分享到朋友圈会执行App的onHide
 
微信清除web缓存
- Android
1 2 3 4 5 6
   | 按提示来就行,如果不支持切换X5内核,此方法不通 1.http: 2.http: 3.debugmm.qq.com/?forcex5=true 
  我的 - 微信
   | 
 
 
小程序宿主环境 - 渲染层和逻辑层
设计原理
        
            
    
        
    
    
        
         感谢鼓励