-
Notifications
You must be signed in to change notification settings - Fork 5
/
run-and-deploy.puml
108 lines (73 loc) · 2.3 KB
/
run-and-deploy.puml
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
@startuml
skinparam {
shadowing false
arrowColor #46749F
RectangleBorderColor #CCCCCC
RectangleBackgroundColor #F5F2F0
ComponentBorderColor #46749F
ComponentBackgroundColor #E5ECF0
UsecaseBorderColor #46749F
UsecaseBackgroundColor #E5ECF0
ControlBorderColor #0081C6
ControlBackgroundColor #55DDCA
frameBorderColor #0081C6
packageBorderColor #0081C6
noteBorderColor #468847
noteBackgroundColor #DFF0D8
AgentBorderColor #468847
AgentBackgroundColor #DFF0D8
}
control "<size:20>Dart Target</size> \n <size:20>Platforms</size>" as source
rectangle "Web" as web {
agent dartdevc [[https://webdev.dartlang.org/tools/dartdevc]]
agent dart2js [[https://webdev.dartlang.org/tools/dart2js]]
[Angular Dart \n OverReact \n Stage XL \n dart:html] as angular [[https://webdev.dartlang.org/angular]]
angular -down-> dart2js: production
angular -down-> dartdevc: development
frame Browser #E5ECF0 {
artifact JavaScript
artifact EcmaScript6
}
dart2js -> JavaScript: fast \n minified\n JS
dartdevc -> EcmaScript6: human \n readable \n JS
}
rectangle "Mobile" as mobile #FFFDCC {
[Flutter] as flutter [[https://flutter.io]]
frame iOS #E5ECF0 {
artifact IPA
}
frame Android #E5ECF0 {
artifact APK
}
flutter --> IPA: AOT compile to native code
flutter --> APK
}
rectangle "Fuchsia OS" as fuchsia #FDEFE7 {
[Fuchsia UI] as fuchsiaUI [[https://fuchsia.googlesource.com/docs/+/master/book.md]]
[Flutter] as fuchsiaFlutter
package "Dart VM" as fuchsiaVM #E5ECF0 {
artifact fuchsiaApp [
Fuchsia App
]
}
fuchsiaUI -> fuchsiaFlutter
fuchsiaFlutter -> fuchsiaApp
}
rectangle "Server" as server {
[Aqueduct \n Angel \nRedstone] as aqueduct [[https://aqueduct.io/]]
[dart:io \n dart:path \n dart:args] as cmdlinePackages [[https://www.dartlang.org/tutorials/dart-vm/cmdline]]
package "Dart VM" #E5ECF0 {
artifact cmdline [
cmdline utils
scripts
]
database "Server App" as enterprise
}
aqueduct -> enterprise: REST \n ORM \n PostgreSQL \nMongoDB
cmdlinePackages -> cmdline
}
source -up-|> mobile
source -up-|> web
source -down-|> fuchsia
source -down-|> server
@enduml