谷歌酝酿将Swift作为安卓APP主要开发语言
TNW中文站 4月8日报道
安卓操作系统的软件开发语言是Java,而在过去几年中,有关Java的版权,谷歌和甲骨文之间发生了长期的诉讼。最新外媒消息称,谷歌正在考虑将苹果开发的Swift作为未来安卓软件开发的“一级”语言,此外Facebook、Uber等公司也开始越来越重视Swift的使用。
据美国科技新闻网站TheNextWeb引述知情人士报道,此前苹果Swift转变为开放源码语言,而谷歌、Facebook、和Uber三家公司的代表曾经在英国伦敦开会,专门讨论Swift语言,谷歌决定逐步在安卓系统中采用这种语言。
Java目前是安卓开发最为重要的语言。消息人士表示,至少在最初阶段,Swift语言不会取代Java的重要地位。目前谷歌和甲骨文之间有关Java的诉讼仍在持续中,引发了外界隐忧,消息人士称,谷歌认为Swift和Java相比有着广泛的优势。
Swift目前是一种开源语言,这意味着谷歌可以将其应用到安卓软件开发中,同时不改变安卓的开源移动架构。
谷歌会这样做吗?
Swift由苹果公司开发,目的是取代古老的开发语言Objective C。Swift很快获得了苹果开发者的欢迎,据称软件代码更容易编写、没有其他语言的复杂参数结构。
Swift语言在2014年苹果全球开发大会上发布,随后获得了许多科技公司的支持,比如IBM、专车公司Lyft、Vimio、Pixelmator等都在使用Swift语言开发自己的iOS软件。
不过,Swift不能够轻易到“拷贝黏贴”到其他操作系统上,如果谷歌要将其作为安卓开发语言,谷歌首先必须开发一个Swift的“运行时库”,这还只是第一步。
谷歌还要把整个的安卓应用软件开发库移植到Swift上,另外各种软件开发结构和开发包,都要支持Swift语言。据称,目前安卓底层的开发接口采用C++语言编写,Swift不能够轻松兼容,因此谷歌可能要重写编写这些接口的代码。
另外在使用Java高级开发接口方面,Swift语言也会遇到麻烦,谷歌需要做一些重写代码的工作。
不过,将Swift作为安卓主要开发语言,从技术上并非不可能。去年底,知名软件开发员Romain Goyet曾经试验用Swift来开发安卓软件,并且取得了成功。他的试验发生在苹果将Swift开源之前,但这也证明Swift可以用于安卓软件开发。
据悉,上述的试验使用了“安卓NDK”工具,这一工具也能够让其他开发语言应用于安卓开发。不过,因为Swift已经转变为开源语言,此外背后还有谷歌的支持,因此未来如果作为安卓主导开发语言,开发者可能不再需要这一工具。
总体而言,如果使用Swift语言,谷歌可能要重新进行围绕Java的相关工作。
Kotlin语言
消息人士还透露,谷歌也曾经讨论是否将另外一种语言Kotlin作为安卓开发的一级语言。
和Swift一样,Kotlin也是面向对象的语言,更加关注软件的安全性。不过和Swift不同的是,Kotlin能够在谷歌提供的安卓开发工具“Android Studio”中。
不过,消息人士透露,谷歌相关团队目前认为Kotlin语言在进行编译时,速度有些慢。
Kotlin语言被认为能够应用于任何Java语言运行的环境中,另外一些开发项目也能够无缝支持混合使用Kotlin语言和Java。
如果谷歌将Kotlin语言作为安卓开发主要语言,那么谷歌需要做的移植工作相对少一些,但是开发者可能面临艰难的过渡。
Facebook和Uber
因为Swift的一些技术优势,Facebook已经开始重视这种语言。Swift的优势之一,是能够同时作为后台开发和前端开发的语言。对于Facebook这样的社交网络产品而言,这种特点很有帮助。比如移动应用软件和服务其能够无缝通信,另外Facebook也能够更容易推出各种服务的开发接口。
Facebook已经开始使用Swift进行开发。最近在开源项目存放服务Github上,出现了一个名为“Port to Android”的项目,由Facebook的员工开发。不过目前还不清楚这是否是Facebook官方正式的开发项目。不过可以证实的是,Facebook内部已经在使用Swift语言,只是不为外界所知。
和谷歌、Facebook相比,移动专车公司Uber使用Swift语言的道路更加明晰。Uber在开发中也存在大量的服务端、开发接口等,不过竞争对手Lyft使用Swift,给Uber提供了一个参考的榜样。
何时会采用Swift?
不过短期之内,Swift还无法作为安卓开发的主导语言,主要原因是安卓操作系统需要做好大量的准备工作。
不过,Swift语言正在星火燎原。一些研究显示,Swift目前已经成为全世界发展速度最快的程序开发语言,另外转向开源之后,更是出现了火箭式暴增。GitHub披露,在其平台上,Swift的流行度排名第11位。
另外,市场对于Swift开发员的需求正在迅速增加,至少表明一些科技公司正在探索用Swift开发软件。
不过,谷歌安卓操作系统使用Swift的道路很漫长,其需要重写安卓的每一个系统服务、软件和开发接口。谷歌也必须提供很多的支持工作。
另外,谷歌实际上已经在离开甲骨文主导的Java语言,谷歌已经在使用安卓的“Open JDK”,而不是甲骨文拥有版权的Java API,另外谷歌也开始考虑“后Java”的一些问题。(晨曦)