这是我参与「第四届青训营 」笔记创作活动的第 5 天
发展历程
小程序的探索最开始是由微信开启的,2017年1月微信小程序正式进入人们的视野。
随后支付宝小程序及其他厂商也相继发布自己的小程序产品。标志着各大厂竟相进入到小程序领域开始竞争。
到了2020年全网的app数量相比2019年的367万下降了4.9%,而微信小程序却上升了33.3%,来到了450万+的全网数量。
这个也标志着小程序的爆发式发展。
业务价值
1、固定语法和统一版本管理,方便审核
2、平台统一控制,方便管理
3、基于特殊架构,流畅性强,优秀的用户体验
因此微信小程序的渠道价值,业务探索价值,数字升级价值优秀。
技术解析
开发门槛低
接近原生的使用体验
第三方开发应用最简单最方便的方式
WebView +JSBridge
WebView是一个基于webkit的引擎,可以解析DOM 元素,展示html页面的控件,它和浏览器展示页面的原理是相同的,所以可以把它当做浏览器看待。
JSBridge:JS与native代码的桥梁。主要是给 JavaScript 提供调用 Native 功能的接口,让混合开发中的前端部分可以方便地使用 Native 的功能。
<view class=" container"><view class="clock ">{{ timeText }}</view>
<button tt:if="{{ running }}" class="button" bindtap="onReset">重置</button><button tt:else class="button" bindtap="onStart">开始</button>
</view>
const DEFAULT_TIME = 25 * 60;
function formatTime ( time ) {
const minutes = Math.floor( time / 60 );const seconds = time % 60;
const mText =`0${minutes} `.slice( -2 );const sText =`0${seconds} .slice( -2 );return `${mText} : ${sText}`
}
相关扩展
在目前的开发环境中,能够实现跨平台就是一个巨大的优势。
渲染层:结合template生成实际要渲染的元素树
逻辑层:虚拟dom树,js实现
运行时方案:虚拟DOM;Template组件。
虚拟DOM:是一层对真实DOM的抽象,以JavaScript 对象 (VNode 节点) 作为基础的树,用对象的属性来描述节点,最终可以通过一系列操作使这棵树映射到真实环境上。