I would like to announce a project that is in the works, Swift-CC, which is an open source project aimed at bringing the Swift the language to the Android platform, and potentially others as well.
The scope of this project is defined here. In a nutshell, this project project focuses on making the core Swift language cross platform. It does not include supporting SpriteKit, Foundation, UIKit, or any other proprietary Apple frameworks or APIs. The goal is to be able to develop applications using Swift as a language and run those applications on any platform. The first platform being worked on is Android.
The current status of the swift-cc project is that it can currently build Objective-C and Swift sources for Android using a custom toolchain. The toolchain makes use of LLVM-IR as a common representation so that it can compile Swift with the Apple Swift compiler into IR, and then use the LLVM compiler to convert the IR to Android object files.
In order to execute the compiled Swift code you need both an Objective-C and Swift runtime. Here is a related open source project to build an Objective-C runtime. This project currently builds but does not link into a static library due to some undefined references that I am working on. I have created a forum topic to discuss questions and solutions related to completion of the Objective-C runtime for use with the Swift-CC project.
Once the Objective-C runtime works, then implementation can begin on the minimal Swift runtime, which looks to be a handful of methods that are the glue between what the Swift compiler produces and the Objective-C runtime.
This project was originally started by looking into whether we could use Swift as a language to control Cocos2d-x. There is a set of bindings available here that allows you to build Cocos2d-x apps using Swift for iOS and Mac. There is also a complete sample game written using these bindings in the Cocos2d-x samples here. The logical next step is to port this effort to Android and other platforms by building an open source Swift toolchain and runtime.
Swift turns out to be a great choice for a language. It is fast, faster than Objective-C, but also since it depends on Objective-C it means you can subclass the bindings to Cocos2d-x. This means that you can extend the bindings using categories or by subclassing, and those changes will be instantly available to Swift. Swift is also better than C++ because it is easier to master, and is less error prone. It is also much faster than Lua or JS, making it an ideal choice as a language for Cocos2d-x.
This is a pretty major undertaking and so I heartily encourage anyone and everyone to take a look, give feedback, comments and suggestions using the forum, and also to fork and contribute as we move forward.
Thanks
Justin