开发工具选择和使用情况调查51CTO专项调研2011年7月目录2第一部分:受访者基本情况分析第二部分:Web开发工具选择情况分析第三部分:Web开发工具使用行为分析内容页数61221项目背景目前,基于各种开发平台或语言的Web开发工具层出不穷,其热度、知名度和排名几经更迭。Web开发工具种类的丰富增加了选择的范围,同时也增加了选择成本。从学习的时间成本到就业前景考虑,哪些开发工具目前使用更为广泛?应该重点学习哪种开发工具?一直是困扰着准备或已经进入到Web开发行业并立志于此的人们。各大IT技术网站、技术论坛等对各种开发工具的界面美观、结构化、直观易学、通用性等的看法和观点也是见仁见智,有时甚至大相径庭。可见,评价“哪种开发工具最好”是一个费力不讨好的工作,因为根本没有完美无缺的开发工具。但是,来自不同团队的程序员、技术经理、技术总监,都对51CTO表达过一个观点,那就是使用合适的开发工具,会对团队的开发效率产生明显的作用。51CTO组织了本次调研活动,希望对开发工具的使用情况进行更加深入的了解。很显然,通过本次调研我们不能给出一个“哪种开发工具更好”的肯定答案;但是,我们可以从这次活动中了解到不同职位、不同工作年限的开发人员,他们选择和使用开发工具的情况;以及不同规模的开发团队,他们对开发工具的选择又是怎样,从而协助我们为自己的开发团队选择正确的工具。3调研执行数据收集方式本次调研采用线下沙龙活动与线上填写问卷两种方式收集数据。4参与反馈的人员构成情况•工作年限从入行不到一年的IT新人,到摸爬滚打多年的IT精英。•有人从业于1-10人的微型研发团队,也有人就职于研发团队在50人以上的大型软件研发公司。•职位覆盖了从开发工程师到技术总监等多个岗位。研究方法本次调研采用了对比研究、交叉分析等研究方法。执行周期本次调研历时两个月,共收集有效问卷1680份。结果概要51开发语言选择1.1PHP、ASP/ASP.NET、Java及相关语言,都具有广泛的应用性。1.2Java及其相关开发语言在不同规模开发团队的应用存在较大差别。2开发工具选择2.1集成开发环境广泛应用于各类型研发团队,是不同岗位研发人员普遍欢迎的开发工具。2.2“稳定,很少崩溃”是选择集成开发环境的重点考虑因素。3使用行为分析3.1“项目变动”是程序员更换开发工具的主要因素。3.2“专业网站的推荐”是获取开发工具信息最主要得渠道。3.3“更加稳定”程序员对开发工具改善的最为重要的需求。详细内容请查阅报告正文!受访者基本情况分析61开发年轻人的事业互联网是年轻的行业,而Web开发工作更是年轻人的天下。•根据51CTO调查,一半多的Web开发者年龄在23到26岁,这个年龄正好是22岁大学毕业后的事业期,处于27岁到30岁事业上升期的Web开发者有21%,占5.8%的Web开发者超过30岁。•这样的年龄段充分说明Web开发者大多数是青壮年,能适应超长时间加班和快速的项目反应,相信各位网站技术人员,经常会有半夜被叫醒处理“404错误”等问题的经历。•本科Web开发者占51%,大专占41.3%,以往占据程序员半壁江山的中专生已经消失殆尽,硕士以上学历者是金字塔的顶端,相信他们的职位也不会是很基层的职位。18-22岁18.1%23-26岁55.1%27-30岁21.0%30岁以上5.8%图一:受访者年龄构成7高中/中专1.4%本科51.4%大专41.3%硕士5.8%图二:受访者教育程度构成*数据来源:51CTO2011年专项调研受访者基本情况介绍1年及以下29.0%2年29.7%3年14.5%4年9.4%5年及以上17.4%图三:受访者工作年限8架构师1.7%研发工程师50.0%技术总监4.3%前端开发工程师27.6%技术经理3.4%技术主管12.9%图四:受访者职位情况Web开发者工作年限半数以上集中在1-2年,职位方面研发工程师占据开发者半壁江山•参与本次调查人员工作年限多集中在1-2年,占据总数的58%,符合整个行业的现状。•工作一年的Web开发者大多是个人网站站长,他们基本是从个人兴趣出发从事Web开发工作。•工作两年的一般在北上广深等城市还不具备结婚的条件,这也比较方便互联网公司将Web开发者拉到郊外,进行封闭集中开发。•研发工程师在本次调查中占据了50%,受访者职位类型符合IT业职位金字塔模型。*数据来源:51CTO2011年专项调研Web开发者的职业金字塔9•下图可以看出,工作在三年以下的Web开发人员多为研发岗位,以前端开发工程师和研发工程师为主。•Web开发工作经验4-5年,逐渐由操作岗位向管理岗位转型,技术主管及以上管理岗位比例大幅增加。•当Web开发者到达30岁这个事业里程碑时,基本上都要晋升到技术主管或者项目经理层次才能继续从事Web开发工作,其余的Web开发者将经历痛苦的职业转型,这也是其他程序员不得不经历的过程。21.2%17.6%34.3%8.1%8.0%78.8%48.5%34.3%37.8%30.0%5.9%14.3%27.0%46.0%27.9%17.1%27.0%16.0%1年及以下2年3年4年5年及以上图五:工作年限与工作职位技术经理及以上职务技术主管研发工程师前端开发工程师*数据来源:51CTO2011年专项调研受访者工作背景情况10•Web开发人员几乎全部有过参与HTML,CSS和JS的工作经历。•jQuery等JS框架可以说是他们中最常用的框架。良好的页面展示性和极佳的用户体验,是JavaScrpt成为Web开发者最青睐的原因。•对于最新的HTML5标准,已经有33%的Web开发者进行了尝试。在国内,已经有类似网易邮件等HTML5应用上线,未来HTML5的普及率将更高。•而与HTML5想对应的Flash和Silverlight,尽管使用人数不多。但是这两款技术在大型互联网应用上还是有其优势,更多的功能性是他们的长处,唯独在系统消耗方面略逊于HTML5。Web开发行业区别于大型企业级软件开发公司的人员结构,2-10人的开发团队规模占总数近60%。17.4%33.3%78.3%92.8%Flash/Silverlight尝试过HTML5使用jQuery等JS框架HTML+CSS+JS图六:受访者主要工作经历1人7%2-10人59%11-49人29%50人及以上5%图七:受访者所在团队规模*数据来源:51CTO2011年专项调研开发人员类型划分及介绍11职位研发团队规模工作年限技术总监架构师技术经理技术主管研发工程师前端开发工程师50人及以上11-49人2-10人1人5年及以上4年3年2年1年及以下基层研发人员中层管理人员高层管理人员小型开发团队、爱好者中型开发团队大型开发团队刚刚入行经过了若干项目的实战经验丰富的程序员受访者类型划分类型介绍12Web开发工具选择情况分析2开发语言选择不同工作职位13LAMP架构(Linux+Apache+MySQL+PHP)是目前中国网站采用最多的技术架构,这也导致中国众多的Web开发者靠PHP技术为生。•不同职位的开发者,开发语言主要集中在PHP、ASP/ASP.NET、Java/JSP三种语言上•技术经理除外PHP语言在不同职位上,占据第一开发语言的位置。50.0%57.8%77.8%50.0%100.0%66.7%42.1%28.1%33.3%50.0%33.3%50.0%36.8%43.8%27.8%75.0%66.7%33.3%5.3%7.8%22.2%50.0%前端开发工程师研发工程师技术主管技术经理架构师技术总监图八:工作职位与开发语言选择PHPASP/ASP.NET(C#/VB)Java/JSP,以及其他类Java语言其它*数据来源:51CTO2011年专项调研开发语言选择不同工作年限14•从工作年限看,开发人员不存在随着工作经验的增长出现对某种开发语言的偏好。•排名前三位的语言在不同工作年限的开发人员中都占有较大比例的应用。50.0%66.7%51.9%57.9%48.3%33.3%24.4%48.1%42.1%44.8%40.5%42.2%33.3%36.8%37.9%14.3%11.1%22.2%26.3%13.8%1年及以下2年3年4年5年及以上图九:工作年限与开发语言选择PHPASP/ASP.NET(C#/VB)Java/JSP,以及其他类Java语言其它*数据来源:51CTO2011年专项调研开发语言选择研发团队规模15•在50人以上的开发团队,Java以及其它Java语言由于其自身的特性,在大型企业级软件的开发过程中是主要的开发语言。•在50人以下的开发团队,PHP与Java及其相关语言具有同样的影响力。20.0%60.8%57.1%28.6%50.0%39.2%31.0%60.0%26.5%57.1%85.7%20.0%13.7%21.4%28.6%1人2-10人11-49人50人及以上图十:研发团队规模与开发语言选择PHPASP/ASP.NET(C#/VB)Java/JSP,以及其他类Java语言其它*数据来源:51CTO2011年专项调研开发环境的选择16开发环境•根据此次51CTO调查显示,87.7%的Web开发程序员使用Windows平台进行开发,12.3%的程序员选择Linux进行开发。这基本吻合目前中国计算机用户的操作系统比例。•在Web开发工具方面,仅有30%的公司部署了统一的开发环境。•Web程序员应用最多的还是类似Eclipse这样的IDE工具,其次是代码编辑器和测试工具。这符合一般Web开发者的工作流程,先使用Eclipse等工具进行开发,再使用Firebug等测试工具进行测试和修改。Web开发的环境最强调的是兼容性,一个页面需要在IE、Firefox、Chrome等等众多浏览器上进行测试。而一个大型的Web应用,甚至要在Windows、Linux等操作系统平台上进行兼容性测试。因此Web开发环境,应该尽量与目标用户的使用环境相一致。“工欲善其事必先利其器”17Dreamwaver、Eclipse和ZendStudio三足鼎立•Dreamwaver的功能性大家毋庸置疑,Eclipse主要胜在其开放性方面。•排名第四的VisualStudio主要代表.NET阵营,比如ASP.NET和Silverlight等。•Netbeans占有率不高,应该与本次调查样本范围有关。Editplus独领风骚,Firebug一枝独秀•在代码编辑器方面,超过三分之二的Web开发者选择了Editplus。这和它小巧与功能强大有关,它默认支持HTML、CSS、PHP、ASP、Perl、C/C++、Java、JavaScript和VBScript等语法高亮显示。•Firebug是Firefox下的一个插件,能够调试所有网站语言,如Html,Css等,但FireBug最吸引Web开发者的就是javascript调试功能,使用起来非常方便,而且在各种浏览器下都能使用(IE,Firefox,Opera,Safari)。这也是Firebug能一枝独秀的原因。工作职位与开发工具选择前端开发工程师182.6%10.5%13.2%42.1%55.3%55.3%73.7%架构设计工具自动化创建代码跟踪系统版本控制系统测试调试工具代码编辑器集成开发环境图十一:前端开发工程师开发工具选择情况Dreamweaver100.0%AptanaStudio62.5%Eclipse62.5%ZendStudio62.5%VisualStudio37.5%IntelliJIDEA12.5%NetBeans12.5%PhpDesigner12.5%Editplus87.5%Notepad++12.5%UltraEdit12.5%vi/Vim12.5%Firebug83.3%IE开发者工具条58.3%Chrome自带的元素审查工具33.3%*数据来源:51CTO2011年专项调研集成开发环境代码编辑器测试调试工具工作职位与开发工具选择研发工程师197.8%14.1%31.3%57.8%71.9%79.7%