2021-06-21 14:53:31 +00:00
|
|
|
# 🥳 AppFlowy System Design
|
2021-06-19 15:41:19 +00:00
|
|
|
|
2021-06-21 14:53:31 +00:00
|
|
|
* Goals of the System
|
|
|
|
* Some Design Considerations
|
|
|
|
* High Level Design
|
|
|
|
* Component Design
|
2021-06-19 15:41:19 +00:00
|
|
|
|
2021-06-21 14:53:31 +00:00
|
|
|
## 🎯 Goals of the System
|
2021-06-19 15:41:19 +00:00
|
|
|
|
2021-06-21 14:53:31 +00:00
|
|
|
## 🤔 Some Design Considerations
|
|
|
|
## 📜 High Level Design
|
|
|
|
## 📚 Component Design
|
2021-06-19 15:41:19 +00:00
|
|
|
|
2021-06-21 14:53:31 +00:00
|
|
|
### 📕 Component 1
|
2021-06-24 08:32:36 +00:00
|
|
|
|
|
|
|
|
2021-06-21 14:53:31 +00:00
|
|
|
### 📗 Component 2
|
2021-06-20 15:35:21 +00:00
|
|
|
|
2021-06-19 15:41:19 +00:00
|
|
|
|
2021-06-24 08:32:36 +00:00
|
|
|
### 📘 Flutter Event Flow
|
|
|
|
|
|
|
|
|
|
|
|
### 📙 Rust Event Flow
|
|
|
|
|
|
|
|
```
|
|
|
|
┌─────────┐
|
|
|
|
┌─▶│Service A│
|
|
|
|
│ └─────────┘
|
|
|
|
┌─────────┐ ┌───────────┐ ┌─────────────┐ │ ┌─────────┐
|
|
|
|
┌─▶│Module A │─▶│ Services │─▶│Deps Resolved│─┼─▶│Service B│
|
|
|
|
│ └─────────┘ └───────────┘ └─────────────┘ │ └─────────┘
|
|
|
|
│ │ ┌─────────┐
|
|
|
|
┌───────┐ ┌────────┐ │ ┌─────────┐ └─▶│Service C│
|
|
|
|
│ Event │──▶│Runtime │──┼─▶│Module B │ └─────────┘
|
|
|
|
└───────┘ └────────┘ │ └─────────┘
|
|
|
|
│
|
|
|
|
│ ┌─────────┐
|
|
|
|
└─▶│Module C │
|
|
|
|
└─────────┘
|
|
|
|
```
|
|
|
|
|
|
|
|
* sync will cause typing lag
|
|
|
|
|