Spring 那么多子項(xiàng)目,誰才是真正的一哥?
一、誰是 Spring 一哥?
今年排名前三的項(xiàng)目依舊保持不變。大約 75% 的受訪者都在使用 Spring Data、Spring Security 和 Spring WebMVC。然而,這些并不是唯一被大量使用的 Spring 模塊。大約三分之一的受訪者在使用 Spring Kafka、Spring Batch、Spring Cloud、Spring WebFlux 和 Spring Integration,而 25% 的受訪者使用 Spring Session、Spring LDAP、Spring AMQP 和 Spring Cloud Gateway。(稍后會(huì)詳細(xì)介紹 Spring Cloud Gateway)
二、Data, data 無處不在
應(yīng)用程序的好壞取決于它們的數(shù)據(jù)。復(fù)雜的應(yīng)用程序可能會(huì)使用多個(gè)數(shù)據(jù)源甚至跨多個(gè)云。Spring Data 使使用數(shù)據(jù)訪問技術(shù)、關(guān)系和非關(guān)系數(shù)據(jù)庫、map-reduce 框架和基于云的數(shù)據(jù)服務(wù)變得容易——以及特定技術(shù)的子項(xiàng)目。
Spring Data JPA,可以輕松實(shí)現(xiàn) Java Persistence 基于 API 的存儲(chǔ)庫在子項(xiàng)目列表中名列前茅,是 79% 的開發(fā)者的首選。Spring Data JDBC(Java 數(shù)據(jù)庫連接),它定義了用于連接和查詢幾乎所有關(guān)系數(shù)據(jù)庫的 API,以 74% 排名第二。非關(guān)系型數(shù)據(jù)庫的幾個(gè)模塊也很受歡迎,包括 MongoDB (46%)、Redis (37%) 和 Elasticsearch (31%)。

三、Kotlin 取得新進(jìn)展
Spring 支持三種編程語言:Java、Groovy、和 Kotlin,Kotlin 一種面向?qū)ο蟮恼Z言,包括許多函數(shù)式編程的思想,于 2016 年首次引入。我們總是想了解什么是新技術(shù)更受歡迎,Kotlin 似乎是贏家。關(guān)注 我是程序汪
超過 40% 的受訪者已經(jīng)在使用 Kotlin 創(chuàng)建 Spring 項(xiàng)目(18% 正在廣泛使用它),以及額外的 18% 計(jì)劃使用它。十分之九的人表示看好 Kotlin,在我們的調(diào)查所涵蓋了15項(xiàng)新技術(shù)中,這是所有人中最積極的反饋。
四、API 是最重要的 Spring 功能
高達(dá) 97% 的人同意“API 對我們的 Spring 開發(fā)工作至關(guān)重要?!?為了了解有關(guān) API 使用的更多信息,我們?yōu)閮?nèi)部消費(fèi)者和外部消費(fèi)者拆分了 API。這些是今年排名第一和第三的用例。商業(yè)應(yīng)用程序跌至第二位。
由于內(nèi)部 API 已成為如此重要的用例,了解人們正在使用哪些內(nèi)部 API 市場以及他們?nèi)绾伟l(fā)現(xiàn)和試用 API 將會(huì)很有趣。明年尋找有關(guān)這些主題的問題。Spring Cloud Gateway 提供了一種對開發(fā)人員友好的方式來路由、保護(hù)和監(jiān)控 API 請求。對這個(gè)開源項(xiàng)目的興趣正在飆升,同時(shí)對我們的商業(yè)支持版本 Tanzu Spring Cloud Gateway 的興趣也在飆升。
五、超 80% 的人正在使用現(xiàn)代應(yīng)用架構(gòu)
Spring 的好處之一是它可以幫助開發(fā)人員跟上現(xiàn)代技術(shù)的步伐,因此他們不必不斷的學(xué)習(xí)新的語言或框架;86% 的人使用 Spring 的現(xiàn)代架構(gòu)風(fēng)格——幾乎每個(gè)人 (94%) 都使用微服務(wù),而 35% 使用 Reactive,19% 使用 serverless.。
六、Spring Native
當(dāng)我們詢問 Spring 有哪些地方可以改進(jìn)時(shí),有兩項(xiàng)倍受關(guān)注:減少啟動(dòng)時(shí)間和優(yōu)化內(nèi)存使用。通過將 Spring 應(yīng)用程序編譯為原生可執(zhí)行文件,Spring Native 解決了這些挑戰(zhàn)——而且它已經(jīng)準(zhǔn)備好起飛。
6.1 為什么猶豫?
采用 Spring Native 的最大障礙是:仍處于測試階段 (59%) 和 GraalVM 原生映像技術(shù)需要成熟 (46%)。92% 的利益相關(guān)者對 GraalVM 持積極態(tài)度,這一事實(shí)表明社區(qū)相信該技術(shù)將迅速成熟。

6.2 前途一片光明
Spring Native 于 2021 年 3 月進(jìn)入公測階段。盡管 Spring Native 仍處于測試階段,但 65% 已經(jīng)計(jì)劃部署它:29% 在未來 12 個(gè)月內(nèi),另外 29% 在 1-2 年時(shí)間范圍內(nèi),還有 7% 計(jì)劃 5 年內(nèi)。
七、Spring 正在 K8s 上起飛
在 Kubernetes 上運(yùn)行容器化 Spring 應(yīng)用程序的組織數(shù)量從去年的 44% 飆升至 57%。這 13 點(diǎn)躍升與整個(gè)行業(yè)對 Kubernetes 使用增長保持一致。
十分之九的受訪者希望看到對 Kubernetes 更好的支持,包括 Kubernetes 原生服務(wù)發(fā)現(xiàn)和配置管理 (67%)、簡化的 Spring Boot 應(yīng)用程序容器 image 流水線(57%) 和 Spring 應(yīng)用程序的應(yīng)用程序管理 (52%)。
八、總結(jié)
2021 年是 Spring 繼續(xù)蓬勃發(fā)展的一年,61% 接受調(diào)查的組織表示 Spring 是他們的主要或唯一開發(fā)平臺(tái),高于去年 52%。驚人的達(dá)到 95% 的人贊同 Spring Boot 對生產(chǎn)力有巨大的積極影響,90% 的人表示 Spring 的影響比其他 Java 平臺(tái)更大。Stack Overflow 和 Spring.io 再次成為 Spring 社區(qū)的主要信息來源。我們將全年工作于 Spring.io,以解決社區(qū)對網(wǎng)站可用性和內(nèi)容可發(fā)現(xiàn)性的反饋。
Spring 釋放的巨大生產(chǎn)力的關(guān)鍵是許多有助于加速代碼交付的 Spring 項(xiàng)目。例如:近 80% 的組織使用 Spring Data——它與 MongoDB、Redis 和 Elasticsearch 在內(nèi)的領(lǐng)先數(shù)據(jù)技術(shù)集成。如果你正在尋找合適的 Spring 項(xiàng)目來加速你的開發(fā)工作,那么了解你的同行根據(jù)項(xiàng)目成熟度和文檔質(zhì)量做出決策可能會(huì)有所幫助。在使用現(xiàn)代架構(gòu)的 86% 的受訪者中,94% 使用微服務(wù),35% 使用 Reactive,19% 使用 Serverless。
絕大多數(shù) (97%) 的調(diào)查受訪者表示 API 對他們的開發(fā)工作至關(guān)重要。雖然 JSON over HTTP 和 OpenAPI 占主導(dǎo)地位,令人驚訝的是已經(jīng)有 20% 在使用帶有 GraphQL 的 API。如果你的組織看到 API 快速增長,請查看 Spring Cloud Gateway 和 API Portal 以幫助簡化 API 管理。Spring 社區(qū)中的每個(gè)人似乎都知道 Spring Native。因?yàn)樗蕴幱跍y試階段,很少有人使用它,但 Spring Native 處于有利地位,可以在不久的將來快速使用。
憑借其龐大的生態(tài)系統(tǒng)和良好的業(yè)績記錄,Spring 仍然是 企業(yè) Java 的首選平臺(tái),未來還有更多。這項(xiàng)年度調(diào)查是寶貴的資源,因?yàn)槲覀兣c Spring 社區(qū)合作,優(yōu)先考慮新的創(chuàng)新領(lǐng)域并確定和解決問題。
程序汪資料鏈接
程序汪接的7個(gè)私活都在這里,經(jīng)驗(yàn)整理
Java項(xiàng)目分享 最新整理全集,找項(xiàng)目不累啦 06版
堪稱神級的Spring Boot手冊,從基礎(chǔ)入門到實(shí)戰(zhàn)進(jìn)階
臥槽!字節(jié)跳動(dòng)《算法中文手冊》火了,完整版 PDF 開放下載!
臥槽!阿里大佬總結(jié)的《圖解Java》火了,完整版PDF開放下載!
字節(jié)跳動(dòng)總結(jié)的設(shè)計(jì)模式 PDF 火了,完整版開放下載!
歡迎添加程序汪個(gè)人微信 itwang005? 進(jìn)粉絲群或圍觀朋友圈

