译者@恺风Wei

VisionMobile在2015.2.17发布了新一期移动开发者经济报告2015年Q1:Developer Economics Q1 2015: State of the Developer Nation

2、Swift的崛起

学习一门新的编程语言意味着开发者的重大时间投资。虽然没有学习新平台API的时间那么多,但也不会轻松多少。

VisionMobile:开发者经济报告 2015年Q1:开发者国度状况(三)Swift的崛起_Hack

当然有些开发者在收集编程语言,尽可能地学习更多,为了乐趣或者提升他们对语言设计和编程艺术的理解。这样的开发者是很少的,采用新编程语言在典型开发者的生命中相对是罕有事件。基于这些因素,当一个领先平台推出一个全新支持的语言,正如Swift的情况,我们看到所发生的情况是非常有趣的。

近期的对比

幸运的是在判断结果时,我们不需要回看很久之前就可以比较。在过去7年,Objective C的开发者青睐度稳步攀升到现在的39%。当iPhone推出时,它是相对冷门的语言,只用在Mac,流行度接近历史最低。相反,Google在Android中使用Java,因为Java已经是最流行的编程语言,在早期移动开发中大量使用。值得注意,即使今日,优选iOS的开发者中少于半数(42%)的人主要使用Objective C。剩余的,有2%使用Swift,其他的使用某种跨平台或混合技术。

在iPhone推出之际,Objective C可能并不太流行,但它是成熟和稳定的语言。它也是当时平台唯一的选择。新语言替代的对比是Go。Google在2009年底宣布Go语言。和Swift一样,Go适合系统编程(也就是包括底层,高性能代码)。然而,Go并非为搭建移动应用而设计,它更适合在服务端开发高并行应用。这是某种需要针对上亿或者上十亿的移动客户端的后端,或者至少处理他们所产生的数据。

Go没能上登我们针对移动开发者的服务端编程语言的排行榜。事实上,它推出超过5年,青睐度只有5%。

空前的采纳情况

我们的超过8000开发者调查是在Swift推出只有4个月之后,是在iOS应用商店可以提交用Swift编写应用仅仅一个月之后。在这样的背景下,公平地说Swith的接纳程度是迄今为止史无前例的。在所有的移动开发者中有20%使用Swift,而2%将之作为首选语言。对于一个正在演进的语言,工具不成熟(Apple刚刚更新编译器,减少了很多崩溃),这是相当卓越的。Apple清晰表明Swift是平台的未来,这显然是有帮助的,Swift允许和Objective C混用,使其更容易尝试。然而,Objective C不会很快消失。Objective C仍是相当优雅的语言,但需要各种增加来使之现代化,这使其语法开始凌乱。开发者显然需要一个更现代和更灵活的语言。

即使我们从移动开发外来看,iOS显然对Swift起很大作用,显然之前没有任何语言像它那样如此被接纳。RedMonk从GitHub和StackOverflow的活动中跟踪各种语言的流行度,在他们最新的1月份排行中说道:“Swift成长的经历在这些排行中绝对是史无前例的。当一门语言大幅增长时,跳动通常在5~10个点之间,语言接近前20或在前20位,它就越难增长。然而Swift从2014年Q3我们榜单的第68位,跳到这个季度的第22位,跳了46个点。”

Swift开发者来自何方?

14%的Swift开发者使用Objective C作为他们的主要语言,这使人认为大部分的Swift采用者主要来自忠实的Apple开发者核心。然而他们中只有44%的开发者已在使用Swift,这只贡献了采用者的29%。他们中许多有着丰富的Objective C经验和多个项目的交付。他们不需要将生产效率放在学习一门没有稳定规范和成熟使用模式的语言上。最大的Swift采用群体(48%)来自那些使用Objective C但并不作为首选语言的iOS开发者范畴。事实上,对Apple来讲这部分开发者对Swift感兴趣是好兆头,在未来将会带来更多真正的原生应用。有23%的Swift采用者并不适用Objective C,这是Swift可能成功吸引更广大开发者来构建原生iOS应用的信号

对于那些新进入移动开发的,在早期获得一个重要新语言肯定具有吸引力。与之相应地,平台框架和许多有用的第三方库已经存在,且以Objective C的方式。至少在未来几年中,现实来讲,成为一个iOS开发者需要学习这两种语言。

“我们在学校中学习Java和C#,但我自学了Swift。我喜欢Apple的产品,他们的平台有着全部的最好客户。”——Aynsh Rawat,学生

PHP的困惑

 在我们服务端语言排行榜上有值得和Swift比较的语言。移动开发者中最流行的用于构建他们的后端基础设施的是PHP,有点出人意表。令人惊讶是因为在那些不使用PHP的开发者中几乎一致认为PHP不是一个在重大工程中使用的伟大语言。事实上,快速搜索“为何PHP烂(Why PHP sucks)”,会得到无数的结果,有些来自备受尊崇的计算机科学家,从10年前就有。它只有一点点出人意表,是应为PHP是世界上最流行的语言之一。它被WordPress所使用,WordPress掌控着比其他内容管理系统更多的网站,估计在互联网上超过20%。它也是最初实现Facebook的语言。然而,Facebook在扩展系统时PHP出现问题,并初步构建一个编译器将其转换为C++,然后创建了一个新的虚拟机(HHVM)用于更快地运行PHP代码。他们还在去年推出新语言Hack,改善了很多PHP的弱点,并加入某些现代语言特性。他们将很多代码转换为Hack。

与Swift相比是有趣的。和Swift一样,Hack由美国科技巨头创建并支持。Hack和PHP之间的相互操作与Swift和Objective C之间的相互操作类似。Hack在PHP上有某些显著的提升,正如Swift之于Objective C。Hack在Swift前几个月推出,然而在我们调查中没能看到它,它也没能出现在RedMonk和TIBEO编程语言排行榜上。为什么不能?PHP容易搭建和学习。用它很容易去做一些常见的web相关任务。它帮助开发者有效率,使某些工作更快。一个更好的PHP听起来好像它会在赢家的位置。Apple做了什么正确的,而Facebook没有?是否是开发者的信任,又或者Hack不能解决大多数PHP开发者的问题?在任何情况下,很明显,标准开发者社区对一个新语言的响应是惰性和谨慎的,而对Swift的响应比我们之前所见过的都更为积极。