Author: 
Christophe Clementi

Rumors are going on about Google considering using Swift, instead of Java, as main language for the Android development. Is this remotely possible? What are the advantages for Google? Is that Apple's fault?

Let's go back in time a bit and find out:

Since the first release of the Android SDK by Google (in November 2007), developping for Android was made using the Java language. However, it has always been a Java-inspired language, not using all the established Java standards, as for Java SE and ME. At that time, Java was a property of Sun Microsystems, who started its development in 1991. Google negociated with Sun the possibility of a partnership and licensing deals for Java, but no agreement has ever been reached. However, Sun was OK about this situation.

In January 2010, Sun is purchased by Oracle, which continued developping Java. Oracle also continued the discussion about a possible licensing deal with Google, once again without success. But, unlike Sun, Oracle decided to sue Google for copyright infringement in August 2010. No one really "won" this war, for now.

Back in more contemporary times. Last December, Apple decided to unleashed its Swift language as Open Source. This language, first unveilled in 2014, is an alternative to the cumbersome Objective-C for the iOS and OSX development. The feedback from the developers is great, and th easy-to-write language is starting to make a name outside the usually closed Apple world.

If Google was to change its programming language for Android, surely Swift would make a great contender : its fresh open-sourceness would not compromise Google's open-source mobile structure. But of course, it's not for tomorrow. Android would need a runtime for Swift (which doesn't exist yet), and Google would need to make its entire standard library Swift-ready (it's not the case neither), and Swift need to be able to also bridge with C++ (used in some low-level API in Android).

To conclude (and to answer my own question), no, Java will probably stay as the main language for Android programming for a long time. But this doesn't mean Google is not looking for other options to develop in parallel to step away from Java.

Newsletter