Main image of article Three Years In, Is Swift Ready for Android?
[caption id="attachment_141020" align="aligncenter" width="5228"] Swift WWDC 2015 Swift WWDC 2015[/caption] Swift is a big deal in the world of iOS development, but will it catch on elsewhere? Linux has its moments with the language (thanks to IBM), but Google Android is still evading it, making us question whether it's even ready for the other half of the mobile world. Talk of Swift for Android has been around since day one. It kicked into high gear early last year when developer Brian Gesiak began issuing pull requests on GitHub. Posting to the official Swift repository, Gesiak slowly made his case. He has been picking away at it since, with two pull requests issued last month directly related to getting the language up and running on Android. Elsewhere, talk of Google considering it as a first-class language for its mobile platform has quieted. In that time, Go has become exponentially more popular, and upstarts such as Kotlin have made waves in the Android development community. The Android Studio IDE has also rounded into shape. There have also been satellite challengers to Android development. React Native is coming on strong, though there’s reason to believe Google will follow Apple in blocking apps that use dynamic third-party libraries that typically use React. That’s not a direct affront to React, but it’s close. Swift itself has grown in that time; if you search for how-to guides on writing Android apps in the language, there’s a good chance you’ll run into tutorials from 2015 or earlier. Since those were written, Apple’s positioning on open source has changed dramatically, effectively shifting the goalposts for cross-platform development. If you want to get a more formal education in Swift for Android, GetTopical has a new course you might be interested in. According to 9to5Mac, the first three-day course will start next month, and run you €599. From the GetTopical website:
By attending this course you learn how to program for Android App written in Swift language, thanks to which you can easily perform the porting of iOS on Android projects and / or develop multi-platform App. This course is suitable for those who are already a Java programmer, C #, Objective-C, Swift, etc etc and want to develop in Swift App for Android. Topics are updated to the latest version Android.
[caption id="attachment_140186" align="aligncenter" width="2602"] Swift Source Stability Swift Source Stability[/caption] As you can tell by the preamble for the course, it’s not for the faint of heart, and definitely not positioned for new developers. Swift is for newbies, though; many tutorials on the language are aimed at those who have little to no experience programming. Even top MOOC courses from Treehouse, Udacity and others offer guided lesson plans for those who haven’t even downloaded Xcode yet. But Apple’s language isn’t quite ready for its own platforms yet. While a growing number of iOS apps have migrated, Swift still lacks ABI stability. That’s on the roadmap, but it’s a stumbling block for a language nearing its fourth full-fledged iteration. Developers still lean into Objective-C for framework and libraries. Swift isn't even standing apart on its own platform yet, so Android feels like a pipe-dream right now. Apple's language may be workable on Android, but it’s not ready for strong consideration – at least not yet. Though Android is open source, Google has begun exerting control over its variant. It’s hard to see Google purposefully blocking Swift, but if it were to ‘bless’ Go or Kotlin, or continue deeming Java as the go-to for its platform (especially with regard to APIs), it would still effectively keep Apple's language at arm's length. In any case, Swift is rapidly gaining steam outside of Android, so whether or not it’s officially supported may be moot. As it matures, so will the various workarounds developers use to make it viable outside of the iOS ecosystem. Swift may seem like the language that will get us to the ‘write once, deploy everywhere’ land of milk and honey, but the Powers That Be have their own reasons for preventing that.