pc蛋蛋公众号怎么玩|pc蛋蛋杀组合规律
4000-9696-28

北大青鳥西安建大校區:開發者如何看 Java 發展趨勢?

2019年09月23日 10:51供稿中心: 西安慧浦

摘要: 開發者如何看 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 在創新者階段。”

關于我們
公司簡介
發展歷程
青鳥榮譽
聯系我們
加入我們
青鳥課程
ACCP
學士后Java
BENET
啟蒙星IT工程師基礎課程
學習客戶端下載
青鳥優師
青鳥微訊
回頂部 新版反饋 回到首頁
官方新版意見收集

*

官方新版意見收集

提交成功,感謝您的反饋。

我們會認真閱讀和考慮每個用戶的反饋。

pc蛋蛋公众号怎么玩 北京pk赛车官网代理 时时彩后三组六7码计划 卖蔬菜能否赚钱 免费农场赚人民币游戏 15到16赛季欧冠决赛 分分彩挂机必死 山西快乐10分开奖直播 藏品能赚钱吗 新11选5开奖软件 htc手机捕鱼达人作弊 如何做到赌博稳赚不赔 以太坊交易速度每秒达多少 重庆时时走势图分析 腾讯麻将来了是真人玩的吗 三分冠军pk10计划网页 江苏时时走势图表