You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: docs/userguide/concepts.md
+8-5
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,7 @@
1
-
# Core Concepts
1
+
# Workflow Core Concepts
2
+
3
+
This page provides a high level overview of Workflow Core, the UI-agnostic Swift and Kotlin runtimes at the heart of the Workflow libraries.
4
+
See [Workflow UI Concepts](../ui-concepts) to learn about the companion Android and iOS specific modules.
2
5
3
6
## What is a Workflow?
4
7
@@ -18,8 +21,8 @@ For example, a Workflow running a simple game might be configured with a descrip
18
21

19
22
20
23
A workflow Rendering usually serves as a view model in iOS or Android apps, but that is not a requirement.
21
-
In fact, this page includes no details about how platform specific UI code is driven.
22
-
See [Workflow UI](../ui-concepts) for that discussion.
24
+
Again, this page includes no details about how platform specific UI code is driven.
25
+
See [Workflow UI Concepts](../ui-concepts) for that discussion.
23
26
24
27
!!! note
25
28
Readers with an Android background should note the lower case _v_ and _m_ of "view model" — this notion has nothing to do with Jetpack `ViewModel`.
@@ -85,9 +88,9 @@ WIP
85
88
86
89
## Why does Workflow work this way?
87
90
88
-
Worklow was built to tame the composition and navigation challenges presented by Square's massive Android and iOS apps.
91
+
Workflow was built to tame the composition and navigation challenges presented by Square's massive Android and iOS apps.
89
92
It lets us write intricate, centralized, well tested code encapsulating the flow through literally hundreds of individual screens.
90
-
We are no longer unable to see the forest for the trees.
93
+
These days we are able to see and shape the forest, despite all of the trees.
91
94
92
95
We built it with two core design principals in mind:
Copy file name to clipboardexpand all lines: docs/userguide/ui-concepts.md
+4-4
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
-
# Workflow UI
1
+
# Workflow UI Concepts
2
2
3
-
This page provides a high level overview of Workflow UI, the companion that allows [Workflow Core](../core-workflow) to drive Android and iOS apps.
3
+
This page provides a high level overview of Workflow UI, the companion that allows [Workflow Core](../concepts) to drive Android and iOS apps.
4
4
5
5
!!! warning Kotlin WIP
6
6
The `Screen` interface that is so central to this discussion has reached Kotlin very recently, via `v1.8.0-beta01`.
@@ -12,7 +12,7 @@ This page provides a high level overview of Workflow UI, the companion that allo
12
12
## Separation of Concerns
13
13
14
14
Workflow maintains a rigid separation between its core runtime and its UI support.
15
-
The [Workflow Core](../core-workflow) modules are strictly Swift and Kotlin, with no dependencies on any UI framework.
15
+
The [Workflow Core](../concepts) modules are strictly Swift and Kotlin, with no dependencies on any UI framework.
16
16
Dependencies on Android and iOS are restricted to the Workflow UI modules, as you would expect.
17
17
This innate separation naturally puts developers on a path to avoid entangling view concerns with their app logic.
18
18
@@ -26,7 +26,7 @@ The strict divide between Workflow UI and Workflow Core leads you to maintain th
26
26
27
27
## What's a Screen?
28
28
29
-
Most Workflow implementations produce `struct` / `data class`[renderings](../core-workflow#rendering) that can serve as view models.
29
+
Most Workflow implementations produce `struct` / `data class`[renderings](../../glossary#rendering) that can serve as view models.
30
30
Such a rendering provides enough data to paint a UI, and functions to be called in response to UI events.
31
31
32
32
These view model renderings implement the `Screen`[protocol](https://github.com/square/workflow-swift/blob/main/WorkflowUI/Sources/Screen/Screen.swift) / [interface](https://github.com/square/workflow-kotlin/blob/main/workflow-ui/core-common/src/main/java/com/squareup/workflow1/ui/Screen.kt) to advertise that this is their intended use.
0 commit comments