微信小程序框架解析_第1页
微信小程序框架解析_第2页
微信小程序框架解析_第3页
微信小程序框架解析_第4页
微信小程序框架解析_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、微信小程序框架解析Softeem杨标一、 小程序介绍和演示微信小程序是国内腾讯公司推出的一款类APP 应用平台,用户和开发者可以在依据腾讯发布的API 文档与微信Web开发者工具进行开发,其程序主要有以下几个特点:1、 类Web的应用程序,但不是HTML52、 即用即走,随手可得3、 拥有离线能力4、 基于微信跨平台5、 媲美原生操作体验如图所示:左图是一个微信小程序的界面。微信小程序采用Native预告加载一个WebView。当打开指定页面时,无需加载额外资源直接渲染,这种操作方式极大的改善了用户的操作体验,达到了原生APP的操作效果。二、 小程序框架上边两个图片可以说明微信小程序的框架结构

2、,微信小程序里面View视图层与AppServer逻辑层分开的,与现在主流的前后端分离开发大同小异,数据通信采用微信API进行异步请求视图层的界面布局采用wxml,视图层的样式控制采用wxss进行,在这里要说明一下,微信小程序里面的wxml与前端里面的HTML似,都是用标签进行布局。而wxss与前端里面的CSS一样,支持CSS3,动画,变幻等新特性,而界面的逻辑控制就是JS(微信后期出了一个wxs,是一个类JS的语言,语法与JS差不多)三、 小程序视图层刚刚在上个章节提到了微信小程序的框架结构,在这个章节,我们主要来看一下视图层的相关介绍。在视图层中,微信的WXML作为标签的布局,它支持数据绑

3、定,输运运算,同时还支持模板引用(template),这些与HTML里面的差不多,唯一有一点区别的就是在事件绑定这一块。在微信的视图层事件绑定时面,微信不事件采用的是bind的策略,与HTML里面的on是不一样的,但同时也支持事件冒泡。微信自己封装了一系列的视图层事件,如bindtap点击,bindlongtap长按,这些事件针对移动端做了进一步的优化,例其能够符合移动端APP的操作习惯而作为界面样式控制的WXSS,它支持大部分的CSS,同时,它新增了一个尺寸单位rpx,这个单位可以根据屏幕的宽度进行自适用,这点是一个很大的进步,它可以使微信小程序在不同的手机屏幕下面进行自适用(这一点在以前的

4、HTML+CSS上面,需要通过vw、rem、em或者媒体查询来进行),同时,可以使用import来导入外部的样式文件,但在这里有一点要说明的就是,WXSS里在,不支持多层选择器,这样就避免了组件的内部样式被污染。在CSS里面,我们常用的选择器有9种,而在微信小程序里面,进行精简了很多,具体我做了个列表,如下:在上图当中,我们可以看出,微信小程序的WXSS支持类选择器,ID选择器,标签选择器,分组选择器以及伪元素选择器,但是去除了CSS时面的兄弟与相邻兄弟选择器,去除了常用的属性选择器。在微信小程序的布局里面,主要用到的标签为view标签,这个标签相当于HTML里面的DIV标签,是一个块级标签,

5、同时,文字标签改为了text这个标签,相当于HTML里面的label或者span等行内标签,下图是微个小程序的标签与普通的HTML标签对比四、 小程序逻辑层前面讲完了小程序的界面神图层,现在来讲讲逻辑层。微信小程序的逻辑层将数据处理以后发送给神力层,同时接受视图层的事件反馈1、上图就是一个微信小程序的逻辑代码,通过这些代码,我们来分析一下:1、 App()是小程序的入口,Page()是页面的入口2、 微信提供了丰富的API,如微信定位,微信扫一扫,微信支付等功能3、 每个页面有独立的作用域,并提供模块化能力在逻辑的代码里面,可以进行数据绑定,事件分发,生命周期管理,跌幅管理等功能上图是微信小程

6、序的生命周期图,微信小程序的页面中,常用的生命周期回调函数有onLoad,onShow,onReady,onHide,具体的执行顺序可看上图。上图为微信小程序部分API列表。微信小程序里面,不同的页面之间进行跳转,微信制定了一些相关的规范,主要有以下几种:1、 navigatoTo(OBJECT)保留当前页面,跳转到应用内的某个页面,使用navigateBack可以返回到原页面,页面路径只能有五层2、 redirectTo(OBJECT)关闭当前页面,跳转到页在内的某个页面3、 navigateBack(OBJECT)关闭当前页面,返回上一级页面或多级页面,可通过getCurrentPages

7、()来获取当前的页面栈,决定返回那一层4、 switchTab(OBJECT)使用该方法,可以切换到tabBar里面的某一个页面,在这里要注意,该方法切换的页面必须是在app.json文件里面的tabBar里面注册过的页面五、 小程序开发经验在开发小程序的过程当中,有一些开发经验,现在给各位介绍一下。小程序可以借鉴的优点:1、 提前新建WebView,准备新页面渲染2、 View层与逻辑分享,通过数据驱动,而不直接操作页面元素3、 使用组件,进行局步更新4、 视图层做到组件化开发5、 加入rpx元素布局,做到自适应小程序存在的问题:1、 小程序仍然使用的是WebView渲染2、 需要特定的开发

8、环境,依赖微信开发工具3、 服务端返回头不能够执行,如set-cookie4、 没有浏览器环境,依赖浏览器的JS无法执行5、 WXSS背景图不能使用本地图片,只能使用网络图片或base64图片是的,又到春分时分,今日已是昼夜平分春色,这也意味着,我们的春天,转眼已经走到一半。不禁,有了些许淡淡的怅然。这岁序更迭啊,从来不会给任何人眷恋的机会。我们甚至来不及感叹,便匆匆走向下一个节气。不经意间,我们走着走着,便把春天走成了姹紫嫣红,草长莺飞。此时正是,春风又绿江南岸,万紫千红总是春。是春风花草香,又把新桃换旧符。那些走过的时光,随手握一把,满是春天新鲜的味道,沁满春日阳光的暖。这春风啊,总是来的

9、那么急,那么声势浩荡,带着泥土松软的芳香,带着小河流水的哗哗声,还有桃花杏花梨花的艳。我们无需刻意寻芳,自有满眼的春色,惊艳了原本平淡的生活。这就是春天,无论走着,还是睡着。一抬头,就会遇见一树花开。一低眉,便会遇见一行青柳。那些匆匆擦肩的路人,已是换了薄薄的春衫,令你眼前一亮,心情也随之明媚起来。沿河缓缓行走,总会有姹紫嫣红的花事,与你撞个满怀。那小桃红,玉兰粉,梨花白,连翘黄,还有那些婀娜的柳丝,瞬间让时光变得柔软,而诗意!最喜欢,吹面不寒杨柳风,斜风细雨不须归。漫步柳堤,踏着柔软的土地,看风吹叶绿,看花开满枝,心儿也随风怒放。这轻轻杨柳风,这悠悠桃花水,如诗,如画,是否也会醉了你的眼?经年的淡定,昔日的重逢,漫过春天静好的光阴,让沧桑了无痕。走在繁花似锦的陌上,清风徐徐,莺声燕语,该是多么惬意。心底,全是对这个世界的感动与喜欢。随手落下的小字,亦是沾香带露,绿意莹莹。是春分,平分了春天,让世界变得如此美丽。一半草色如烟,一半姹紫嫣红。平分处,春意灼灼,桃红柳绿,溪水潺潺,我听见了小麦拔节的声音,还有油菜花绽

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论