小程序学习笔记

小程序入门

这两周自己在研究小程序,由于之前也未曾接触过这一方面,为了加深自己的印象,决定写一篇学习笔记来记录自己的学习内容。

简介

小程序的来源

小程序是针对移动互联网的环境而出现的一款产品。最初由腾讯微信提出,而后阿里与百度均推出了自己的小程序架构。

张小龙在提出小程序之初,就很明确地提出了小程序的概念“用完即走,唾手可得”。与需要下载安装的大型的app来说,小程序应当是轻量迅捷的应用。而网页恰恰好与这个要求有一定的共性。

从技术层面上讲,传统网页在移动端的网页组件webview中的表现并不那么令人满意,主要反映在页面白屏、切换生硬、点击反馈迟滞。为了解决这个问题,微信一开始推出的是JS-SDK网页开发工具包。这个工具包优化一部分体验,但是这并没解决本质问题。

微信迫切地需要一个能够更简单高效、更快更贴近原生的系统来展示这一理念,而这就是小程序。

小程序与网页的区别

在微信官方教程里有详细解释过,其本质区别在于小程序分离了逻辑层和渲染层,使二者运行在不同的线程中,其运行环境与API与传统十分不一样。

小程序框架本身就能够快速加载和渲染,并且封装好了许多微信内部API,使得用户不需要去处理琐碎的工作,同时还能使用更多的数据。

小程序的架构

JSON

小程序的静态配置(如页面结构等)是用JSON编写,在运行过程中无法改动此文件。

WXML

WXML是类似HTML的标签语言,用途是组织页面的基本架构。其标签与HTML有较大不同,主要原因是将大多数常用结构封装起来,更加易于人们使用。

与HTML不同,WXML中还可以不仅可以进行数据绑定(利用双大括号使数据占位),还可以进行简单的逻辑运算和条件判断,还支持列表渲染。同时WXML还支持模版功能,即定义好模版 template 后可以在其他地方调用。

同时WXML的引用方式有 importinclude 两种。前者只会导入某个文件中定义的 template 部分,不会导入在此文件中导入的 template 部分,即不会递归导入。后者include 可以将目标文件中除了