VisionMobile:2014年Q3移动开发者经济报告(三):2、应用语言
来源:互联网 发布:node.js webpack vue 编辑:程序博客网 时间:2024/05/18 17:03
文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处http://blog.csdn.net/flowingflying以及译者@恺风Wei
2014年7月,visionMobile发表了最新一期的移动开发者经济报告。
作为超过1万名开发者调查的一部分,VisionMobile进行了有史以来最大规模的开发者应用开发语言的研究。
我们调查了两个内容:开发者在他们主要平台上构建应用的首选语言,以及他们使用的其他语言。将我们的数据和其他语言流行度研究的大量研究资料相对比会相当有趣,开发者使用这些信息可以帮助决策精力投资在哪里,而工具厂商可用来决定支持哪些语言。即便决定围绕Java语言来构建Android运行环境,也不是一个单纯的技术问题,而是受到数量庞大的现有Java开发者的影响,他们更容易吸引到一个看起来熟悉的平台。很多尝试围绕JS和Web APP构建的平台也有着相似的动机。图中,你可以看到哪些语言开发者超过1万,以及我们的排名与RedMonk、TIOBE之间的比较。
榜首的JavaScript和Java
我们数据显示JavaScript和Java位于榜首。这与最新的RedMonk排名的头2位语言向一致。RedMonk跟踪在GitHub中各种语言创建新项目的数目,以及在StackOverflow中相关tag的新问题数目。这些能很好地量度特定语言的代码和知识共享量。
我们研究显示,只有15%的开发者以移动浏览器为目标,而有42%正在使用HTML,CSS和JavaScript。这带来一个问题,其余的人用HTML5来做什么?在首选语言中,只有17%选择了HTML5。这意味着剩下的25%只在部分时间使用,或者在应用的部分中使用,这是非常流行的第二选择工具。
第二选择体现在位于TIOBE排行榜的第9位。TIOBE衡量各种语言搜索的活跃度,反映了所有软件中哪些语言具有最大量开发者(大部分开发者离开搜索引擎无法长时间工作)。另一个它在TIOBE排名低的因素是HTML,CSS和JavaScript组合只是在构建UI时有用,而这是大部分移动应用的初级组件,在整个软件考虑中较少关心。Java作为Android的原生语言,同时广泛用户服务器一则,好不奇怪,在各种排名中都位于首位或接近首位。
C,C++和Objective-C:流行但不分享?
我们排行榜的下一位是C和C++。基于性能因素,它们在游戏开发中很流行,很多现有库可以直接在iOS项目以及通过Android原生开发套件(NDK)使用。C++也是黑莓10的原生语言。C和C++是古老语言,绝大部分有趣的问题已被解决,大量的库已经写出,因此他们在RedMonk中排名不高。于此同时,它们在基于搜索的语言排行榜TIOBE中位于榜首,因为它们极为广泛地应用在嵌入式系统以及绝大部分各种类型的项目老代码库中。由于C和C++能提供高性能,但对于复杂应用并非高效,移动开发者倾向于在必要时使用,而非喜好。
Objective-C作为iOS开发的原生语言,在我们研究超过1万名开发者中,正如预期那样受到欢迎。然而,相反地,它在RedMonk排行榜中只名列第10。因为围绕平台缺乏开源文化,以及庞大的Apple专有开发者论坛社区。基本上是Apple专有的语言,大部分使用Objective-C的开发者都将之作为首选语言,特别是当我们在排行榜中去除爱好者和探索者后,发现剩下的都是全职的专业人士。
为你的客户创建合适的情怀,比建立算法或者技术更为困难。
Elizabetta Camilleri, 联合创始人 SalesGossip
C#以及排名在后的语言
微软的C#语言在我们的研究中排在第5,和RedMonk以及TIOBE的排序一样。有14%的开发者将之作为首选语言,在首选语言中排行第4,显著地比将Windows Phone作为首选平台的要多。微软在桌面计算的垄断,造就了熟悉微软技术和工具的庞大的开发者群体。他们中的很多在移动应用中继续寻求使用原有的技能。这使得微软的开发者青睐度比微软的设备市场份额要多很多。这同样提供了创建跨平台工具(特别是Unity和Xamarin)的机会,使C#开发者可将领先平台作为目标平台。
排在C#之后的有Visual开发工具,就整体使用而言,它排名相对低,因主要平台都提供某种拖放式的UI设计。也许,并非所有的开发者都将IDE built-in设计看成Visual开发工具。然而,作为首选语言,就所能提供相当有限而言,Visual开发工具出奇地流行。
最后,使用JavaScript但不使用HTML和CSS,将之编译的语言,例如:CoffeeScript和TypeScript是流行的跨平台工具,用于移动后端开发的node.js。在这后面,流行度迅速下跌,几乎没有开发者将他们做为首选开发语言,尽管在1%及以下有一个长尾。
相关链接:我的产业生态链和杂谈文章
- VisionMobile:2014年Q3移动开发者经济报告(三):2、应用语言
- VisionMobile:2014年Q3移动开发者经济报告(八):7、应用开发者工具的交易
- VisionMobile:2014年Q3移动开发者经济报告(九):8、多种类型的应用开发者
- VisionMobile:2014年Q3移动开发者经济报告(六):5、下一个淘金点:企业应用
- VisionMobile:2013年Q3移动开发者经济报告(十三):第十二章、应用经济的评估
- VisionMobile:2014年Q3移动开发者经济报告(五):4、正在消失的应用开发者中产阶级
- VisionMobile:2014年Q3移动开发者经济报告(七):6、游戏开发者国度的情况
- VisionMobile:2014年Q3移动开发者经济报告(一):关键信息
- VisionMobile:2014年Q3移动开发者经济报告(二):1、平台之争走向本地
- VisionMobile:2013年Q3移动开发者经济报告(三):第二章、生态系统经济:在逆境中竞争
- 【译】VisionMobile:开发者经济报告2015 Q3(三):移动平台:剩下两个?
- VisionMobile:2013年Q3移动开发者经济报告(十一):第十章、HTML5应用开发的万花筒
- VisionMobile:2013年Q3移动开发者经济报告(一):关键内容
- VisionMobile:2014年Q1移动开发者经济报告(三)2、平台的赢家和输家
- VisionMobile:2014年Q3移动开发者经济报告(四):3、原生还是非原生,这是个问题
- VisionMobile:2013年Q3移动开发者经济报告(二):第一章、2013年Q3设备领域的状况:拐点
- VisionMobile:2013年Q3移动开发者经济报告(六):第五章、多平台开发者:关键是优先级别
- VisionMobile:2013年Q3移动开发者经济报告(八):第七章、开发者对平板的兴趣直追智能手机
- android--笔记--TextUtils字符串处理类
- swift在 enum中使用函数
- MySql 存储过程实例(附完整注释)
- mysql实现sequence
- Note_20140807_Cprogram_Matlab-for C program_mxCreateNumericArray
- VisionMobile:2014年Q3移动开发者经济报告(三):2、应用语言
- FTP显示.htaccess的方法
- linux svn tomcat maven 自动发布打包
- Spring声明式事务配置管理方法
- VS2012运行Cocos2d-xTest案例加载失败解决方案
- 什么是套接字(Socket)
- 解决Android SDK Manager使用Goagent报错和使用FreeGate下载失败的问题
- 配置cocos2d-x的eclipse开发环境
- 默认构造函数