-
微信小程序源码和小程序MINA框架
-
现代化前端技巧,小程序与传统APP区别
-
微信小程序DEMO案例分析
阅读本文需要10分钟
小程序是微信推出的一种新的公众号的形态,不需要下载安装即可在微信中使用的应用,小程序、订阅号、服务号、企业号是并行的体系。
微信小程序源码结构
-
视图层(将逻辑层的数据展现在视图上)
-
逻辑层(通过改变数据[setData方法]来改变视图)
配置文件
在小程序中,微信规定了界面的组成模式,由四个文件组成。
-
.wxml文件(页面结构文件)标签语言,类似html,真正负责页面结构的文件,可以绑定数据
-
.wxss文件(样式表文件)类似css,大部分css样式都相同
-
.js文件(脚本文件)用来运行我们的逻辑,使用js语言
-
.json文件(配置文件)主要配置公用的样式,比如tab栏,窗口样式等
微信小程序框架:MINA
MINA 组件
基本:view,text
表单:button,input,radio,slider
媒体:image,video,audio,canvas
模态:action-sheet,modal,toast,loading
容器:swiper,scroller
导航:navigator,tabbar
小程序融合了很多前端开发界的概念,但是并没有采用任何一个框架,包括流行的REACT、VUE,还有CORDOVA。它不是三者中的任意一个,而是拼凑出一个新的框架。
它的框架看起来既像 H5,又像原生。小程序用的是H5 代码,但又不遵从 H5 的标准写法。很多方面借用了 Web 技术,但细节不太一样。
非标准标签(组件)
我们知道写浏览器用的都是标准的主键,但是在 MINA 里面,小程序自成一个体系,虽然后台还是一样用浏览器的主键去实现的,但是在前面写 HTML 的时候加上它自己的一套标准。
非标准CSS
rpx单位是微信小程序中css的尺寸单位,rpx可以根据屏幕宽度进行自适应。规定屏幕宽为750rpx。如在 iPhone6 上,屏幕宽度为375px,共有750个物理像素,则750rpx = 375px = 750物理像素,1rpx = 0.
非标准事件系统
当按下一个按钮的时候分配一个事件,这个事件也是非标准的,但是跟非标准很像。包括冒泡阶段和捕捉阶段。
非标准 JS API
支持微信的接口,但是没有任何标准 JS接口。
不能操作 document 或者 DOM
虽然是在浏览器里面运行,但是不能操作浏览器本身,不能操作原生文件本身,只能用Virtual DOM 去改变页面。
有些组件有奇怪的默认高宽(scroller,image)
通常在 Web 浏览器里面,主键是按图片内容的高度,基本上所有组件默认高宽都是0,小程序的image是按照background-image来实现的,所以所有图像会得到一个初始宽高320 240,而且无法通过auto重置,只可以通过具体的值来重写。