2006-2007年度JAVA平台开发工具的应用状况

 
2006-2007年度JAVA平台开发工具的应用状况 
   
   3.1  工作中主要使用什么IDE环境?
    
    Java平台开发工具在工作中应用情况,调查显示Sun NetBeans占8.7%, BEA WebLogic Workshop 占13.1%,IntelliJ IDEA占3.2%,Borland JBuilder占11.6%,IBM WebSphere Studio Application Developer 或 Rational Application Developer占9.2%, Eclipse JDT占38.6% ,Oracle JDeveloper占6.3%, 不使用IDE7.7%, 其它IDE占1.6% 。         Java 平台开发工具在工作中应用情况,调查显示Sun NetBeans占8.7%, BEA WebLogic Workshop 占13.1%,IntelliJ IDEA占3.2%,Borland JBuilder占11.6%,IBM WebSphere Studio Application Developer 或 Rational Application Developer占9.2%, Eclipse JDT占38.6% ,Oracle JDeveloper占6.3%, 不使用IDE7.7%, 其它IDE占1.6% 。
图表 7 IDE环境使用的分布状况
    Eclipse在Java开发工具中的霸主地位已经毋庸多言。这组调查数据真正的有趣之处在于:仍然有7.7%的开发者宣称自己不使用任何IDE——笔者不禁越俎代庖地为他们的工作效率捏一把汗。另一项值得担忧的数据是11.6%的开发者首选JBuilder。Borland公司在今年已经出售了整个IDE部门,JBuilder的前途可谓多舛,这些开发者也很可能需要选择另一个IDE。
­
    作为个人意见,我要为IntelliJ IDEA只有3.2%的首选比例打抱不平。个人而言,IDEA是我感觉最顺手的一款Java IDE,它对于开发效率的帮助相当显著——相比之下JBuilder和NetBeans能够带来的帮助就有限得多了。而且尽管是商用软件,IDEA的授权协议对于开发者还算友好。从软件企业的角度,至少在我看来,购买IDEA比购买JBuilder要更划算。
­
    3.2  考虑在未来更换到哪种开发工具
­
    调查显示,未来考虑更换到以下开发工具Sun NetBeans占8.3%, BEA WebLogic Workshop 占12.6%,IntelliJ IDEA占2.5%,Borland JBuilder占2.5%,IBM WebSphere Studio Application Developer 或 Rational Application Developer占4.9%, Eclipse JDT占7.5% ,Oracle JDeveloper占12.4%, 不打算更换开发工具占7.9%,其它占41.4%。     调查显示,未来考虑更换到以下开发工具Sun NetBeans占8.3%, BEA WebLogic Workshop 占12.6%,IntelliJ IDEA占2.5%,Borland JBuilder占2.5%,IBM WebSphere Studio Application Developer 或 Rational Application Developer占4.9%, Eclipse JDT占7.5% ,Oracle JDeveloper占12.4%, 不打算更换开发工具占7.9%,其它占41.4%。
图表 8 更换开发工具的意向分布状况
    从这组调查数据来看,几乎所有Java开发者都对自己使用的IDE不满意——只有7.9%的开发者表示不打算更换IDE工具。另一方面多达41.4%的开发者说不出究竟哪一款IDE才能让自己满意——他们无奈地选择了“其他”,而不是任何一款常见的IDE工具。大家都对Java的开发效率有所不满,却又想不出有什么工具可以帮忙,这是否说明这是Java语言本身固有的问题呢?
­
­
    3.3   主要使用哪种Java开发框架
­
    调查显示,Java开发人员主要使用的开发框架JSP占64.9%,Struts占45.7%,Hibernate占40.2%, Spring MVC占19.4,EJB占18.7%,JSF占13.8%,移动终端操作系统占9.9%,Spring Web Flow占8.3%,POJO占5.9%,AppFuse占2.6%,Trails占2.3%,Stripes占1.9%,Tapestry占1.9%, Seam占1.8%,WicKet占1.7%,RIFE占1.4%,其它占5.0%。
­
图表 JAVA开发框架的使用分布状况
­
   前几年曾经火热一时的“框架大战”已经安然落下了帷幕,各种框架都找到了自己应有的位置——成熟的不仅仅是Java语言,还有Java应用(尤其是JavaEE应用)的架构和解决方案。
­
    Struts和Hibernate几乎已经成了JavaEE应用的常规配置,从调查数据上我们也能够得出同样的结论:超过45.7%的开发者用到Struts,用到Hibernate的开发者也有40%;而Tapestry、Seam、Wicket、RIFE等框架都用者寥寥。在一个成熟的技术平台上,各个项目的技术方案会在很大程度上趋同——因为所有未知领域都已经被探明,各种问题都有对应的最佳实践,架构师们可以参考的成功案例越来越多。就拿JavaEE来说,今天的架构师们需要考虑的问题比之三年前已经简单多了,这就是成熟的价值。
­
    曾经掀起“without EJB”风潮的Spring框架最终与EJB分庭抗礼——两者分别占有19.4%和18.7%开发者的眼球。作为J2EE without EJB一书的译者,我得说这是个好现象:有些项目选择了Spring,有些项目在分析之后认为EJB更适合自己。作为一种思潮,“without EJB”并不是真的要把EJB一棒打死,而是希望开发者们经过思考分析,找到自己需要的架构方案。
­
    JSP经过几年风雨洗礼依然把持头把交椅,看来所有的框架表示层都离不开JSP而存在,而作为JSP的手足兄弟JSF也是仅次Spring之后又一个后起之秀,JSF能否实现JSP的合理过渡我们还要侍目以待。 1
­
    第4节 JAVA技术应用状况
­
    4.1  应用中主要用什么工具访问数据库
    调查显示,在工作中访问数据库的常用的连接方式,JDBC直接访问占36.3%,Hibernate占24.6%,简单的SQL映射工具占14.9%,自制的持久化框架占11.3%,entity Bean连接占4.6%,JDO占3.6%,其它的O、R映射工具占4.7%。      调查显示,在工作中访问数据库的常用的连接方式,JDBC直接访问占36.3%,Hibernate占24.6%,简单的SQL映射工具占14.9%,自制的持久化框架占11.3%,entity Bean连接占4.6%,JDO占3.6%,其它的O、R映射工具占4.7%。
图表 访问数据库工具的分布状况
­
­
­
   这是整个调查中最令人迷惑的一组数据:在问题6中,40.2%的开发者表示自己用到了Hibernate;但根据这一组数据,只有24.6%的开发者使用 Hibernate来访问数据库,直接使用JDBC的却有36.3%。如果这些数据没有问题的话,另外那15.6%(40.2% -24.6%)的开发者究竟用Hibernate来做什么呢?
­
    抛开这个疑问,这组数据带来的好消息是只有4.6%的开发者仍然使用entity bean来访问数据。在整个EJB2的体系中,entity bean已经被证明是最弱的一环。如果再考虑EJB3的问世和遗留系统的存在,也许我们可以说:已经没有人再用EJB2 entity bean来开发应用程序了。
­
    不过好消息总是伴随着坏消息。坏消息是:还有11.3%的开发者使用自制的持久化框架。数据持久化是一个非常重要、非常复杂而又非常通用的问题,耗费自己的时间和精力去解决这样的问题,一言以蔽之曰“吃力不讨好”。既然已经有Hibernate等成熟的框架存在,除非是维护遗留系统,否则还是请不要重新发明轮子
­
   11. 应用中主要用什么方式实现Web用户界面?
    
    调查显示有46.3%的开发人员使用基于“请求-响应”模型的Web框架(例如Struts/WebWork/Spring MVC等),基于事件模型的Web框架(例如JSF和Tapestry)占5.1%, 自制的Web框架 AJAX(JavaScript + XMLHttp)占16.0%,基于Java技术的Rich Client(例如WebStart、Eclipse RCP等)占11.4%,基于非Java技术的Rich Client(例如.NET桌面应用)占2.2%,我不开发Web应用占6.3%。     调查显示有46.3%的开发人员使用基于“请求-响应”模型的Web框架(例如Struts/WebWork/Spring MVC等),基于事件模型的Web框架(例如JSF和Tapestry)占5.1%, 自制的Web框架 AJAX(JavaScript + XMLHttp)占16.0%,基于Java技术的Rich Client(例如WebStart、Eclipse RCP等)占11.4%,基于非Java技术的Rich Client(例如.NET桌面应用)占2.2%,我不开发Web应用占6.3%。
图表 实现WEB用户界面的应用状况
    和别的领域一样,在Web框架这个领域需要的创新也很少。近半数的开发者采用最为传统的、基于“请求-响应”模型的Web框架,例如 Struts、Spring MVC、WebWork(已并入Struts)等。值得一提的是,有12.4%的开发者用到了AJAX。在2006年里,AJAX的应用在互联网上随处可见,Java开发者们也必然会越来越多地接触到这方面的技术。
­
    另外尚有22.3%的开发者表示自己使用自制的Web框架或者干脆不使用任何Web框架,这不能不说是一个遗憾。成熟的Web框架(例如Struts)已经足以解决几乎所有的问题——以相当简单的方式,在这种情况下仍然去自制轮子也许并不是一个好主意。
1
­
    12. 未来您可能会转移到以下其它语言开发吗? (多选)
­
    调查显示不打算转移 占54.3%,转移到C/C++占23.1%,转移到.NET占17.6,转移到PHP等脚本语言占5.5%,转移到 Ruby等动态语言占10.1%,转移到PHP等脚本语言的占5.5%,转移到Delphi的占5.0%,转移到VB占2.5% ,其它占2.6%。      调查显示不打算转移 占54.3%,转移到C/C++占23.1%,转移到.NET占17.6, 转移到PHP等脚本语言占5.5%,转移到 Ruby等动态语言占10.1%,转移到PHP等脚本语言的占5.5%,转移到Delphi的占5.0%,转移到VB占2.5% ,其它占2.6%。
图表 12 转移到其它语言开发的意向分布状况
­
    以史为鉴能知兴衰。就在五六年前,C/C++还是应用开发的主流;但从前面的调查数据我们已经看到,很多从前的C/C++开发者转入了Java阵营。这给我们一个提示:现在成熟稳定、如日中天的Java,难道不会步上C/C++的后尘吗?
­
    编程语言的衰亡并不意味着人们不再使用这种语言:COBOL应用的数量远远超过Java,众多的程序员仍然在使用COBOL。一种编程语言的衰亡,表现为它所涉及的技术完全稳定,不再涌现大量的创新;它所适用的范围完全确定,人们不再尝试在新的领域应用它。由于缺乏创新,人们不再有热情去研究探索它,它在传播媒介(包括网站、图书等)出现的频率也逐渐降低;由于应用领域固定,它对人才的需求也趋于稳定,不再创造大量新的就业机会(另一方面,精通这门语言的开发者所受的竞争会更小,也更容易得到丰厚的回报)。COBOL正是在这个意义上被认为是一种已经衰亡的语言,C/C++正在走上这条道路。那么Java呢?
­
    这是一个问题,我不打算在这里给出答案。我想说的是,软件开发领域的技术总是在飞快地变化,在变化面前每个人都有必要思考自己的出路。根据我们的调查数据,有54.3%的Java开发者表示不打算转移到别的开发语言。我并不想断言这种选择(或者更准确地说,这种心理状态)是否明智,只是希望所有同行都牢记过去短短十年的历史,经过深思熟虑之后再作出判断。
 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值