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: src/content/docs/blog/android-native-swift-packages.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -54,6 +54,8 @@ Does running `swift build` and `swift test` in the package directory work from t
54
54
First, install Skip and the native Android SDK by following the instructions in our [documentation](/docs/gettingstarted/). Then try to build your Swift package with the Android toolchain. The very abbreviated quick start looks like:
Copy file name to clipboardExpand all lines: src/content/docs/docs/faq.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -82,7 +82,7 @@ No, and no. The Skip build plugin runs locally on your macOS machine as part of
82
82
83
83
### How is Skip distributed? {#distribution}
84
84
85
-
The SkipStone build plugin is distributed as a binary executable artifact and driven by the Skip plugin hosted at [https://source.skip.tools/skip.git](https://source.skip.tools/skip.git). In addition, the `skip` command-line tool must be installed using the [Homebrew](https://brew.sh)command:`brew install skiptools/skip/skip`. This will install the `skip` utility that can be used to create projects and run tests, as well as the prerequisites for being able to perform local Android testing: `gradle`, `openjdk`, `android-platform-tools`, and `android-commandlinetools`.
85
+
The `skipstone` build plugin is distributed as a binary executable artifact and driven by the Skip plugin hosted at [https://source.skip.tools/skip.git](https://source.skip.tools/skip.git). In addition, the `skip` command-line tool must be installed using the [Homebrew](https://brew.sh)commands: `brew tap skiptools/skip` and`brew install skiptools/skip/skip`. This will install the `skip` utility that can be used to create projects and run tests, as well as the prerequisites for being able to perform local Android testing: `gradle`, `openjdk`, `android-platform-tools`, and `android-commandlinetools`.
86
86
87
87
### Do Skip or any of the Skip frameworks collect data for the purposes of user tracking? {#tracking}
1. Once Homebrew has been setup, install Skip by running the Terminal command:
16
+
1. Once Homebrew has been setup, install Skip by running the Terminal commands:
17
17
18
18
```console
19
-
brew install skiptools/skip/skip
19
+
brew tap skiptools/skip
20
+
brew install skip
20
21
```
21
22
22
23
This will download and install the `skip` tool itself, along with the Android SDK and `gradle` build tool that is necessary for building and running the Android side of your apps.
A package manager for macOS (and Linux) used to install and manage software packages. The [Skip CLI](#skip-cli) and its prerequisites are distributed via Homebrew using the command `brew install skiptools/skip/skip`.
455
+
A package manager for macOS (and Linux) used to install and manage software packages. The [Skip CLI](#skip-cli) and its prerequisites are distributed via Homebrew on macOS and Linux.
Copy file name to clipboardExpand all lines: src/content/docs/docs/modules/skip-fuse-ui/index.md
+16-16Lines changed: 16 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,10 +22,10 @@ flowchart LR
22
22
B -->|"Java_view"| C["SkipUI\n(Kotlin/Compose)"]
23
23
C --> D["Jetpack Compose\nUI on Screen"]
24
24
25
-
style A fill:#f5f5f5,stroke:#333,color:#fff
26
-
style B fill:#f0e6ff,stroke:#7b2fbe,color:#fff
27
-
style C fill:#e6f0ff,stroke:#4a90d9,color:#fff
28
-
style D fill:#e6ffe6,stroke:#2d8a2d,color:#fff
25
+
style A fill:#555555,stroke:#333,color:#fff
26
+
style B fill:#6b3fa0,stroke:#4a2d6e,color:#fff
27
+
style C fill:#2e6da4,stroke:#1a4a6e,color:#fff
28
+
style D fill:#2d7a2d,stroke:#1a5c1a,color:#fff
29
29
```
30
30
31
31
The key mechanism is the `SkipUIBridging` protocol. Every SkipFuseUI view type conforms to it by exposing a `Java_view` property that returns the equivalent SkipUI Kotlin object. When Compose needs to render your view hierarchy, it walks the tree of `Java_view` references — each one backed by [SkipBridge](/docs/modules/skip-bridge/) JNI calls between Swift and Kotlin.
@@ -64,15 +64,15 @@ flowchart TB
64
64
SB --> SJNI
65
65
SUI --> SM
66
66
67
-
style APP fill:#f5f5f5,stroke:#333,color:#fff
68
-
style SFUI fill:#f0e6ff,stroke:#7b2fbe,color:#fff
69
-
style SSU fill:#f0e6ff,stroke:#7b2fbe,color:#fff
70
-
style SB fill:#ffe6e6,stroke:#cc3333,color:#fff
71
-
style SF fill:#ffe6e6,stroke:#cc3333,color:#fff
72
-
style SAB fill:#ffe6e6,stroke:#cc3333,color:#fff
73
-
style SJNI fill:#ffe6e6,stroke:#cc3333,color:#fff
74
-
style SUI fill:#e6f0ff,stroke:#4a90d9,color:#fff
75
-
style SM fill:#e6f0ff,stroke:#4a90d9,color:#fff
67
+
style APP fill:#555555,stroke:#333,color:#fff
68
+
style SFUI fill:#6b3fa0,stroke:#4a2d6e,color:#fff
69
+
style SSU fill:#6b3fa0,stroke:#4a2d6e,color:#fff
70
+
style SB fill:#b33030,stroke:#8a1a1a,color:#fff
71
+
style SF fill:#b33030,stroke:#8a1a1a,color:#fff
72
+
style SAB fill:#b33030,stroke:#8a1a1a,color:#fff
73
+
style SJNI fill:#b33030,stroke:#8a1a1a,color:#fff
74
+
style SUI fill:#2e6da4,stroke:#1a4a6e,color:#fff
75
+
style SM fill:#2e6da4,stroke:#1a4a6e,color:#fff
76
76
```
77
77
78
78
On iOS, `SkipFuseUI` simply re-exports Apple's `SwiftUI` — the entire SkipSwiftUI layer is compiled away.
@@ -109,9 +109,9 @@ flowchart LR
109
109
K -->|"MutableState"| C["Compose\nRecomposition"]
110
110
C -->|"read triggers\naccess()"| S
111
111
112
-
style S fill:#f0e6ff,stroke:#7b2fbe,color:#fff
113
-
style K fill:#e6f0ff,stroke:#4a90d9,color:#fff
114
-
style C fill:#e6ffe6,stroke:#2d8a2d,color:#fff
112
+
style S fill:#6b3fa0,stroke:#4a2d6e,color:#fff
113
+
style K fill:#2e6da4,stroke:#1a4a6e,color:#fff
114
+
style C fill:#2d7a2d,stroke:#1a5c1a,color:#fff
115
115
```
116
116
117
117
When Swift code writes to a `@State` property, the `BridgedStateBox` notifies Compose's `MutableState`, triggering recomposition. When Compose reads the value, it calls back into Swift via the bridge. This two-way sync ensures that SwiftUI's declarative state model works identically on Android.
0 commit comments