小程序探究

来源:互联网 发布:计算机的软件组成 编辑:程序博客网 时间:2024/04/30 02:44

         

   吹了这么久的小程序终于出来了。微信内置程序要想获得原生APP流畅程度,我想有最需要解决的两个问题:一是页面间的切换,因为html每次更换页面都需要重新加载。第二是页面的生命周期,如果小程序的生命周期不能做到原生APP的程度,将极大限制功能的实现。

   小程序有以下几个特点:

 

 

框架

         小程序的框架由两部分构成,视图层和逻辑层,和传统的MVC略有不同,应该叫做VA框架:

   视图层(View)和逻辑层(App Service)

         视图层主要由WXML 和WXSS组成,逻辑层是基于JS,中间提供了数据传输和事件系统

 

数据绑定

数据绑定类似于thinkphp这样的MVC框架,更加简单,框架 可以让数据与视图保持同步非常简单。当做数据修改的时候,只需要在逻辑层修改数据,视图层就会做相应的更新。

逻辑层使用的是js,以往js承担的是事件处理,但在这里,js承担起了逻辑和数据和页面管理这些以往后端的职责。

 

页面管理(切换)

框架管理了整个小程序的页面路由,可以做到页面间的无缝切换,并给以页面完整的生命周期。开发者需要的只是将页面的数据,方法,生命周期函数注册进框架 中,其他的一切复杂的操作都交由 框架 处理。

 

 

目录结构

类似于传统结构,

框架程序包含一个描述整体程序的 app 和多个描述各自页面的page。

一个框架程序主体部分由三个文件组成,必须放在项目的根目录,如下:

文件

必需

作用

app.js

小程序逻辑

app.json

小程序公共设置

app.wxss

小程序公共样式表

一个框架页面由四个文件组成,分别是:

文件类型

必须

作用

wxml

页面结构

wxss

页面样式表

json

页面配置

js

页面逻辑

注意:为了方便开发者减少配置项,我们规定描述页面的这四个文件必须具有相同的路径与文件名。

 

生命周期

        程序的生命周期主要取决于数据,也就是逻辑层。小程序中,用到的所有逻辑层代码会汇集成一份js代码,在小程序启动时运行,在小程序销毁时关闭。

在按了Home键时,小程序像原生APP一样进入后台模式,而不会销毁。再次打开微信时会回到前台。

 

逻辑层JS的改进

  • 增加 App  Page 方法,进行程序和页面的注册。
  • 提供丰富的 API,如扫一扫,支付等微信特有能力。
  • 每个页面有独立的作用域,并提供模块化能力。
  • 由于框架并非运行在浏览器中,所以 JavaScript 在 web 中一些能力都无法使用,如 document,window 等。
  • 开发者写的所有代码最终将会打包成一份 JavaScript,并在小程序启动的时候运行,直到小程序销毁。类似 ServiceWorker,所以逻辑层也称之为 App Service。

  

API

 

接口列表:https://mp.weixin.qq.com/debug/wxadoc/dev/api/?t=1474644083871

大概有网络文件媒体设备 位置的微信能获取的原生安卓所有权限,除了隐私权限。


 

组件

组件列表:https://mp.weixin.qq.com/debug/wxadoc/dev/component/?t=1474644086575

就是前端的一些控件,和html有很大区别,主要是一些移动窗口使用的控件。

特点是操作反馈:获得了系统级的操作反馈。


小程序的强大功能(特点):

  • 框架分为视图层和逻辑层。
  • 逻辑层基于js实现,js不但处理事件,而且管理数据和页面。
  • 页面间可以无缝切换(无需加载),并且有完整的生命周期,开发者只需要专注于逻辑和数据。
  • 整个程序的生命周期从启动到关闭,js和页面不会销毁,Home键时会进入后台模式。
  • API接近于原生APP
  • 页面组件适用于手机窗口,获得系统级的操作反馈。

0 0