Skip to content

Commit 1d20148

Browse files
koloyyeektoso
andauthored
Update on SwiftJavaDocumentation (swiftlang#372)
Co-authored-by: Konrad `ktoso` Malawski <[email protected]>
1 parent 612f04e commit 1d20148

File tree

2 files changed

+17
-5
lines changed

2 files changed

+17
-5
lines changed

Sources/SwiftJavaDocumentation/Documentation.docc/SupportedFeatures.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,10 @@ Java `native` functions. JavaKit simplifies the type conversions
3333
| Java `abstract class` | TODO |
3434
| Java `enum` ||
3535
| Java methods: `static`, member |`@JavaMethod` |
36-
| **This list is very work in progress** | |
36+
| **This list is very work in progress** | |
3737

3838

39-
### JExtract: Java -> Swift
39+
### JExtract – calling Swift from Java
4040

4141
SwiftJava's `swift-java jextract` tool automates generating Java bindings from Swift sources.
4242

Sources/SwiftJavaDocumentation/Documentation.docc/index.md

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,21 @@ Please refer to articles about the specific direction of interoperability you ar
1111

1212
### Getting started
1313

14-
TODO: Some general intro
14+
**SwiftJava** provides a set of tools and libraries to enable Java and Swift interoperability. It allows developers to generate bindings to either language from the other, by using either source generation (for Java consuming Swift code) or a combination of Swift macros and source generation (for Swift consuming Java libraries).
1515

16-
If you prefer a video introduction, you may want to this
16+
The generated code is highly efficient and less error-prone than manually mapping, and also guarantees memory safety across the boundaries between the languages.
17+
18+
Reasons why you might want to reach for Swift and Java interoperability include, but are not limited to, the following scenarios:
19+
- Incremental adoption of Swift in an existing Java codebase
20+
- Reuse existing libraries which exist in one ecosystem, but don't have a direct equivalent in the other
21+
22+
SwiftJava is offering several core libraries which support language interoperability:
23+
- `JavaKit` (Swift -> Java) - JNI-based support library and Swift macros
24+
- `SwiftKit` (Java -> Swift) - Support library for Java calling Swift code (either using JNI or FFM)
25+
- `swift-java` - command line tool; Supports source generation and also dependency management operations
26+
- Build tool integration - SwiftPM Plugin
27+
28+
If you prefer a video introduction, you may want to watch this
1729
[Explore Swift and Java interoperability](https://www.youtube.com/watch?v=QSHO-GUGidA)
1830
WWDC 2025 session,
1931
which is a quick overview of all the features and approaches offered by SwiftJava.
@@ -25,7 +37,7 @@ which is a quick overview of all the features and approaches offered by SwiftJav
2537
- <doc:SupportedFeatures>
2638

2739

28-
### Source generation
40+
### Source Generation
2941

3042
- <doc:SwiftJavaCommandLineTool>
3143
- <doc:SwiftPMPlugin>

0 commit comments

Comments
 (0)