如果您一直在Twitter上关注一些Java的关键人物,或者在Reddit上阅读了“新闻”,那么您一定不会错过Spring和JavaEE宣传人员之间热闹的“贱人之战”(请原谅我的法语)。

首先,于尔根·霍勒(JürgenHöller)的挑衅性文章:

“ Java EE 7,第二个生日快乐! 生产情况如何?”

然后, Reza Rahman的回应:

“ Java EE 7生产中的幽灵:过去,现在和未来”

在这之间,有数百条同样有趣的推文。

如果还没有,取出爆米花:)

巨魔营销

在Data Geekery ,我们当然不熟悉我们喜欢称之为“巨魔营销”的有趣且有效的技术,例如,当我们最近反对Java EE和Spring都(滥用)注释时 ,或者当我们将Hibernate与老式的诺基亚3310进行比较时 。

是孩子气,是的。 但这也是有效的。 这样做有效的唯一原因是,这样做会激起黄蜂的巢。 毕竟,您有一个要点,您就开始引发一个两极分化的讨论,没有正确/错误的答案,所有参与者都将无法接受并因此而战斗。 当他们在战斗时,您可以在每条消息中加入您的品牌。 答对了。

Spring人们做的事情完全一样。 如果您听过Pivotal的Josh Long的演讲,那么您肯定会注意到,很多演讲只是对Internet Explorer之类的抱怨 。 如果您不是那种个人,认真和/或字面意思地对待一切的人,那么这样的谈话可能会很有趣。

这里有趣的一点是,“标准”布道者对Spring的挑衅性文章反应过度。 在Reza的文章的底部,有一个Bert Ertman的链接演示文稿,该演示文稿支持Java EE(并且说Reza认可了本次演讲的内容风格是没有错的):

JavaOne 2011:将Spring应用程序迁移到Java EE 6
伯特·埃特曼

我要在这里说明的重点不是两个相对的技术供应商试图建立自己的社区,以说服人们他们的技术更好(这是特斯拉与爱迪生之间早就进行的工程师工作)。

我要在此说明的重点是以下事实:其中一个供应商声称自己是“标准”,使自己(JCP = Oracle)在真实的标准委员会(例如ISO,DIN,w3c, IETF。

JavaEE是标准吗?

在某种程度上是这样。 就像Spring一样,这是事实上的标准。 这是一群非常松散的小型利益集团,主要由甲骨文(和其他供应商)管理,他们试图通过替代性“专有”技术来促进和确立其利益和技术。

JavaEE是历史悠久的“标准”。 它一直是一个相当“弱”的标准,这就是为什么首先创建Spring的原因。 Oracle的Reza对Spring故意挑衅的反应如此敏感的事实可以解释为一个迹象,表明“标准”仍然很薄弱,并且作为替代品受到Spring的威胁。

可以对Siebel与Salesforce进行有趣的比较。 Siebel是CRM行业中事实上的“标准”,但是Salesforce如此严重地骚扰了Siebel,以至于Siebel甚至在就收入水平达成远程会议之前就已经承认Salesforce是其业务的真正竞争对手。 这最终导致了Siebel的灭亡,并被Oracle托管,甲骨文托管了许多JCP,这真是具有讽刺意味。

Java EE和Spring也发生了同样的事情。 现在,即使在完全(当然)专有的情况下,Spring在市场上也是如此成功,以至于Java EE将不得不努力争取回到Spring之上。 比仅仅说出陈旧而me脚的“标准”论点要困难得多。 Java EE必须比Spring更好和更快,而不仅仅是“标准”。 尽管所有JCP政治都在进行,但我看不到这种情况发生。

那么,春天会赢吗?

我的预测是:不。

整个故事只向我们表明Java生态系统中的标准很弱。 市场上有大量玩家。 像Hibernate和jOOQ这样的利基产品可以撼动数据库访问市场的份额。 诸如GWT , Vaadin , ZK , Spring MVC , Play Framework等小众产品可以撼动HTML UI市场领域(JSF或JSR 371不能阻止该领域进一步的市场分化)。

哎呀,诸如Akka或Vert.X之类的与语言无关的技术表明,甚至Servlet API也不是真正可靠和安全的。 随着Oracle引入Nashorn,整个JavaScript生态系统可能同样会威胁Java EE。 我怀疑,接下来的5-10年里,唯一可以想当然的是JVM和Java SE JDK及其库,包括JDBC。

目前我们的行业发展如此Swift,像JCP这样的高度分散的政治委员会似乎无法跟上步伐并提供我们在其他地方看到的质量和创新。

换句话说,Java EE“标准”仅是公认的成熟技术落后5-10年的时间。 前一段时间证明。 考虑到像Pivotal这样的单一玩家已经成功挑战了“标准”超过10年,我怀疑新玩家可能很快会用新的替代品进入市场。

谁将成为新玩家?

其中之一将是即将重命名的Typesafe 。 您为什么认为他们毕竟被重新命名了? 您认为他们想用Akka + Play + ConductR证明什么? 他们试图证明您可以在JVM之上完全不同地开发软件,这就是他们试图证明的。

此外,他们使用的是Pivotal / Spring如此成功的低内容,高情感巨魔营销技术。 到处都可以使用邪恶的术语“ monolith”(= Java EE,还有其他功能):

其中另一个可能是……微软! 为什么不? 他们最近的开源采购举措可能最终将有助于在Linux之上建立.NET。 一旦您使用了Linux,您最好也可以使用JVM。 .NET生态系统比Java更紧密,这将对我们的生态系统施加很大的创新压力。

当JCP仍在从改变游戏规则的数据交换API JSR-353 , JSR-367和JSR-374背后的政治中恢复过来时,所有这一切都在发生

有趣的未来

上述预测可能会或可能不会成立。 但是我很确定一件事。 在不久的将来,我们将面临更多竞争,因此我们的基础架构软件将有更多选择。 当前的事实上的标准将失去市场份额。 对他们来说是不幸的,对我们来说是更好的技术。

当福音派工作者在打架时,我期待着JVM上一个非常有趣的未来。

翻译自: https://www.javacodegeeks.com/2015/06/javaee-or-spring-neither-we-call-out-for-a-fresh-competitor.html

JavaEE还是Spring? 都不行! 我们呼吁新的竞争者!相关推荐

  1. spring javaee_JavaEE还是Spring? 都不行! 我们呼吁新的竞争者!

    spring javaee 如果您一直在Twitter上关注一些Java的重要人物,或者在Reddit上阅读了"新闻",那么您一定不会错过Spring和JavaEE宣传人员之间热闹 ...

  2. JavaSE、JavaEE与Spring的概念和异同点剖析

    JavaSE.JavaEE与Spring的概念和异同点剖析 什么是JavaSE JavaSE是Java的核心,也就是 Java的主要部分.用于开发桌面应用程序和基于web的应用程序.它提供了从基本对象 ...

  3. JavaEE + Oracle + Spring Boot + Mybatis + Maven 开发简易版银行管理系统(附源码)

    文章目录 JavaEE + Oracle + Spring Boot + Mybatis + Maven 开发简易版银行管理系统 一.系统介绍 二.开发步骤 三.系统展示 四.开发总结 五.数据库相关 ...

  4. 阵列卡直通模式和raid模式_DNF希洛克Raid:门槛真高,没神话红10都不行,放进来再T出去...

    "地下城与勇士之小狐狸君爱谈游戏电竞"第一千七百八十一期<DNF希洛克Raid:门槛真高,没神话红10都不行,放进来再T出去>,韩服已经公布了希洛克Raid最新的视频, ...

  5. JavaEE进阶 - Spring事务和事务传播机制 - 细节狂魔

    文章目录 1.为什么需要事务?(回顾) 2.Spring 中事务的实现 MySQL 中的事务使用(回顾) 1.⼿动操作事务(编程式事务) 2. 声明式事务(利用注解自动开启和提交事务) @Transa ...

  6. win10 sqlserver 2008 r2安装失败遇到“未经授权的操作”系列错误怎么授权都不行怎么办?

    问题: win10 sqlserver 2008 r2安装失败遇到"未经授权的操作"系列错误怎么授权都不行怎么办? 问题描述:我的系统是win10家庭版,联想pc,之前没有安装过s ...

  7. “程序员数学不行,干啥都不行!”高级开发:90%都是瞎努力!

    之前有很多读者留言向我们反馈: 数学不好做算法优化,每次遇到不一样的问题就不会了,要是赶上面试基本就凉凉了. 平时很难搞懂像数据结构.算法.复杂的语句等等,因为这些核心原理都是数学.而且光会基础数学远 ...

  8. “数学不好,干啥都不行!”骨灰级程序员:其实你们都是瞎努力!

    之前很多程序员读者向我们反馈: 1)数据结构.编程语句,核心原理都是数学,不会数学搞编程好难,后来发现各种东西还要概率论,还要推收敛!近似还要知道泰勒展开! 2)做算法优化时,只能现搬书里的算法,遇到 ...

  9. “数学不好,干啥都不行!”骨灰级程序员:其实你们都是瞎努力

    之前有很多程序员读者向我们抱怨: 1)做算法优化时,只能现搬书里的算法,遇到不一样的问题,就不会了. 2)面试一旦涉及到算法和数据结构,如果数学不行,面试基本就凉凉了. 3)一个需求,我写10行代码, ...

最新文章

  1. 本期赠书中奖名单公布
  2. 2021牛客暑期多校训练营1 H-Hash Function(数学+FFT)
  3. android unbound prefix
  4. docker操作之mysql容器
  5. Spring Boot中使用Actuator的/info端点输出Git版本信息
  6. 【UOJ】【BZOJ】 [Zjoi2016]小星星
  7. clock函数返回精度都是上万的_Excel常用函数每日一讲 VLOOKUP函数
  8. YouSwap将于4月16日新增HGT/USDT、HGT/YOU流动性挖矿
  9. 机房服务器维护管理规范,机房维护管理规范.pdf
  10. Windows10连接局域网打印机
  11. 青蛙跳台阶 php,php中青蛙跳台阶的问题解决方法
  12. 《现代密码学》学习笔记——第七章 密钥管理[一]
  13. mysql 告警日志_错误日志监控报警脚本
  14. 字节跳动-后端开发岗最新春招面经分享,四面拿下,有惊无险
  15. MATLAB多项式计算
  16. Zookeeper 服务器端和客户端扩大节点数据1M大小限制
  17. 女神节快乐!Apache Pulsar 愿大家拥抱机遇、享受开源
  18. Python入门之类的继承
  19. 计算机上的be无法正常启动,应用程序无法正常启动0xc0000005的三种解决方法
  20. 阿里云短信服务与微信小程序对接进行注册

热门文章

  1. idea打war包时,JDK版本的问题解决方式
  2. 数据库的嵌套查询和统计查询
  3. MyBatis-Plus EntityWrapper的使用 wrapper le ge
  4. Myeclipse 创建web项目的一些基本操作
  5. 法在计算机课程中的应用,尝试教学法在中职《计算机应用基础》课程中的应用(原稿)...
  6. python嵌套列表字典_python中嵌套列表转为字典
  7. jvm(7)-虚拟机类加载机制
  8. azure 部署java_jClarity:在Azure上升级到Java
  9. java isempty_Optional.isEmpty()即将加入Java吗?
  10. c++ lambda 重载_您会后悔对Lambdas应用重载!