您的位置:网站首页 > Java工具 > 正文

2016年Java工具和技术前景报告:趋势和历史数据

类别:Java工具 日期:2021-3-18 7:31:53 人气: 来源:

  欢迎阅读“2016年Java工具和技术前景报告”。这是一份主要分析Java开发人员所使用工具和技术的数据的全面报告。

  该报告的这部分内容将主要研究数据的趋势。当然,我们不会只查看今年的数据,由于我们每隔几年就会提出很多相同的问题,通过对比2016年、2014年和2012年受访者对相同问题的答案,我们可以了解到随着时间而改变的趋势与发展。同时也能对2018年进行预测。但我们也不会仅仅根据几年的数据就贸然做出假定。也就是说,本部分内容出现的数字和图表确实能够显示出几年来的连贯性和模式。请注意:前几年的一些数据必须集中规范化,才能符合多选问题的要求。这些年份已用星号进行标注,以便于您识别。

  我们很高兴地发现,这些年来Java版本的升级和迁移水平保持着非常良好的一致性。对于大型企业来说,迁移非常耗时,因此非常昂贵,所以相比于一种新的应用程序特性等方式而言,许多人可能会认为迁移只能带来“最小增益”。不妨听听项目经理的意见吧!仅仅是性能提高就已经足够成为您进行升级的理由,更不用说还有更新的并发库、功能方法和更多的新版本特性,升级为开发人员和生产带来的优势十分明显。

  旧版本使用比例的下降也让我们感到高兴,尤其是库和工具制造商现在已经可以开始取消对旧版本Java的支持。鉴于Java 9不会在2017年3月之前发布,如果能够确保这一发布时间,我预计Java 8甚至将在Java 9的采用率开始攀升之前达到70-80% 的采用率。我不希望开发人员像Java 8发布时那样一拥而上快速地采用Java 9,因为它还没有为开发人员提供足够多的让人眼前一亮的功能。还有一个新的默认垃圾收集器和许多模块有待解决,因此我认为即使到2018年Java 8仍将是占据主导地位的版本。到那时,预计Java 6的使用率将会非常低,实际上也许会降到0%,而Java 7将接近5%左右。我已经开始期待在2018年的报告中回顾我的这些预测!

  现在,我们将视线转向企业应用的Java EE。从这些数据中我们可以看出两个有趣的事情。首先,Java EE 7不仅仅与Java EE 6一脉相承,而且今天它的受欢迎程度甚至更胜于2014年的Java EE 6。第二个重点是,人们还没有告别Java EE 5 和J2EE。考虑到这些技术已经非常过时,更重要的是,Java EE的标准已经与J2EE相差甚远,所以很难理解为什么这些古老的编程仍然存在。

  但是,让Java EE社区更加担忧的是图3.2中并没有显示出的内容。我们对数据进行了归纳,以显示出Java EE开发人员在使用哪些版本,因此如果您细心计算的话,您会发现每年的百分比相加等于100%。让我们看一看有多少人没有使用Java EE。在2014年的调查中,32%的受访者没有使用Java EE,而2016年的调查结果为42%。这意味着,2014年的15%的Java EE用户在过去的两年里决定不再使用Java EE。这一点也印证了报告第2部分图2.4所示的数据,该数据表明早期采用者正在考虑替代的编程框架。总结来看,这一点对于Java EE社区的未来并不是很好的消息。

  如果我们看一下Java EE 8 的JSR(规范请求)状态,看起来已经快要错过最终期限,尤其是Oracle引导的JSR,各种新闻之前已经对其进行了详尽的报道。这也正是Java EE监护小组成立的原因,他们将为Java EE的当前状态带来新的认识和改变。我预计,Java EE的采用度将会继续下降,尤其当Oracle继续对该技术缺乏兴趣时,因为供应商和用户对它的未来缺少信心。据我预测,Java EE 7的用户仍将来自Java EE 6的用户,虽然我希望看到Java EE 5和J2EE的使用率有所下降,但现实的数据并不支持我的这一期望。

  在我们2014年的报告中,49%的受访者表示他们希望使用IntelliJ IDEA作为他们的IDE(集成开发)。这些受访者可能已经开始使用IntelliJ,或者他们可能已使用其他的IDE。我们可以在本报告第1部分的图1.11中看出,从那时起,IntelliJ就已经取代Eclipse成为了最受欢迎的IDE。如果我们观察图3.3的趋势曲线,就会明确发现两者对调这一事实,而Eclipse(下降)和IntelliJ(上升)的采用率总和则保持一致。

  我预计2016年以后它们的采用率不会保持不变,即使是看到IntelliJ比Eclipse领先10-15个百分点也不会让我感到惊讶。我认为NetBeans不会发生很大的变化,尽管Oracle对NetBeans平台给予了非常大的支持,但��们自己的管理人员可能是他们失败的主要原因。尽管如此,NetBeans团队中有许多很出色的个人在缺乏支持的情况下,仍然会尽一切努力让该平台继续取得成功。

  另一个硝烟弥漫的类别是构建工具。但用战争来形容是否恰当呢?如果我们看一下从2012年到2016年构建工具的采用,我们可以很合理地说,这不过是一场只有一匹赛马的竞赛,Maven已经未跑先赢。实际上,如果这真是一场赛马的话,Ant已经被淘汰出局,人们也有可能已经扔掉了Gradle的那张1赔500的投注单。但的尽头也有可能迎来曙光,因为在Android开发在大量使用Gradle。但尽头处迎来的究竟是曙光还是一列名为Bazel的Google列车,让我们拭目以待。

  现在让我们来二十四香谱图解进行一些预测。在接下来的几年里,我认为Maven的市场份额不会发生很大的变化。如果Gradle的采用率有所上升,那么Maven的份额有可能会下降,虽然看起来Gradle从Ant手中抢夺份额的可能性更大。我认为Gradle将继续缓慢增长,尤其是来自于Android社区的支持将继续增长。另一方面,Ant的使用率将继续下滑,至2018年可能跌至6-7%。

  从下面的图3.5中我们可以看出,Spring在过去四年中的市场主导地位逐步提升,他们在Web框架市场中形成了垄断。毕威拓公司(Pivotal)对他们发布的Spring Boot的采用率非常满意,他们将能够随着微服务市场的增长取得良好的成绩。JSF的采用率呈现出缓慢的下降趋势,虽然此结果可能只是因为整个Java EE采用的降低而导致的。Struts、GWT、Play 1、Wicket、Stripes和Tapestry尽力在市场中占有一席之地,而Vaadin则是为数不多的能够在Spring的主导地位下显示出竞争力的框架之一。

  展望未来,我预计Spring将在Spring Boot的帮助下继续占据主导地位,看起来Spring Boot更有可能接过整个市场的领导者桂冠。2018年,我认为Spring Boot和Spring MVC将不分伯仲,而Boot更有可能借助微服务架构的浪潮成为市场的主导。我认为JSF仍将保持其重要性,尽管它需要我们Java管理者的支持,以确保人们对它的进步和更新拥有信心。考虑到Java EE 8一定会错过发布日期, JSF的采用率可能将继续下降,但我认为并不会降低太多。对于Play 2,考虑到它在采用Akka的Lagom中的领导地位,其采用率将有可能有所提高。其他框架,例如Struts 1、Play 1、Wicket、Stripes和Tapestry,可能也会出现在我们的2018年报告中,但更有可能出现在消失技术的栏目中。

  本报告这一部分中进行的最后一项比较,实际上也是整篇报告的最后一个图表(感谢我们的设计师Ladi的惊人理解力!),就是VCS工具。此类别的趋势非常清晰明确。Mercurial和CVS即将输掉这场战争,而对于SVN,好吧,Mercurial和CVS正等着与你作伴。Git以非常稳健和持续一致的市场收益成为了名副其实的赢家,其市场份额达到68%。

  我的预测很简单。我认为Git的增长必将放缓,但我预计2018年Git的市场份额仍有望增长至80%,然后开始下滑。Mercurial和CVS很有可能将在2018年走入历史博物馆,而SVN的份额将再次下降至5-10%左右。

  今年的调查包括了几个提问式的问题,其内容更多的是关于开发人员自己对特定工具或技术的使用体验。2016年调查提出了以下问题:

  哪种工具、技术或库会特别激发您的兴趣?或者会让您因为使用过或计划在2016年使用而感到骄傲?

  请注意:我们允许受访者作答。由于这种回答的度有助于发现一些有趣但却不太知名的项目和工具,因此对其答案的分析也更多地采用了手动的方式来完成,而不仅仅是通过Excel电子表格中的几个公式。

  现在我们得到一个列出了所有毫无关系技术的列表。但该列表是一个很有意义的结果,它显示了整个行业的走势。我们毫不迟疑地列出了在对上述问题的答案中最常出现的10种技术:

  我们并不断言这绝对是一份确切无疑的列表,但它真实地反映出更多的人对使用这些工具感到激动或自豪。令人惊讶的是,那些声称比一般人更优秀的人和那些更谦虚的受访者所选择的令人动心的技术并没有明显的区别。想想看吧,我们总认为自己是与众不同的,但我们与其他人一样都采用相似的工具来解决相似的问题。

  您已经读完了整篇报告,太棒了!或者您因为报告太长不想细读而直接跳转到这里?:) 无论如何,我们现在将以通俗易懂的方式总结出本报告的所有中心思想。请准备好享受一顿快节奏的统计数据大餐!

  平均受访者是一名从事完整堆栈的Web应用程序开发且拥有大约10-12年工作经验的软件开发人员。

  Oracle DB以微弱的优势超过MySQL成为使用最广泛的数据库,分别有39%和38%的受访者表示在使用这两种数据库。

  三分之一(32%)的受访者使用Docker ,但超过一半的受访者(54%)根本不使用虚拟化。

  早期采用者(67%)和技术者(58%)都喜欢Java 8,显示出该最新版本的市场地位已经确立。

  早期采用者更有可能告别Java EE,而更多的技术者(33%)比早期采用者(28%)更倾向于最新版本。

  Jetty 和 Tomcat 是微服务架构中更受欢迎的应用程序服务器,而WebLogic、WebSphere和GlassFish尤其呈现出在微服务中使用率下降(几乎一半)的趋势。。

  Spring Boot 和 Play 2 在微服务中被使用的可能性是JSF的两倍,JSF几乎只有一半的可能性。

  Spring在2012年至2016年之间的持续增长使其占据了市场主导地位,其中包括Spring Boot非常快速的采用。

  Git在过去的四年里增长迅速,市场份额从27%上涨至68%。另一方面,SVN的份额在同时期内呈现出相当大的损失,从55%下降至23%。

  感谢阅读!我希望您能够从本报告中获得一些,并能够结合您自己的数据利用这些信息,以便您更好地了解我们这个生态系统的全局,同时也希望您在未来的决策中能够更有信心。

  既然我们查看了如此多的数据,分析了如此多的图表,那么我在此为您献上一幅关于图表本身的xkcd漫画。

  

0
0
0
0
0
0
0
0
下一篇:没有资料

相关阅读

网友评论 ()条 查看

姓名: 验证码: 看不清楚,换一个

推荐文章更多

热门图文更多

最新文章更多

关于联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助

郑重声明:本站资源来源网络 如果侵犯了你的利益请联系站长删除

CopyRight 2010-2012 技术支持 FXT All Rights Reserved