-
Notifications
You must be signed in to change notification settings - Fork 256
Add Android blog post answering common questions and sharing more links and info #1249
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from 5 commits
183e379
6b5b166
7f8146f
b8e5651
cf95466
8a985a0
11dc348
a3fde70
9d115da
79c00a9
475de3b
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,80 @@ | ||||||
| --- | ||||||
| layout: new-layouts/post | ||||||
| published: false | ||||||
| date: 2025-11-21 10:00:00 | ||||||
| title: "Exploring the Swift SDK for Android" | ||||||
| author: android-workgroup | ||||||
| category: "Developer Tools" | ||||||
| --- | ||||||
|
|
||||||
| Since the announcement of [the preview Swift SDK for Android last month](/blog/nightly-swift-sdk-for-android/), | ||||||
| the Android workgroup has seen a lot of questions about how it works and what's next. Please read on for those answers. | ||||||
|
|
||||||
| ### Swift in the World of Android | ||||||
|
||||||
| ### Swift in the World of Android | |
| ## How Swift works on Android |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think these headings matter too much, but disagree with this change: all the technical content can get very dry, so I took the opportunity to make these headings more concrete and thus symbolic.
It would be a mistake to lose that and turn this post fully into something like technical documentation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Circling back, this and the additional heading revision are editorially consistent with the style of the blog. The swift.org blog uses headings as signposts that are descriptive in nature and make posts easy to scan.
Prose within sections can be adjusted to have more energy and personality, keeping in mind this particular post is on behalf of a workgroup vs an individual. If you can accept these changes, happy to review revised copy in the body to address your concern.
finagolfin marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
finagolfin marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
finagolfin marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
finagolfin marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
finagolfin marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
finagolfin marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
finagolfin marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
finagolfin marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
finagolfin marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
finagolfin marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
finagolfin marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
finagolfin marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
finagolfin marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
finagolfin marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
finagolfin marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
finagolfin marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| ### Coming up Next | |
| ## What's next for Swift on Android |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see no benefit to this change either.
finagolfin marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
finagolfin marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
finagolfin marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| ### Sharing Logic Versus Sharing UI | |
| ## Cross-platform code sharing using Swift |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd suggest a slight reframing of this section to focus on the value of cross-platform code sharing in Swift. The mention of GUI toolkits is useful, but I think it'd be more natural to mention that after explaining the value of cross-platform code sharing with Swift.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we have a few concise examples of the type of business logic that you'd commonly see shared between platforms? It'd be great if we could outline a few examples in one paragraph, before mentioning cross-platform GUIs in a second paragraph.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Again disagree with the heading change, but good point on the business logic example, will add that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree that putting some code in this post would be nice, the problem is that almost anything we add will be nit-picked. Instead, I added some text explicitly stating that Swift is for business logic on Android, and that the GUI tools linked have not been validated by us, though we intend to work with them going forward.
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| write in [our draft vision document](https://github.com/swiftlang/swift-evolution/blob/807b844be42db582e434d1667fc907ae7a7a8775/visions/android.md), | |
| write in [our draft vision document](https://github.com/swiftlang/swift-evolution/pull/2946/files), |
Let's point to the vision document via PR url.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't have a strong preference, but I linked it this way because it is better formatted for reading. Is there any reason you prefer this other link?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Readers will be directed to the most recent version of the Vision document as it is updated in the PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, I am aware that I'm linking to a particular commit, but I don't see a way to show the more reader-friendly view of the pull itself.
Since this pull hasn't been updated in a while, how about we keep this commit link, then I will update the blog post later once that vision pull has been merged? Once it is in the swift-evolution repo, it is easy to link to a constantly updated version that is reader-friendly. This commit link also should be fine because we don't anticipate substantive changes to the vision pull, only stylistic and minor edits from here on out.
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| ### Diving in | |
| ## Learn more and get involved |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same with this heading change: diving is a concrete physical action in the real world that most people know. I see no benefit to turning this into bureaucratese. 😉
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could "diving in" or "dive in" be incorporated into the prose in the section? That way you can keep the voice you're looking for, while being more-consistent with the blog's heading style.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd suggest revising this; currently it sounds like it's committing to future written content. Instead, perhaps it can framed along the lines of existing resources to learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That is what we're committing to, more written content.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Chatted with other members of the website workgroup about this; we'd like to avoid forward-looking statements here. We agreed that if Android use cases are shared as future blog posts, then it may make sense to update this post to link to them.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Finally, we intend to bring you interviews and information from those using Swift | |
| For those who want to learn more about Swift on Android, there are several notable interviews and resources |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| on Android already, as pioneering companies like [Readdle](https://readdle.com/blog/swift-for-android-our-experience-and-tools) | |
| available. Early Swift on Android adoptors [Readdle](https://readdle.com/blog/swift-for-android-our-experience-and-tools) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pioneers is better than "early Swift adopters"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Swift on Android has been a community effort for the last decade, snowballing | |
| Swift on Android has been a community effort for the last decade, expanding |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Prefer the real-world term
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| from that initial patch to many businesses and developers making their livelihood | |
| from an initial patch to a community of contributors and the Swift project's [Android Workgroup](https://www.swift.org/android-workgroup/). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This ties into the production examples above and is a better case the way it is.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| with it today. [Try out the preview SDK snapshots](/documentation/articles/swift-sdk-for-android-getting-started.html) | |
| [Try out the preview SDK snapshots](/documentation/articles/swift-sdk-for-android-getting-started.html) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.