We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
因为一些小伙伴的私信和交流,感觉写的这些内容对别人还是有一些帮忙,所以打算剩下的几篇更新频率会快一些争取一星期一篇,应该还可以在写4篇的内容(包含小游戏和云开发服务),可以带你初步了解搭建微信小程序引擎运行环境从头开始的一些过程
先给大家展示一张架构大致图
UI 控制
消息相互传输分发
消息处理
消息缓存
还是先给大家看一个图
从图中我们看到核心的控制层和socket server服务的交互 ,他就相当于人的中枢运载这各部件相互和谐的工作,下面还是用文字来简述下整个启动流程
这个算是一个微信小程序启动经历的一些过程,只能说参考分析,比较不是开发人员不能准确说做来那些事
可能大家看了上面的内容还是比较模糊,最核心的消息事件是怎么处理的,有那些事件是怎么进行分发的,下面我还是会先来从设计层面先来分析一下
下面还是先看下一个图(整个的消息通信机制)
这个图如果你们深入研究过这块内容的应该都可以看懂service webview socket之间的关联,下面我还是会简述一下
APPSERVICE_ON_EVENT
APPSERVICE_INVOKE
APPSERVICE_PUBLISH
WEBVIEW_ON_INVOKE
WEBVIEW_PUBLISH
在微信开发者工具里面采用的这种无阻塞消息通讯可以更好的处理这些事件之间的关联性和灵活性,这种方式具备的特点
但在我们手机上面使用的微信小程序,微信肯定不是采用这种方式的,应为这种方式最大的问题就是效率和稳定性,在原生上面应该采用桥接的方式
本来打算放一些案例的,后来发现写下来都没有代码本篇比较存粹的讲解下小程序的架构,希望可以帮大家对小程序运行环境理解带来一点小小帮助
创作不易 点个赞支持一下就是动力!!
欢迎感谢持续关注!!!
The text was updated successfully, but these errors were encountered:
第一张总体架构图显示不出来呀...
Sorry, something went wrong.
@stevekeol 可以了
第一张架构图哪里来的?
第一张总体架构图又显示不出来了
No branches or pull requests
实现微信小程序编译和运行环境系列(核心篇一)
前言
因为一些小伙伴的私信和交流,感觉写的这些内容对别人还是有一些帮忙,所以打算剩下的几篇更新频率会快一些争取一星期一篇,应该还可以在写4篇的内容(包含小游戏和云开发服务),可以带你初步了解搭建微信小程序引擎运行环境从头开始的一些过程
核心篇分了几篇来描述,本文先从整体系统层面来概括小程序运行环境时的架构,明白它的整体大致流程,后面会接着更新细节内容
正文
总体架构
先给大家展示一张架构大致图
可以看出大致的一个层次结构
展现层 UI Simulator Layer
控制层 Control Layer
UI 控制
消息相互传输分发
消息处理
消息缓存
服务层 Service Layer
基础设施层 Infrastructure Layer
基本地层 Native Layer
操作系统层 OS Layer
以上就是一个大致的架构层级
下面我们在通过一个小程序启动运行流程来看下,各层架构设计在运行时的细节
还是先给大家看一个图
从图中我们看到核心的控制层和socket server服务的交互 ,他就相当于人的中枢运载这各部件相互和谐的工作,下面还是用文字来简述下整个启动流程
加载小程序系统配置文件
Tabbar 信息
创建 APPSERVICE
创建 HOME PAGEFRAME WEBVIEW
通知 Socket Server 路由信息
Socket server 转发路由信息
Service 通知 Page 渲染
Page 通知 Service 渲染状态
这个算是一个微信小程序启动经历的一些过程,只能说参考分析,比较不是开发人员不能准确说做来那些事
可能大家看了上面的内容还是比较模糊,最核心的消息事件是怎么处理的,有那些事件是怎么进行分发的,下面我还是会先来从设计层面先来分析一下
下面还是先看下一个图(整个的消息通信机制)
这个图如果你们深入研究过这块内容的应该都可以看懂service webview socket之间的关联,下面我还是会简述一下
所有的消息类型
APPSERVICE_ON_EVENT
APPSERVICE_INVOKE
APPSERVICE_PUBLISH
WEBVIEW_ON_INVOKE
WEBVIEW_PUBLISH
在微信开发者工具里面采用的这种无阻塞消息通讯可以更好的处理这些事件之间的关联性和灵活性,这种方式具备的特点
但在我们手机上面使用的微信小程序,微信肯定不是采用这种方式的,应为这种方式最大的问题就是效率和稳定性,在原生上面应该采用桥接的方式
本来打算放一些案例的,后来发现写下来都没有代码本篇比较存粹的讲解下小程序的架构,希望可以帮大家对小程序运行环境理解带来一点小小帮助
创作不易 点个赞支持一下就是动力!!
欢迎感谢持续关注!!!
The text was updated successfully, but these errors were encountered: