【青训营】- 小程序开发入门

100 阅读3分钟

目标:

了解小程序技术,认识小程序的基本开发方式,为小程序技术学习打下良好的

基础

  1. 小程序与web区别
  2. 小程序开发历程
  3. 小程序开发方案
  4. Taro简单原理解析

小程序与web区别

为什么会有小程序?

布局|载体|综合生态

  • 以社交流量为载体
  • 以信息传播流量为载体
  • 以交易属性为载体

小程序的特点

  1. 触手可及,用完即走

    小程序是一种无需下载安装即可使用的应用,能以最低成本触达用户,极大程度上降低了使用门槛

  2. 流量互导,功能互补

    小程序依托各平台生态,有线下扫码,分享,搜索等各种入口。帮助各平台做功能上的补充,同时也为平台带来更多流量。

  3. 提升体验,媲美原生

    小程序采用逻辑和渲染分离的模式,同时部分组件使用native进行渲染,并通过资源管理等方式,帮助小程序加载更快,使用起来更加流畅

小程序与web在技术上的区别

  1. 小程序部分组件直接通过原生实现如camera、canvas、video、map和textarea等
  2. 小程序会在端上做资源的缓存、销毁等,控制小程序的周期,让小程序能够更快速的加载
  3. 小程序在架构上将逻辑和渲染进行了分离,而web是在同一个进程中。

小程序与web在生态上的区别

  1. 小程序各方面限制更加严格,将渲染和逻辑分开,这样做的直接后果就是之前很多在WEB中的东西不能直接用了,必须在平台给定的规则进行开发,方便了平台进行管控。
  2. 各端提供官方入口,包括扫码,我的小程序,文章内嵌等等。并可快速分享。
  3. 发布被各平台管控,有着统一的应用版本管理。

小程序架构

image.png

小程序发展历程

发展期事件时间线
探索期微信张小龙提出应用号概念2016.1
微信小程序公测开放2016.11
发展初期微信小程序正式发布2017.1
因入口和能力限制,市场遇冷2017.2
支付宝小程序公测2017.9
微信小游戏上线,市场反应良好2017.12
高速发展期大量开发者、企业、资本、运行入场2018.1
百度小程序正式发布2018.7
支付宝小程序正式上线2018.9
今日头条小程序内测2018.9
平稳发展期小程序全面爆发,小程序数量激增2019
小游戏平稳发展,深入到方方面面2020及之后

小程序开发方案

image.png

数据绑定

image.png

列表渲染

image.png

条件渲染

image.png

Page对象

image.png

原生写法-index.ttml

image.png

原生写法-index.js

image.png

原生写法-index.ttss

image.png

原生写法-index.json

image.png

如何提升开发效率

Taro是一个开放式跨端跨框架解决方案

Taro写法

image.png

写法对比

原生写法Taro写法
学习成本如果不了解框架,相对较高
运行效率最好相比原生低
开发体验官方支持好也还不错
开发效率复杂应用效率低复杂应用效率相对高
跨端只可在对应小程序载体运行可编译成不同小程序,甚至WEB和RN

Taro原理简单解析

如何实现用React/Vue来写小程序

编译时|运行时

  • 编译时:

    把react代码编译成小程序可以识别的代码

  • 运行时

    在运行阶段,适配小程序的语法

AST抽象语法树

image.png

astexplorer.net

Taro编译时方案

解析|转换|生成

image.png