技术开发 频道

2006-2007年度JAVA开发与应用情况研究



   【IT168调研报告】 JAVA技术的发展和应用的主要结论:
   
    1. Java的主要应用场景是企业应用开发
    2. JavaEE在长期的发展和演化之后,已经成为开发Web应用的可靠工具
    3. 整体而言,Java技术已经非常成熟,达到了应用的高峰期

    第1 节 Java开发应用领域的分布情况

    本次调查显示,Web应用57.9%,C/S应用占11.7%;移动或嵌入式应用占15.0%;系统编程占15.4占6.1%。从开发领域的分布情况上看Web开发占了一半以上。

        1. Java的主要应用场景是企业应用开发     2. JavaEE在长期的发展和演化之后,已经成为开发Web应用的可靠工具     3. 整体而言,Java技术已经非常成熟,达到了应用的高峰期     本次调查显示,Web应用57.9%,C/S应用占11.7%;移动或嵌入式应用占15.0%;系统编程占15.4占6.1%。从开发领域的分布情况上看Web开发占了一半以上。

图表 1 JAVA技术开发领域的分布状况

    Java平台的“三位一体”在这里体现得淋漓尽致:大半开发者在Web应用的开发中采用Java技术——可以想见他们所采用的是Java企业版(JavaEE)。历经8年发展之后,用于企业应用开发的JavaEE(即以前的J2EE)最终划定了自己的势力范围。在越来越多的应用程序借助Web展现在用户面前的今天,JavaEE也顺理成章地在Web 开发领域占据重要位置:基于JavaEE的Web解决方案已经成为几种最为主流的Web开发方案之一。不过,即便只从名称上看,“Web应用”也不能与“企业应用”直接划上等号,而JavaEE本身也针对Web应用而作出了许多调整,稍后我们还将看到这方面的详细分析。

    除了Web开发之外,还有15%的开发者用Java来开发移动或嵌入式应用——那正是JavaME的领域。在这个领域JavaME面对的竞争对手更少,之所以使用人数较少,原因还是在于移动/嵌入式开发本身的市场较小。

    此外还有近30%的开发者用Java从事C/S应用或系统级应用的开发,这个领域通常结合了JavaSE和JavaEE的技术。Java本身具有“一次编译到处运行”的跨平台特性,尽管在桌面GUI方面尚有种种不尽如人意之处,但仍然被很多开发者证明很适合用于开发运行在多种操作系统平台上的桌面应用。



   1.1项目目标用户群
    本次调查显示,面向企业内部应用占58.4%,面向公公众应用占28.8%,通用产品占10.9%,其它占1.9%。

    本次调查显示,面向企业内部应用占58.4%,面向公公众应用占28.8%,通用产品占10.9%,其它占1.9%。

图表 2 JAVA目标用户群的分布状况

    这里的调查数据再次证实了Java在企业应用开发领域的强势地位:近6成开发者用它来开发面向企业内部用户的应用程序。此外还有近3成开发者用它来开发面向公众用户的应用程序——考虑到去年Web 2.0的火爆,其中应该有很大部分是公众互联网上的网站。

    随着Web 2.0的热潮,软件开发的潮流也在悄然发生着变革:互联网应用所占的比重越来越大,大有和“企业应用”并驾齐驱之势。但相比企业应用,互联网应用存在一些重要的特点:
    (1)互联网应用的范围更不确定,需求变化更剧烈;
    (2)互联网应用容许较小的质量缺陷存在,但要求对变更和突发状况的响应更快速;
    (3)互联网应用对持续发展和概念完整性的要求更高。

    尽管在企业应用领域大获成功时,JavaEE在互联网行业的地位却一直受到PHP、Python、Perl乃至.NET和新生代Ruby on Rails的挑战。或许这也就是JavaEE的边界了吧。



    第2节 JAVA平台开发语言的应用状况
    2.1开发环境基于什么操作系统
    调查显示Java平台开发语言的运行操作系统的分布状况,应用在windows操作系统上占73.3%,linuxr操作系统是44.6%,AIX占14.7,Solaris占12.4%,HP-UX占11.4%,移动终端操作系统占6.6%,Mac OS占2.5%,余下点0.6%。

    这组调查数据乍看之下是令人诧异的:竟然有70%的Java应用运行在Windows平台上。不过仔细分析就会发现,涉及类Unix操作系统(含Linux、AIX、Solaris、HP-UX等)的比例实际上超过80%。因此我们可以大胆猜测,尽管大部分开发者在Windows平台上进行自己日常的工作,但生产环境大多还是类Unix操作系统。

    尽管有各种各样的宣传,但类Unix操作系统比Windows更适合用作服务器是不争的事实。Java的跨平台能力使得开发者可以在Windows上开发应用程序,然后发布到Unix服务器。能够将“选择生产环境”的决策推迟到最后一刻,这也是Java被广泛应用的重要原因之一。

    但Java获得这种跨平台能力的代价不可谓不高:它的基本库几乎重新包装了所有操作系统级的功能。当应用程序所需的操作系统相当明确时,是否仍然值得付出这样的代价换来跨平台能力?在充分享受Java“一次编译到处运行”之便利的同时,这也是一个值得反思的问题。



    2.2在转向Java开发之前,您使用什么语言做开发?
    在转向Java开发之前,使用C/C++语言点43.0%,一直使用Java的点23.0%,从.NET转向Java的占22.7%,使用Delphi占18.3%,VB脚本语言占14.3%,移动端操作系统7.6%。

图表  转向JAVA开发之前的开发语言的使用状况

    向前三年,中国只有很少的开发者能够说自己“一直使用Java”,大部分人都曾经用过别的语言。而到2006年末,我们看到有23%的开发者从毕业之初就一直使用Java。高校针对一种编程语言提供系统的教育,是这种编程语言完全成熟的重要标志。近年来越来越多的毕业生在自己的简历里写上了Java相关的技能,由此我们可以放心地说,Java在中国已经完全成熟。使用Java技术的企业可以很容易地找到自己需要的人才,从而有效地降低成本和风险。

    另一个值得关注的现象是超过3/4的Java开发者具有C/C++/Delphi/VB的背景。大概在五六年前,这几种语言还是人才市场上需求最大的技能,高校也都提供较为完整的教育体系,所以当时参加工作的开发者大多具有这几种语言的工作背景。随着Java逐渐成为应用开发的主流语言,这些开发者也有很多转入了Java阵营。这一现象能给我们带来不少启示,我们稍后再详谈。

    最后一个有趣的现象是22.7%的Java开发者来自.NET阵营。这究竟表明更多的开发者选择Java而非.NET,还是两个阵营之间正常的人员流动?单从这份调查数据上我们很难得出结论。



    2.3   吸引您转到Java开发的主要因素是?

    吸引开发人员转向Java开发主要因素主要是三个方面入手,一是单位需求,开发效率以及开发性能,这三者比例依次为38.7%,31.1%和22.7%,其它占了7.5%。

图表 吸引开发者转到Java开发的主要原因

    从这组数据可以看到,大部分开发者选择Java的原因出自两方面:工作的客观需要,以及开发的快速便利。作为一种成熟的语言,Java平台上积累了大量的工具、框架和非常好的实践,这些积累让软件开发变得更便利、风险更低。从降低风险的角度,Java确实是一个可靠的选择。

0
相关文章