Java 作为一门长青的编程言语,在比拟长的开展时间里,经常会有唱衰的声音。但 Java 不断在不时向前开展,受欢送水平也不断很高,TIOBE 榜单终年坚持在 Top 2,将来 Java 将如何开展呢?本文搜集了一些国外开发者和相关从业人员的见地。
最 Hot 的 Java 应用场景
在纷繁复杂的编程言语中,Java 不断是深受开发者和企业欢送的编程言语。从 2001 年起,Java 在 TIOBE 榜单中简直排在首位,偶然排在第二位。受欢送水平如此高、运用普遍的编程言语肯定会有一些需求控制的特定技艺。
CV Compiler 从 AngelList,StackOverflow,LinkedIn 等网站搜集了 300 个 Java 招聘需求,并从这 300 个招聘需求中统计出了企业想要 Java 程序员控制的技艺。
除了需求控制的技艺,哪些 Java 运用场景最受欢送呢?
用于 Web 编程
大多数企业都喜欢运用 Spring MVC 构建 Web 应用程序的后端,运用 Angular 或 React.js 前端框架来构建应用程序的前端。这意味着,Java 程序员固然不需求完整控制 JavaScript 前端框架的学问,但是需求理解 Java 代码如何与前端框架停止交互。
最受欢送的 Java 后端框架是 Apache Struts。与 Spring 一样,Apache Struts 自 5 年前发布以来,不断在跟随 Java 的更新步伐,不同的是,Spring MVC 只是复杂处理计划的一局部,而 Apache Struts 能够处置应用程序的多个方面,例如测试或数据访问。
数据处置
很多人都以为大数据并不是 Java 擅长的应用场景,但是 CV Compiler 的调查结果显现 Java 在大数据方面的应用正在崛起,以至 CV Compiler 以为在数据科学的市场,Java 可能会与 Python 相提并论。
很多企业招聘人员都希望 Java 招聘者可以熟习 Apache Kafka、Hadoop、Azure 以及 Spark 等与大数据相关的处理计划。
微效劳
很多经历丰厚的开发人员都以为 Java 是微效劳开发的最佳编程言语,Java 自身也在积极支持微效劳,例如 2019 年,Jakarta EE 社区的优先级就是支持微效劳。
Java 微效劳框架也阅历了大洗牌,Spring Boot 和 Spring Cloud 进入晚期群众阶段,它们曾经成为企业信任的 Java 微效劳开发框架。Helidon 和 Microprofile 进入早期采用者阶段,不过 vert.x 可能会由于相对利基的市场无法跨过早期采用者阶段。
数据库和 Web 效劳器
提到 Java 在数据库方面的运用场景,置信很多人都会想到目前比拟盛行的 NoSQL 数据库 Cassandra 和 MongoDB。而在 Web 效劳器方面,Tomcat 和 Apache 也绝对是指导者的角色。
国外开发者如何对待 Java 的开展趋向
从上文中我们能够看到,时至今日,Java 依然在众多运用场景中占领着无足轻重的位置。那么,Java 将来将如何开展呢?我们搜集了一些国外开发者对 Java 的趋向判别,以及他们以为现阶段需求控制的 Java 相关技艺。
RedMonk 开创人 James Governor
在不久的未来,我们可能会看到 Quarkus(Kubernetes Native Java 框架)等 Java 框架及其相关技术会越来越遭到关注。例如,它可能是 Vert .x,由于 Java 正在积极响应和参与容器反动。
Java Champion,JavaOne Rockstar Consultant Adam Bien
有一个现象有点让我诧异,那就是与 Spring 相比,Spring Boot 的受欢送水平竟然较低。另外,JPA (Java Persistence API),Java EE API 之一,被列为独立项目,加上对 SQL 技艺的激烈需求,都标明了 Java 市场对关系数据库的持续兴味。
另外,Maven 作为抢先的构建工具,市场表现出了对 Maven 技艺的激烈需求,而 Apache Kafka 固然十分盛行,但是并不是适用于一切项目的通用架构,所以市场需求反响不是很激烈。
作为一名 Java EE 开发人员,假如想要在市场中具备强劲的竞争力,那么他需求控制以下技艺,JPA、SQL、JMS (Kafka 也是一种 JMS 完成)、JAX-RS (REST)、Maven (Java EE 中的缺省值)、Git(事实上的规范)。
Netflix 的高级软件工程师 Alex Borysov
往常,Spring 框架和微效劳体系构造实践上曾经成为 Java 世界中的规范。但是,不时开展的行业请求软件工程师在控制现有 Java 技艺的根底上,还要开发新的 Java 技艺。Service Mesh 和 service proxy 正在改动微效劳的开发方式,所以 Java 程序员也要积极学习 Istio、Linkerd2 或 Envoy。另外,随着越来越多的公司转向公有云和混合云,具有亚马逊 AWS、谷歌云平台或微软 Azure 的经历十分重要。
Java 范畴中,反响式编程处于上升趋向,固然我以为它不会取代传统的命令式编程,但是我们需求理解什么是反响式编程,反响式编程如何改动 Java 生态,以及一些反响式框架,例如 Project Reactor、RxJava、Spring WebFlux 等。
在数据存储方面,NoSQL 和多言语耐久性是当今工程师必备的 Java 技艺。NewSQL 的开展同样值得等待,例如 Google Spanner 就是作为效劳在消费环境中应用的一个最佳案例。
Java Champion,Sebastian Daschner
在企业 Java 项目中,我曾经不太看得到 SOA 的需求,而 Spring 和 Spring Boot 在实践应用中经常同时运用,所以这时探求两者的区别就不是特别有意义了。另外,我看到大家对各种云原生技术的兴味越来越大,假如这种趋向继续开展下去,置信将来几年,Java 也会变得愈加有趣。
除了以上开发者,InfoQ 首席编辑 Charles Humble 也针对 Java 的将来开展趋向发表了本人的见地,他以为:
Java 模块化系统采用也是一个很有趣的话题。我敢肯定 OSGI 反对者关于将它放在创新者阶段会有意见,但这样做可能是对的。我想能够将 Clojure 移到晚期群众阶段。当然,人们还在用它,但我觉得到它的运用量在降落,而且它自身面向的就是利基市场。我会将 Ceylon 移掉。它不断以来都没有取得太多关注,而且我不以为进入 Eclipse 会给它带来多大协助。这个项目的活泼度很低,过去 6 个月只要 10 个代码提交。测试框架的趋向看起来相当稳定。我们要把它移掉吗?从采用率来看,我给它们排个次第:JUnit、TestNG/Cucumber、Spock,但似乎变化不大?SmartBear 最近收买了 Cucumber,可能会促进它的开展,但即便是这样,我依然倾向于把它们移掉。人们似乎对 JVM 上的 Node 不感兴味?我想能够把它移掉。我很想把 Kotlin 移到早期群众阶段,它是我近来最经常听到的一门 JVM 编程言语,这要得益于 Android 开发的盛行。能够说,它曾经越过了鸿沟,但依然落后于其他编程言语,比方 Groovy、Swift 或 Go 言语。我觉得 Scala 能够留在晚期群众阶段,人们会逐渐弃用它。针对不同版本的 Java,Charles Humble 以为:“ Java 8 依然处在晚期群众阶段,Java 11 在早期采用者阶段,Java 11 在创新者阶段。”
免费上门服务,认真做事,诚信待人,选择我们就对了。
备案号: 蒙ICP备2020003808号