2025云栖大会,开启通往AGI的未来之旅 了解详情
写点什么

InfoQ 观点:Java EE 的未来

  • 2017-03-05
  • 本文字数:1877 字

    阅读完需:约 6 分钟

作为 InfoQ 下一年编辑关注点审核工作的一部分,我们挑选了 Java 作为深入探讨的主题。我们借用了 Geoffrey Moore 在他的经典书籍《跨越鸿沟》里的所描述的模型,这个模型贴切地概括了技术的生命周期,它包含五个阶段:创新者(Innovators)、早期采用者(Early Adopters)、早期大众(Early Majority)、后期大众(Late Majority)和落后者(Laggards)。Moore 的模型在早期采用者和早期大众两个阶段之间引入了一个大缺口,早期采用者是真正愿意冒着风险使用新技术的人,而早期大众在确认新技术能够提升生产效率之前是不会采取行动的。

从下图可以看出 Java 技术的整体趋势:

我们可以看到,Java SE 仍然保持着它的健康度,它仍然是一个被广泛使用的企业计算编程语言。Java 9 有望在今年夏天发布,届时将带来 Jigsaw 和 JShell REPL。而 Java 10 的开发工作已经在进行当中。我们相信 Java 仍然是构建大规模企业应用的一个很好的选择,最起码现在人们不希望 Java 走出生产环境。

说到基于 JVM 的编程语言,不得不提到 Scala 和 Clojure。不过从 Scala 的受欢迎程度来看,它的采用率或许已经达到了最顶峰。而在 Java 8 推出 Lambda 功能时,Scala 的受欢迎程度有轻微的下降。我们认为 Scala 还未能跨越 Moore 模型里的“鸿沟”,所以它仍然处在早期采用者阶段。我们不认为它会达到大众阶段。

Clojure 一如既往的好,作为 Python 的有力竞争者,面向数据的特性让它处在一个很有利的位置上,不过它不像是一门会被广泛采用的语言。

作为 Java 之外的选择,Groovy 仍然是很受欢迎的脚本语言,同时,JetBrain 的 Kotlin 似乎在 Android 开发方面为自己找到了一个稳固的位置,不过这两门语言都无法动摇 Java 的统治地位。

可以说,Java SE 形势一片大好,但对于 Java EE 来说却不是如此。我们在考虑要不要把 Java EE 放入“落后者”这一类,不过最近的一些迹象表明,它应该可以被放在后期大众里,这要归功于 Java EE 底层的那些技术。jClarity 的联合创始人 Ben Evans,同时也是 InfoQ 的编辑,他说:

我不得不说,Java EE 是一个正在消褪的品牌,不过它的底层核心技术让情况看上去没有那么糟糕。

另一位编辑 Chris Swan,同时也是 CSC 的 CTO,他说:

Java EE 有一些重要的规范,它们很有用。EJB 作为 Java EE 的心脏,它把 Java 应用服务器推向了企业。Spring 去掉了 EJB 的复杂性,“EE”变成了“在 Java 应用服务器上运行 Spring”的代名词。传统的应用服务器市场(由几个大厂商所统治)正在被 PaaS 所代替(因为你不需要整套臃肿的应用服务器就能运行 Spring 应用),而企业对服务器厂商的“绑架”行为深感厌恶,同时 PaaS 提供商提供了更具竞争力的运营能力,从而加剧了这种情况的发生。

InfoQ 之前报道过 Gartner 对技术走势的研究,Gartner 在这方面比我们做得更为深入,而最近 Gartner 再次发表其观点,认为“Java EE 和其它三层架构的框架,比如 ASP.NET”正在走向衰退:

数字信息业务要求应用平台提供新的特性和能力,而 Java EE 没能赶上这趟班车。
负责应用基础设施现代化的领导者们应该想办法应对 Java EE 的衰退问题。
到 2019 年,只有不到 35% 的新应用会被部署在 Java EE 应用服务器上。

不到 35%,也就是差不多三分之一,不过我们认为尽管 Java EE 应用服务器还会存在,但只会被用于运行遗留的系统。

不过对于 Java 来说,还是有一些好消息的。一些强有力的框架为构建微服务提供了更多的选择,Pivotal 在这方面一路领先,它为微服务提供了一整个技术栈。 Spring Boot 内嵌了 Tomcat、Jetty 或 Undertow,可以方便快速地用它来构建独立运行的 Spring 应用。 Spring Cloud 由美国的 Netflix 和中国的阿里巴巴共同支持,为 Spring Boot 加入了很多强大的云组件,比如服务发现、外部配置、回路断路器和负载均衡。 Pivotal Cloud Foundry 、IBM 的 Bluemix 和 SAP 的 HANA 为此提供了商业支持。

除此之外,还有很多其他的可选方案。其中有三个值得关注,它们分别是 Lightbend 的 Lagom 、Eclipse Vert.x Ratpack ,其中 Lagom 是基于 Play 和 Akka 的。而 Akka 所使用的 actor 模型也非常有意思。

我们注意到,Oracle 曾经声称要在今年的 Java EE 8 里将 Java EE 带入云端,并具备基本的微服务能力,不过 Oracle 并未透露更多相关细节。Java EE 9 有望在 2019 发布,不知道在未来的这一两年,Java 世界能否发生一些不一样的变化。

MicroProfile.io 最近加入了 Eclipse Foundation ,广大的 Java EE 社区把工作转向了 MicroProfile.io。

以上观点并不代表我们将对 Java EE 开发失去兴趣,或者说它将会消失。我们只是认为,对于构建现代化的系统,我们总是会有更好的选择。

2017-03-05 16:3912343
用户头像

发布了 322 篇内容, 共 155.2 次阅读, 收获喜欢 148 次。

关注

评论

发布
暂无评论
发现更多内容

【实用教程】如何快速搭建一套私有的埋点系统?

ClkLog

开源 埋点 sdk 用户行为分析 画像

智造突围:管材制造业如何借力MES系统破解产能困局

万界星空科技

制造业 mes 数字化工厂 管材行业 管材制造业

探索自定义地图样式,打造应用专属个性化地图

HarmonyOS SDK

harmony

520表白神器

电子尖叫食人鱼

前端

PD 分离推理的加速大招,百度智能云网络基础设施和通信组件的优化实践

百度Geek说

Dify实战案例《AI面试官》更新,支持语音交互+智能知识库+随机题库+敏感词过滤等...

王磊

CST基础教程:用IDEMWORK提取宽带宏模型(下)

思茂信息

cst CST软件 CST Studio Suite

在鸿蒙中如何进行线程通信

Geek_b896c3

鸿蒙 HarmonyOS HarmonyOS NEXT

从“名落孙山”到“金榜题名”?能考清北的AI来了!

科技热闻

AI需要 DePIN,就像汽车需要道路

PowerVerse

AI 去中心化 区块链+ web3 DePIN

没有设计稿也能很漂亮,非常适合独立开发:Trae + 飞个马MCP

秦少卫

#开源项目 开源图片编辑器 #AI编程

微软宣布的五大重要事项|AI日报0520

石臻臻的杂货铺

数字化设备巡检方案,解决错检漏检、只巡不检等痛点现象!

积木链小链

智能制造 设备管理 设备管理数字化

大型前端应用如何做系统融合?

京东科技开发者

代码革命的先锋:aiXcoder-7B模型介绍

京东科技开发者

轻松get热播剧同款“数字名片”!合合信息名片全能王助力保险拓客

合合技术团队

人工智能 #大数据

uni-app打包小程序教程(包括隐私协议设置)

CRMEB

QGIS软件系统性能优化

北京木奇移动技术有限公司

软件外包公司 GIS开发 QGIS开发

实时通信优化探索,吞吐量与延迟的最佳平衡

腾讯云音视频

音视频 音视频技术

可视化编程基座:iVX 重构高校智慧校园开发范式的技术路径

代码制造者

低代码 智慧校园 无代码

尽快自查、更换!你的DDNS/内网穿透服务商可能即将关停

科技热闻

超越数字:利用数据可视化推动企业战略决策

智达方通

企业管理 全面预算管理 超越预算

Kafka Linking:揭秘 AutoMQ 如何实现全球首个Zero-Downtime Kafka 迁移方案

AutoMQ

Java 云计算 kafka 中间件 AutoMQ

区块链web3软件的性能优化

北京木奇移动技术有限公司

区块链技术 软件外包公司 web3开发

构建AI时代的大数据基础设施-MaxCompute多模态数据处理最佳实践

阿里云大数据AI技术

数据分析 MaxCompute 人工智能、 AI‘’ #大数据

Playwright跨浏览器自动化测试实践

测试人

软件测试

新华三推出AI数据平台解决方案,加速推理驱动智算时代

业界

BGE系列再升级:代码检索及多模态向量模型刷新多项领域基准

智源研究院

「华为」持续加码人形机器人赛道!

机器人头条

华为 大模型 人形机器人 具身智能

AI口语陪练APP的开发

北京木奇移动技术有限公司

AI技术开发 软件外包公司 AI口语练习

大厂B端/G端数据可视化项目如何做设计评审

京东科技开发者

InfoQ观点:Java EE的未来_Java_Charles Humble_InfoQ精选文章