# 小程序杂谈

  • 什么是微信小程序

    • 张小龙这样定义:
      • 不需要下载安装即可使用
      • 用户“用完即走”,不用关系是否安装太多应用
      • 应用将无处不在,随时可用
    • 传统APP对比微信小程序
      • 成本高
      • 流程简单,跨平台
  • 小程序的特点

    • 适合做简单的、用完即走的应用
    • 适合低频的应用
    • 适合性能要求不高的应用
    • 比如:点外卖,打车等这种服务类型的产品
  • 对开发者的影响

    • 提升对于JavaScript程序员的需求量
    • 小程序是0基础开发者很好的入门平台
    • 小程序不可以使用现在已经存在的JavaScript组件库
    • 开发环境和开发逻辑极其简单,非常适合新手入门
  • 小程序开发需要什么基础

    • html css js
    • flex布局
    • 有js基础的可以学习es6
  • 知识点

    • 文件路径
    • 页面生命周期
    • 常用组件
    • api使用方式
  • 小程序文件类型与目录结构

    • An image
    • An image
    • An image
  • 注册小程序页面,View、Image、Text等组件的基本用法

  • Flex弹性盒子模型

    • 一劳永逸的搞定 flex 布局 - https://juejin.im/post/58e3a5a0a0bb9f0069fc16bb
  • 移动端分辨率及小程序自适应单位rpx (3-10小节 - 看一看)

    • An image
    • 从一张设计图的实现说起
    • 为什么模拟器下ip6的分辨率是375,而设计图一般给750?
    • 如何适配不同的机型?
    • An image
    • pt也称为逻辑分辨率
    • pt的大小和屏幕尺寸有关系,简单可以理解为长度和视觉单位
    • px指物理分辨率,和屏幕尺寸没有关系。点能有大小吗
    • 1个pt可以有1个px构成,也可以有2个,还可以有3个甚至更多组成
    • Iphone6下 2个px才构成一个pt
    • rpx的作用
    • 如何做不同分辨率设备的自适应?
      • 以ip6的物理像素750x1334为视觉稿进行设计,而在小程序中使用rpx为单位
      • Ip6下 1px=1rpx=0.5pt
      • 使用rpx,小程序会自动在不同的分辨率下进行转换,而使用px为单位不会
    • 为什么要用iPhone6的物理分辨率来做设计图?
      • Ip6下 1px=1rpx
      • Ip6 plus下 1px=0.6rpx
    • 不是所有的单位都适合用rpx
  • 页面生命周期

    • 小程序框架,逻辑层 (文档 - 看一看)
    • 切换路由,运行的周期函数
  • 数据绑定 数据绑定的运算与逻辑

    • setData 绑定数据---此处截图 页面上需要绑定
    • this.data.xx 也可绑定数据,页面上绑定不了
  • 事件和事件对象

    • 产生事件、捕捉事件、回调函数、处理事件
    • catch与bind
      • bind事件绑定不会阻止冒泡事件向上冒泡,catch事件绑定可以阻止冒泡事件向上冒泡。
  • 缓存

  • 列表渲染和条件渲染(核心知识)

  • Template模板的使用(核心知识)

  • 同步异步方法对比

  • 增强编译

  • api的使用

    • 举例:wx.request(),截图文档,项目真实案例