小程序本质上是一组混合开发框架,因此从技术上讲,小程序属于旧瓶中的新酒。但是依靠微信的超级平台以及无数的轻量级离线使用场景,小程序的发布时间恰到好处。
从技术实施的角度来看,小程序是一个集成了本机和WEB功能的混合开发框架。从本机功能的角度来看,每个小程序都具有本机路由管理,并且每个页面可以监视某些本机应用程序的生命周期,同时公开特定的本机API。从WEB功能的角度来看,小程序支持大多数CSS,Javascript的ES6语法,并借鉴了现代WEB框架的响应式开发概念,并提供了类似于VUE的模型和视图绑定机制。
小程序生命周期
小程序的生命周期包括两个方面。一个是小程序从用户打开到关闭需要作为应用程序经历的生命周期。一个是每个页面从堆叠到堆叠都要经历的生命周期。
应用生命周期
小程序的页面生命周期要复杂一些,如下所示:
小程序路由
路由似乎很简单,但这是小程序的最大亮点,因为它的路由是本地的。也就是说,每个小程序页面都在新的本机容器中运行,并且该容器的切换是通过本机技术实现的(小程序的容器是WebView)。混合开发已经经历了很多年。对于某些简单页面,用户很难区分页面是本机页面还是WEB页面,直到在切换页面时露出脚为止。本地APP在路由交换中的流畅性很难与WEB技术相提并论。这一点应该为我们的混合开发(WEB,ReactNative等)带来灵感(我们将撰写一篇有关RN和本机路由集成的文章,敬请期待)。
它与本机应用程序非常相似。 小程序的路由通过堆栈进行维护,而页面切换可以直观地理解为容器的堆栈和弹出。
小程序路由
注意小程序只能同时打开5个页面,即,路由堆栈中最多只能有5个容器。您可以通过redirectTo或reLaunch替换或清除路由堆栈。

数据绑定和重新呈现
小程序提供了一种查看数据绑定和机制的单向模型,使用非常简单。
小程序模板
小程序仅提供基于模板的开发,不提供基于组件的开发支持。在当前基于前端组件的开发趋势下,应该认为它是一大步。
模板的开发非常简单,有关详细信息,请参阅此处的文档。在此添加的唯一一件事是可以在模板中绑定事件。需要理解的是,模板引用本质上是对WXML的简单替换,因此,模板中数据的范围取决于引用该模板的Page页面。
绑定数据和事件
页面({
/ **
*页面的初始数据
* /
数据:{
消息:你好MINA!
},
/ **
*模板中的绑定方法
* /
sayHi:function(){