前几日,Kotlin被官宣成为新的Android一级开发语言,程序员就炸了锅。相比于其它行业,程序员估计是最有效率的一拨人了,这才时隔几日,新的框架SwiftKotlin就应运而生。SwiftKotlin到底是何方神圣?简单来说,它可以帮助程序员将Swift代码转换为Kotlin。SwiftKotlin框架的命令行工具和Mac应用程序由 Angel Garcia Olloqui开发,并且已经获得MIT许可。

根据项目描述,SwiftKotlin“将尽可能的将Swift代码转换为Kotlin代码。这其中包括字符串转换以及其他一些更加复杂的转换,如将guard语句转换为if语句,属性,内存管理等等。

androidkotlin代码规范(据说是Swift代码转换神器)(1)

图片来源于jaxenter

在我们深入了解Olloqui选择Kotlin的原因之前,我们先来看一下它有哪些限制吧。

Kotlin和Swift有相似之处,这是无容置喙的,但是它们之间还是有一些差异是无法互相进行转换的,而且这两种语言运行在不同的环境中,所以可以访问完全不同的框架和系统。

根据项目描述,SwiftKotlin不旨在将所有现有的方法和数据类型映射到Kotlin对应方案中,而是将语言本身进行翻译。 因此,“之后将需要手动编辑,特别是处理系统库时,开发人员检查输出是有意义且重要的。”

为什么Kotlin和Swift是天作之合?

“为什么会选择Kotlin?“这个问题是不是有点熟悉,好像前几天Kotlin在成为Android一级编程语言时,我们也曾这样发问。

SwiftKotlin诞生,而不是SwiftJava、SwiftGo或者是其他Swift组合诞生,这是因为Swift语法更接近Java,相对Objective C上手容易,而Kotlin增加很多功能,同时保持和Java完整的互操作性,所以Kotlin和Swift是天作之合。

如果您是Swift开发人员,您也会喜欢Kotlin。 它提供了最重要的Swift功能(扩展,泛型,lambdas等等),以及非常类似的语法。

如果您是Java开发人员,Kotlin将会是更现代更安全的语言,Kotlin代码可以对应成为可读性更强,也更加紧凑的Java代码。

根据Swift和Kotlin之间的相似之处,它们之间可以轻松转换,这也是我们今天提到的SwiftKotlin所具备的功能。

如何使用SwiftKotlin?

首先,SwiftKotlin带有2个可执行目标:

在使用XCode8 构建它们之前,需要确保运行git submodule update。

复制具有可执行权限的目录中的可执行文件。 通常,您可以使用:

,