微信小程序架构图与开发

news/2024/11/29 13:53:10/

双线程模型

双线程模型引入的原因:

​网页开发渲染线程和脚本线程是互斥的,这也是为什么长时间的脚本运行可能会导致页面失去响应,而在小程序中,二者是分开的,分别运行在不同的线程中。


真实运行环境

传统Webview和小程序的异同

与传统Web开发上的异同


1)标签名字有点不一样

 用wxml和wxss表示页面而不是html和css,之所以有了这样的替换,是因为腾讯

把开发HTML 的时候,经常会用到的标签(divpspan...)进行了组合封装

变成了小程序里面的WXML标签(viewbuttontext 等等)。封装之后不仅能提高我们的开发效率,还能使得腾讯上不同小程序风格上大体一直,不至于过于灵活,差异过大。

2)

多了一些 wx:if 这样的属性以及 {{ }} 这样的表达式

在网页的一般开发流程中,我们通常会通过 JS 操作 DOM (对应 HTML 的描述产生的树),以引起界面的一些变化响应用户的行为。例如,用户点击某个按钮的时候,JS 会记录一些状态到 JS 变量里边,同时通过 DOM API 操控 DOM 的属性或者行为,进而引起界面一些变化。当项目越来越大的时候,你的代码会充斥着非常多的界面交互逻辑和程序的各种状态变量,显然这不是一个很好的开发模式,因此就有了 MVVM 的开发模式(例如 React, Vue),提倡把渲染和逻辑分离。简单来说就是不要再让 JS 直接操控 DOMJS 只需要管理状态即可,然后再通过一种模板语法来描述状态和界面结构的关系即可。

小程序的框架也是用到了这个思路,如果你需要把一个 Hello World 的字符串显示在界面上。

WXML 是这么写 :

<text>{{msg}}</text>

JS 只需要管理状态即可:

this.setData({ msg: "Hello World" })

通过 {{ }} 的语法把一个变量绑定到界面上,我们称为数据绑定。仅仅通过数据绑定还不够完整的描述状态和界面的关系,还需要 if/elsefor等控制能力,在小程序里边,这些控制能力都用 wx: 开头的属性来表达。

更详细的文档可以参考 WXML

参考自:

微信小程序原理分析和多端小程序架构原理(应该是全网最全了) | 悬笔e绝的个人博客前言互联网生态演进:超级 APP + 小程序成为「轻应用时代」下的新生态。 一方面微信、支付宝等各家小程序平台遍地开花,另一方面移动开发插件化技术逐渐没落,移动应用构建的方式在悄悄的发生变化。对于企业应用形态而言,也在逐步发生变化,超级 APP(移动门户)+ 轻应用是一种新的流行趋势。微信、支付宝是互联网生态下的“移动门户”,手机银行是金融典型的 ToC “移动门户”。小程序方式构建应用是大趋势,https://www.xuanbiyijue.com/2021/03/13/%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F%E5%8E%9F%E7%90%86%E5%88%86%E6%9E%90%EF%BC%88%E5%BA%94%E8%AF%A5%E6%98%AF%E5%85%A8%E7%BD%91%E6%9C%80%E5%85%A8%E4%BA%86%EF%BC%89/

小程序代码构成 | 微信开放文档微信开发者平台文档https://developers.weixin.qq.com/miniprogram/dev/framework/quickstart/code.html#WXML-%E6%A8%A1%E6%9D%BF


http://www.ppmy.cn/news/799154.html

相关文章

各种体系架构图收藏

该技术架构图是本人根据多年企业技术架构经验而制定&#xff0c;是企业技术的总架构图&#xff0c;希望对CTO们有所借鉴。 简单说明&#xff1a; 1.中间件基础运行环境是经过统一规划的以WebLogic、JBOSS为主的集群环境 2.企业集成平台是以基础…

web项目部署架构图

为大家做了一张web项目的架构图,希望大家看了后能够对项目部署有一个清楚直观的认识. 如有任何技术疑问都可以在下方留言评论,每天将抽出部分留言进行解答 做个简单解释: 多个服务器的,被称之为集群环境,如上图的服务器A,B,C,集群环境下用户的请求将不再直接请求服务器,而是被…

vue antvG6 绘制组织架构图

vue antvG6产品流程图 效果展示准备工作demo地址&#xff1a;[vue-antvg6地址](https://gitee.com/shuaizi010/vue-antvg6.git)详细介绍1 安装vue-admin-template2进入目录 安装所需包3 安装必备库&#xff0c;antv/g6&#xff0c;insert-css4新建页面配置路由5流程图页面代码参…

各种软件系统架构图解析

发布一企业技术架构图&#xff0c;供大家参考。 该技术架构图是本人根据多年企业技术架构经验而制定&#xff0c;是企业技术的总架构图&#xff0c;希望对CTO们有所借鉴。 简单说明&#xff1a; 1.中间件基础运行环境是经过统一规划的以WebLogic、JBOSS为主的集群环境 …

应用架构、业务架构、技术架构和业务流程图详解

应用架构 应用架构&#xff08;Application Architecture&#xff09;是描述了IT系统功能和技术实现的内容。应用架构分为以下两个不同的层次&#xff1a; 企业级的应用架构&#xff1a;企业层面的应用架构起到了统一规划、承上启下的作用&#xff0c;向上承接了企业战略发展…

企业供应链管理架构图

实施销售与运作计划成功的企业基本上都是由供应链管理部门来把销售与供应链串起来的。 商淘云供应链管理架构图 企业经销渠道管理&#xff0c;必须要有专门的需求管理部门&#xff0c;它是销售与供应链的接口。企业不能被动地接单&#xff0c;企业需要根据数据主动出击&#x…

软件测试---组织架构图和范围测试列表

一、组织架构图 &#xff08;1&#xff09;从微观角度&#xff0c;对项目的架构及功能模块有一个清晰的认识 &#xff08;2&#xff09;目的&#xff1a;主要是了解项目有哪些功能模块&#xff0c;有助于提高测试覆盖率&#xff1b;对整个项目进一步的熟悉&#xff0c;…

架构设计实践五部曲(一):架构与架构图

本文是架构设计实践五部曲系列文章的第一篇&#xff0c;架构与架构图。本文将对架构作深入的阐释&#xff0c;并教你什么时候画架构图、怎么画架构图。 在日常系统开发过程中&#xff0c;作为技术人员想必大家都参与过架构设计的工作。做过一段系统架构工作之后&#xff0c;心里…