If you are a developer, unless you’ve been hiding under a rock, you will without a doubt have heard that Google is considering adopting Apple’s Swift programming language for Android 3rd party app development as an additional language.
What is the big issue?
One of the biggest issues when it comes to app development is that a lot of developers (particularly smaller/low budget developers) would want to develop for iOS first as they have larger download numbers compared to Android apps, unless you’re a big developer you would be getting similar numbers on both platforms.
To encourage developers to create software for the Android platform, Google is likely thinking of implementing Swift as an alternative language.
What is good about this?
The primary reason for this is to make a single programming language more universal across the entire mobile app development industry.
For example, if you developed an iOS app in Swift, you would be able to use the majority of the same code you manually put together with minor tweaking to suit Android’s requirements for development.
This is crucial for smaller developers because instead of learning a new language from scratch, you only need to learn the minor differences for each platform and the turn-around time for supporting both platforms would be dramatically reduced.
To put this in another perspective, it is like the following:
Swift iOS to Swift Android: Learning Australian English to then learn American English.
Swift iOS to Java Android: Learning Australian English to then learn French.
This is important because Swift is a well-liked programming language mainly because it is simple to learn, easy to work with and is very fast in terms of performance.
What is bad about this?
If Google were to adopt Swift as an alternative language for developers to use, there would be two main issues:
Produce Compatible APIs for Swift on Android:
With Swift being an open source platform, Apple has made publicly available the code that developers would type to produce their software.
What Google would be required to do if they were to adopt Swift, is to make Swift compatible APIs which are frameworks that work with the Android operating system, which works on the Android hardware to make the code that Swift developers would produce, actually work.
The issue with this is that it takes a long time to create all of these frameworks and may chew up a lot of staff and available resources in Google’s Android development team to help add this supported language.
Lots of Android Developers would not know Swift:
Android Developers of all different experience levels, know how to program in Java which is the programming language that has been used since Day 1 for the Android platform.
This would require a lot of developers to either:
- Stick with Java as that’s what they are familiar with and not take advantage of the Swift language including faster performance, easier to program etc.
- Learn an entirely new language (regardless of how easy it might be for them to learn it).
The one thing that this rumour suggests is that Swift will be an optional language and not compulsory, so a lot of developers are probably going to want to stick with Java.
Old Model Compatibility:
If and when Google releases support for Swift, will be available on the latest version of Android and newer or will it support older models as well?
I honestly reckon it will only be on new versions of Android and there would likely be no backwards compatibility support for the frameworks of which we would run into a bigger fragmentation issue, at least initially.
With Android a lot of smartphones generally get the most up to date version of Android at the time of release and possibly the update after that, but extremely rarely they would get the operating system updates after that. Android also has the issue of having extremely long turn-around times for distributing the new software updates to as many smartphones and tablets as possible (excluding Nexus devices which get updates instantly).
I honestly reckon there is a 50% chance that Google will adopt the Swift programming, but I am curious to know:
“If you are a developer do you want Swift support for Android? Why or why not?”
In my case, I 100% want Swift on Android as that is one of my primary programming languages that I program in and find it a lot easier to produce code then other languages including Java, but that is just my personal opinion. There are obviously advantages of better performance compared to an outdated version of Java but I am really concerned when it comes to support for older version of the Android operating system and if this will even be possible regardless of how long it takes to push out updates.
Leave a comment down below, I’d like to hear your opinion.
If you enjoyed this please give it a like and follow me for more posts like this in the future.