谷歌酝酿Swift作为安卓APP开发语言

安卓操作系统的软件开发语言是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”的一些问题。

本文分享自微信公众号 - 大数据钻研(bigdata118)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-05-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Ken的杂谈

【系统设置】CentOS 修改机器名

18030
来自专栏FSociety

SQL中GROUP BY用法示例

GROUP BY我们可以先从字面上来理解,GROUP表示分组,BY后面写字段名,就表示根据哪个字段进行分组,如果有用Excel比较多的话,GROUP BY比较类...

5.1K20
来自专栏haifeiWu与他朋友们的专栏

复杂业务下向Mysql导入30万条数据代码优化的踩坑记录

从毕业到现在第一次接触到超过30万条数据导入MySQL的场景(有点low),就是在顺丰公司接入我司EMM产品时需要将AD中的员工数据导入MySQL中,因此楼主负...

28540
来自专栏前端桃园

知识体系解决迷茫的你

最近在星球里群里都有小伙伴说道自己对未来的路比较迷茫,一旦闲下来就不知道自己改干啥,今天我这篇文章就是让你觉得一天给你 25 个小时你都不够用,觉得睡觉都是浪费...

20940
来自专栏钱塘大数据

理工男图解零维到十维空间,烧脑已过度,受不了啦!

让我们从一个点开始,和我们几何意义上的点一样,它没有大小、没有维度。它只是被想象出来的、作为标志一个位置的点。它什么也没有,空间、时间通通不存在,这就是零维度。

32130
来自专栏微信公众号:小白课代表

不只是软件,在线也可以免费下载百度文库了。

不管是学生,还是职场员工,下载各种文档几乎是不可避免的,各种XXX.docx,XXX.pptx更是家常便饭,人们最常用的就是百度文库,豆丁文库,道客巴巴这些下载...

44430
来自专栏钱塘大数据

中国互联网协会发布:《2018中国互联网发展报告》

在2018中国互联网大会闭幕论坛上,中国互联网协会正式发布《中国互联网发展报告2018》(以下简称《报告》)。《中国互联网发展报告》是由中国互联网协会与中国互联...

13550
来自专栏怀英的自我修炼

考研英语-1-导学

英二图表作文要重视。总体而言,英语一会比英语二难点。不过就写作而言,英语二会比英语一有难度,毕竟图表作文并不好写。

11710
来自专栏腾讯高校合作

【倒计时7天】2018教育部-腾讯公司产学合作协同育人项目申请即将截止!

15620
来自专栏腾讯社交用户体验设计

ISUX Xcube智能一键生成H5

51220

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励