Skip to content

Replace language-bindings page with per-language section#57

Open
okdistribute wants to merge 10 commits into
mainfrom
rae/ios-iroh-ffi-setup
Open

Replace language-bindings page with per-language section#57
okdistribute wants to merge 10 commits into
mainfrom
rae/ios-iroh-ffi-setup

Conversation

@okdistribute
Copy link
Copy Markdown
Contributor

@okdistribute okdistribute commented May 15, 2026

Summary

  • Splits the single deployment/other-languages.mdx into a new Languages section with a page per officially-supported language: Rust, Python, Swift, and Kotlin
  • Adds a from-scratch Xcode walkthrough for setting up an iOS + macOS app on iroh-ffi (Swift Package by URL, -framework Network on iOS, App Sandbox entitlements on macOS, Xcode 16 previews workaround) — with placeholders for screenshots under `/images/swift/`
  • Updates `docs.json` to swap the old top-level entry for a Languages group and adds a redirect from the old path

Pages

  • `languages/index.mdx` — overview + comparison table
  • `languages/rust.mdx` — `cargo add iroh` + hello iroh
  • `languages/python.mdx` — pip install + asyncio example, links iroh-ffi/python/main.py
  • `languages/swift.mdx` — full iOS + macOS Xcode walkthrough
  • `languages/kotlin.mdx` — cargo-make bindgen-kotlin flow + Android NDK notes

Test plan

test bindings using the installation steps from scratch

  • swift
  • kotlin
  • python
  • javascript

🤖 Generated with Claude Code

okdistribute and others added 10 commits May 15, 2026 17:56
Splits the single deployment/other-languages.mdx into a Languages
group with one page per officially-supported language: Rust, Python,
Swift, and Kotlin. Each page covers install + a working hello-iroh
snippet and links to the deeper conceptual material.

The Swift page is a from-scratch Xcode walkthrough (project creation,
adding iroh-ffi as a Swift Package, iOS-specific Network.framework
linker flag, macOS sandbox entitlements, the Xcode 16 SwiftUICore
previews workaround) with screenshot placeholders under
/images/swift/.

docs.json: replaces the top-level deployment/other-languages entry
with the new Languages group and adds a redirect from the old path.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Add per-language API reference stubs (python, swift, kotlin, js)
  mirroring the rust-api page, grouped under an "API References"
  nav entry in docs.json
- Add API-reference cards to each language tutorial page
- Update languages overview: replace community TS link with the
  official iroh-ffi JS binding, add a contact CTA for missing
  languages, drop em dash
- Convert connect-two-endpoints sections (Set up, Receiver,
  Sender, Wiring main, Run it) into 5-language CodeGroups
- Update Kotlin tutorial to use the new Maven Central artifact

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The published computer.iroh:iroh artifact does not ship a
multiplatform build. Flag this in the install section and move
Android / unsupported-host setup into the from-source path.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- New languages/javascript.mdx mirroring the other language guides
  (install, hello-iroh, two-peer echo, next-step cards), wired
  into the Languages nav group in docs.json
- Kotlin page reorder: Hello -> Next steps -> Foreground and
  backgrounding -> Building from source (now last). Add Android
  lifecycle guidance section.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Languages overview gains a per-platform support matrix calling
  out which prebuilt binaries each binding ships. Highlights
  macOS x86_64 as a gap (only Rust and Python cover it).
- JavaScript link points at /languages/javascript; platform
  notes column says "Node.js via N-API".
- JavaScript page: Android pulled out from under Linux, macOS
  flagged as no-Intel-build, Linux terminology aligned to
  glibc/musl.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant