1.发展历程
英文名Mini Program
2016年9月21日,微信小程序正式开启内测。
2017年1月9日0点,万众瞩目的微信第一批小程序正式低调上线。
2017年12月28日,微信更新的 6.6.1 版本开放了小游戏,微信启动页面还重点推荐了小游戏「跳一跳」。
2.开发的技术:
wxml+wxss+js+wxs
前面3个跟前端的html+css+js类似。多了个wxs。官方解释:WXS(WeiXin Script)是小程序的一套脚本语言。为什么这样呢?
我的理解是:wxml与html不同,在页面中不能有<script>标签。wxml想要跟js交互,必须是js里的Page构造函数连接。然后微信推出了wxs,语法基本跟js相同,但没有es6的特性。
所以,有些逻辑可以在js中写,也可以在wxs中写。js是支持es6的。当然,2者应该有具体的适用场景。
3.小程序是数据驱动响应的吗?
自从AngluarJS出现之后,这种数据驱动页面表现的开发理念就有深入人心。目前流行的RractJs,vue都是这类框架,核心:
UI=F(state)
即数据的改变引发UI的渲染,不需要直接操作DOM。事实上,也没法用js去操作,小程序没有DOM。
事实上,小程序的写法有些类似react。包括setData()函数,只是他是同步的。
4.函数传参
无论是react还是vue,页面中的函数传参类似:
<div class="course-intro" @click="toCourseContent(course)">
但是,小程序上是这么传的:想要传的值作为标签的属性值。
<view class="grade-li" bindtap="selectgrade" data-value="{{item.value}}" wx:for="{{config.gradeArr}}" wx:key="{{index}}">
小程序获取参数通过e.dataset得到
selectgrade(e){ let grade = e.currentTarget.dataset.value; },
5.小程序里可以打开网页URl吗
可以,最新的版本提供了<web-view>组件
6.小程序需要考虑ipad布局吗?
ipad和手机的宽高比不一致,目前ipad微信不支持小程序。只有手机微信可以用小程序。