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软件。google
不过,Swift不可以轻易到“拷贝黏贴”到其余操做系统上,若是谷歌要将其做为安卓开发语言,谷歌首先必须开发一个Swift的“运行时库”,这还只是第一步。操作系统
谷歌还要把整个的安卓应用软件开发库移植到Swift上,另外各类软件开发结构和开发包,都要支持Swift语言。据称,目前安卓底层的开发接口采用C++语言编写,Swift不可以轻松兼容,所以谷歌可能要重写编写这些接口的代码。htm
另外在使用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”的一些问题。
本文转载自http://tech.qq.com/a/20160408/010216.htm