最近,国外著名的技术问答社区Stack Oeverflow发布了一个技术报告,里面包含了关于开发者对于技术好恶程度的调研结果,非常有意思,InfoQ也做了相关的新闻报道,不过里面更多的是数据,缺少了数据背后的分析,希望这篇文章能够结合数据来探讨其背后的原因、启示等等,对开发者有所帮助。
先说说这篇报告的代表性,据说,Stack Overflow的问卷调查在今年2月份通过它们的网站进行,内容为全英文,并且在各大社交媒体上进行广告宣传。来自总共157个国家的超过2万6千名开发者回答了问卷中的45个问题。虽然,Stack Overflow特别提示大家其调查结果无法全面准确地反映出全球各种开发者的真实情况,但我却认为其结果很具有代表性,试想哪个开发者问卷能够获得如此多的采集样本,其反应的趋势和问题值得我们认真的分析和思考。
接下来,让我们看看编程语言(也包括部分框架)在开发者中的使用程度。 看这张图:
解读:
说完了每个语言,我们再总体看一下趋势。对比2013和2014年的调查结果,今年的报告显示大多数语言开发者使用率都有所降低,这表明主力语言正在受到各种新语言、新技术的影响和冲击,开发者的选择越来越多,一方面是好事,另一方面也会导致“选择焦虑症”,技术选型成为开发者经常头疼的问题之一。
接下来,我们看另外一张图。
我想首先解释一下表格中的三列含义,第一列表示开发者在使用某项技术或者语言时对其喜爱的程度;第二列表示开发者在使用某项技术或者语言时对其讨厌的程度;第三列表示开发者还没有使用但是想要使用某项技术或者语言的程度。
先来看喜爱程度排行榜,不出意外,基本上都是新语言或者老语言的新版本,像Swift、C++11、Rust、Go,都属于比较小众的语言,但也代表了技术未来的趋势,一方面说明正是这些新语言的特性吸引了开发者,另一方面也说明亲身实践的开发者也对这些语言表示了赞许。没有上榜或者排名比较靠后的新语言说明不太得人心,开发者们要小心了。
接下来是讨厌程度排行榜,榜单上的名字(Salesforce、VB、Matlab、Perl)只能说让开发者又爱又恨,这些语言或者技术之所以上榜,一方面说明其行业地位优势明显,开发者不得不用;另一方面,问题有很多,让开发者很不爽。所以对于榜单上的名字,我们一方面要祝贺它们:你们很牛,是业界的佼佼者,大家都要用你们的东西;另一方面,我们也需要提醒它们:要不断的优化和改进,要聆听开发者的声音,不然竞争对手会抢走开发者的心。
第三列同样反映了技术趋势。这些是开发者最想学习的技术或者语言,包括Android、Javascript、Python、Node.js、Java、iOS、Swift等,看看这里面有没有你想要学习的东西?如果没有,那就要思考一下自己的方向有没有问题。
其实关于这个报告的解读应该到这里结束了,但是考虑到目前移动开发者特别多,而且报告中多次提到了iOS、Android、Java、Object-C、Swfit语言等,所以我引用另一份VisionMobile的移动开发报告把移动开发的语言、收入等情况再展开说一下。
从平台来看,iOS在高端市场仍占据领先位置。
Android则在中低端市场占据霸主地位,几乎达到“几乎人手一部Android手机”的程度。
当然还有Windows Phone,与2013年3季度的21%相比,Windows Phone的开发者占有率有所增长,达到30%,不过调研中也指出Windows Phone的市场份额很小,只有3%。报告中提到“美国最大的两家银行——摩根大通和美国银行,已经失去耐心决定从微软平台上下架他们的应用”,不过“相比于安卓平台,这种大品牌应用的差距让独立开发者能够获得更多的曝光机会并且能够为他们带来更多的收入。”作为开发者首选平台,Windows Phone的份额稍有增长,从2013年的4.5%增长到8%。
Swift的前景如何呢?看看报告中是咋说的。
作为iOS平台的首选语言,Objective-C目前拥有39%的开发者份额。比较有趣的是,只有42%的首选平台为iOS的开发者将Objective-C作为首选语言。其他的开发者则将混合或跨平台解决方案(56%)或Swift(2%)作为首选。
Swift,苹果在iOS平台上的新语言,由于其刚刚发布几个月就有如此“空前的”采用水平,在这次的报告中获得了单独一章的篇幅。全部的开发者中有20%使用Swift,2%将其作为首选语言。48%的Swift采用者同时也使用Objective-C,但是并未作为首选语言,而23%的采用者并未使用Objective-C。这被看作是“一个对苹果有利的信号”因为“它能够在将来带来更多真正原生的应用”。剩余29%的Swift早期采用者已经将Objective-C作为他们的首选程序设计语言。
从平台的角度比较,iOS平台的开发者的收入最高,其次是HTML5和安卓的开发者。61%的iOS平台开发者每月收入小于$5k,而HTML5开发者的这一比例是71%,安卓是81%。iOS开发者比安卓开发者收入更丰厚的同时,他们在软硬件方面的支出也更高一些,这让两个平台之间的差异有所减少。
64%的开发者的首要目标市场是消费者市场,只有20%的开发者将企业市场看做他们的主要市场。不过在收入方面,只有19%的消费者应用开发者每月收入高于$10k,而企业应用开发者的这一比例是43%。
作者的微信公众号“老崔瞎编”,关注IT趋势,承载前沿、深入、有温度的内容。感兴趣的读者可以搜索ID:laocuixiabian,或者扫描下方二维码加关注。