By far, I am sure you must have stumbled upon flash-in-the-pan controversy over Google “forking” Apple’s open-source programming language Swift. However, it seems more like a “what is going on” sort of story than any prediction of the future. As Swift’s creator Chris Lattner (who now works at Google) helpfully clarified the situation by tweeting:
Which means the tech giant simply aims to work on the copy of the code in order to make a few changes and “upstream” to the official Swift repository. In fact, it may quite interest you to know that these changes have already landed as a pull request to the main swift repo: Fuchsia support (via Android Police). Now Fuchsia being a secret operating system of Google is developed in the open. But the question is what it’s built to replace (Android? Chrome OS? Both? Neither?). The core of the operating system is mostly written in C and C++, Go, Rust, Python. And it is revealed that Swift technology will also be added to the mix. Even though it was invented by Apple and used as a replacement for Objective C used for iOS development whereas Google is stuck mostly with Java, and now Kotlin, for Android.
After creating the fork the Android team has now issued a pull request to have their modification incorporated into the official Swift repo.
“Initially, it adds support for Fuchsia OS to the compiler. After that it adds support for building for Fuchsia in the stdlib.”
This change also introduces lld linker support to the build system and fixes a number of issues related to cross compiling Swift to platforms that do not support universal binaries. As part of this change, non-Darwin libraries in the standard library are now stored in lib/swift/<platform>/<arch> instead of lib/swift/<platform>.”
Is There Any Chance For Instant Portability?
Of course not, just because one can compile Swift to run on Fuchsia doesn’t mean you’ll be able to instantly port any iOS app to Google’s new OS when or if it ships. Apple already has open sourced language that is mostly used for IOS platforms. Therefore, code that relies on those closed Apple libraries won’t be portable.
The only possibility is when you use the platform to write the “core logic” of your app in your language of choice — Swift, Go, Rust, JavaScript, etc. After which you build a custom UI for each platform, i.e. android, iOS, Fuchsia, Linux, Windows, the web — of course, using the appropriate tools for each.
Conclusion
Modifying a language to work with a particular operating system is a matter of changing the system calls for things like I/O and process management so there are unlikely to be any noticeable changes to the language as used by a programmer. What Apple might make of Google’s involvement with “its” language we can only speculate, but it is safe to say that it isn’t going to have much impact on Swift. Anyways, that’s all for now! Keep watching the space and share your point of view in the comment section below.
Author is a Marketing Manager at eTatvaSoft – web, ecommerce & mobile app development company in India. He writes about Technology Trends, Leadership and many more things about IT services and enabled people to learn about new technologies through his online contribution. And follow him on Twitter.