前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >腾讯专家讲座|微信小程序架构解析!

腾讯专家讲座|微信小程序架构解析!

作者头像
用户1097444
发布2022-06-29 17:06:47
1.1K0
发布2022-06-29 17:06:47
举报
文章被收录于专栏:腾讯IMWeb前端团队

来源:微信公众号:Coding学院(ID:ke-coding)

目录


一、小程序介绍和演示

二、小程序架构

三、小程序视图层

四、小程序逻辑层

五、小程序开发经验

正文


一、小程序特点

二、小程序架构

三、小程序视图层

1.View - WXML

WXML(WeiXin Markup Language)

支持数据绑定

支持逻辑算术、运算

支持模板、引用

支持添加事件(bindtap)

2.View - WXSS

WXSS(WeiXin Style Sheets)

支持大部分CSS特性

添加尺寸单位rpx,可根据屏幕宽度自适应

使用@import语句可以导入外联样式表

不支持多层选择器-避免被组件内结构破坏

四、小程序逻辑层

逻辑层将数据进行处理后发送给视图层,同时接受视图层的事件反馈

1、App( ) 小程序的入口;Page( ) 页面的入口

3、提供丰富的 API,如微信用户数据,扫一扫,支付等微信特有能力。

4、每个页面有独立的作用域,并提供模块化能力。

5、数据绑定、事件分发、生命周期管理、路由管理

运行环境

IOS - JSCore

Android - X5 JS解析器

DevTool - nwjs Chrome 内核

App Service - Life Cylce

App Service - Router

navigateTo(OBJECT)

保留当前页面,跳转到应用内的某个页面,使用navigateBack可以返回到原页面。页面路径只能是五层

redirectTo(OBJECT)

关闭当前页面,跳转到应用内的某个页面。

navigateBack(OBJECT)

关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages()) 获取当前的页面栈,决定需要返回几层。

五、小程序开发经验

小程序可以借鉴的优点

1、提前新建WebView,准备新页面渲染。

2、View层和逻辑层分离,通过数据驱动,不直接操作DOM。

3、使用Virtual DOM,进行局部更新。

4、全部使用https,确保传输中安全。

5、前端组件化开发。

6、加入rpx单位,隔离设备尺寸,方便开发。

小程序存在的问题

1、小程序仍然使用WebView渲染,并非原生渲染

2、需要独立开发,不能在非微信环境运行。

3、开发者不可以扩展新组件。

4、服务端接口返回的头无法执行,比如:Set-Cookie。

5、依赖浏览器环境的js库不能使用,因为是JSCore执行的,没有window、document对象。

6、WXSS中无法使用本地(图片、字体等)。

7、WXSS转化成js 而不是css,为了兼容rpx。

8、WXSS不支持级联选择器。

9、小程序无法打开页面,无法拉起APP。

本期Coding讲堂特邀嘉宾:腾讯前端高级开发工程师 渠宏伟

为你揭开微信小程序的神秘面纱

报名方式:点击文章最下方阅读原文或。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-02-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 腾讯IMWeb前端团队 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档