微信小程序初体验

上周微信发布了微信·小程序功能,通过这个功能,开发者可以直接依托微信开发一个具有堪比原生 APP 体验的 WEB 应用。由于这个功能目前还处于邀请体验阶段,未受到邀请的开发者并不能直接看到 API 文档,不过热心的开发者已经将文档爬取下来并且在这里提供浏览。下面我们来看一下这个小程序是一个怎样的东西。

框架

正如文档中描述的,微信·小程序使用了微信自家研发的 MINA 框架开发,阅读了文档后发现这个框架相对轻量,框架提供了自己的视图描述语言 WXML 和样式描述语言 WXSS,使用 Javascript 进行逻辑层的开发。框架还提供了数据传输和事件系统,便于开发者对数据和逻辑的处理。

简单明了的生命周期

框架提供了简单明晰的应用生命周期,这一点对于事件驱动的开发来讲是很重要的,清楚地生命周期可以使开发者很清楚当前程序运行的状态,并在合适的时机执行想要的逻辑。

单向数据绑定

框架并没有像 angular 那样为我们提供双向数据绑定,但这也给框架减轻了很大的负担,在获取用户输入方面,我们需要手动将控件的值和 model 对象绑定在一起,这样用户在界面上的输入就可以实时的更新到数据对象上。

wxml代码

1
2
<input id="myInput" bindchange="bindChange" />
<checkbox id="myCheckbox" bindchange="bindChange" />

javascript 代码

1
2
3
4
5
6
7
8
var inputContent = {}
Page({
data:{
},
bindChange:function(e){
inputContent[e.currentTarget.id] = e.detail.value
}
})

能力

支持许多原生能力的调用,比如照机,相册,音频录制和播放,GPS,系统信息,网络状态,罗盘等。

开发工具

微信同时提供了一个小程序专属的开发工具,目前的版本是 v0.9.092100

由于目前仍然是邀请加入时期,开发者工具并不对未接入小程序的开发者开放使用,但是网上已经有人对工具进行了破解,下载和破解教程在此