ray's Notes

Read The Fucking Source Code.

0%

WeChat Architecture

// WeAppArchitectureDescription.ReadMe
// MicroMessenger
//
// Created by tedwu on 2016-7-15.
// Copyright 2016 Tencent. All rights reserved.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
//
// WeAppArchitectureDescription.ReadMe
// MicroMessenger
//
// Created by tedwu on 2016-7-15.
// Copyright 2016 Tencent. All rights reserved.
//

Architecture:


_____ _____ _____ _____ _____ _____ _____ _____ _____ ______ _______________
| | | |
| | | |
UI | Message + Entrance | | |
| | | |
|_____ _____ _____ _____ _____ _____ _____ _____ _____ _____| | |
| |
_____ _____ _____ _____ _____ _____ _____ _____ _____ ______ | |
| | | ConfigMgr |
| | | |
Facade | AppMgr | | |
| | | |
|_____ _____ _____ _____ _____ _____ _____ _____ _____ _____| | |
| |
_____ _____ _____ _____ ___ _____ _____ _____ _____ ______ | PermissonMgr |
| | | | | |
| | | | | |
Mgr | AppTaskMg | | AppVersionMgr + AppListInfoMgr | | |
| | | | | |
|_____ _____ _____ ____| |___ _____ _____ _____ _____ ______| | |
| DataBase |
_____ _____ _____ _____ _____ ______ ___ _____ _____ _____ | |
| | | | | |
| | | | | |
| WebView + MultiTask + AppService | | SDK | | |
| | | | | |
|_____ _____ _____ _____ _____ _____| |_____ _____ _____ ___| | |
core | |
_____ _____ _____ _____ _____ _____ _____ _____ _____ ______ | |
| | | |
| | | |
| PageFrame + LocalCache | | |
| | | |
|_____ _____ _____ _____ _____ _____ _____ _____ _____ _____| |_______________|






Directory Structure:

|_____AppMgr
|_____|_____WAAppListInfoMgr.h
|_____|_____WAAppListInfoMgr.mm
|_____|_____WAAppMgr.h
|_____|_____WAAppMgr.mm
|_____|_____WAAppTaskMgr.h
|_____|_____WAAppTaskMgr.mm
|_____|_____WAAppVersionMgr.h
|_____|_____WAAppVersionMgr.mm
|_____Base
|_____|_____ConfigMgr
|_____|_____|_____WAConfigMgr.h
|_____|_____|_____WAConfigMgr.mm
|_____|_____DataBase
|_____|_____PermissonMgr
|_____|_____|_____WAPermissonMgr.h
|_____|_____|_____WAPermissonMgr.mm
|_____Core
|_____|_____AppService
|_____|_____LocalCache
|_____|_____MultiTask
|_____|_____|_____WAMultiTaskMgr.h
|_____|_____|_____WAMultiTaskMgr.mm
|_____|_____PageFrame
|_____|_____|_____WAWebViewController+Preload.h
|_____|_____|_____WAWebViewController+Preload.mm
|_____|_____Webview
|_____|_____|_____Plugin
|_____|_____|_____|_____WAWebViewPlugin_CustomNavigationBar.h
|_____|_____|_____|_____WAWebViewPlugin_CustomNavigationBar.mm
|_____|_____|_____|_____WAWebViewPlugin_CustomTabBar.h
|_____|_____|_____|_____WAWebViewPlugin_CustomTabBar.mm
|_____|_____|_____|_____WAWebViewPlugin_InputKeyboard.h
|_____|_____|_____|_____WAWebViewPlugin_InputKeyboard.mm
|_____|_____|_____|_____WAWebViewPlugin_PullRefresh.h
|_____|_____|_____|_____WAWebViewPlugin_PullRefresh.mm
|_____|_____|_____|_____WAWebViewPluginBase.h
|_____|_____|_____|_____WAWebViewPluginBase.mm
|_____|_____|_____|_____WAWebViewPluginScheduler.h
|_____|_____|_____|_____WAWebViewPluginScheduler.mm
|_____|_____|_____WAWebViewController+AppBrand.h
|_____|_____|_____WAWebViewController+AppBrand.mm
|_____|_____|_____WAWebViewController+UI.h
|_____|_____|_____WAWebViewController+UI.mm
|_____|_____|_____WAWebViewController.h
|_____|_____|_____WAWebViewController.mm
|_____|_____|_____WAWebViewJSLogicImpl.h
|_____|_____|_____WAWebViewJSLogicImpl.mm
|_____Portal
|_____SDK
|_____|_____AppServiceAPI
|_____|_____Dependency
|_____|_____WebViewAPI
|_____Util
|_____|_____WAUtility.h
|_____|_____WAUtility.mm