Spring 的這十年 - 新年快樂版 - 2019 年 12 月 31 日

工程 | Josh Long | 2019 年 12 月 31 日 | ...

嗨,Spring 的粉絲們,新年快樂!歡迎來到另一個特別版的「Spring 的這週」。通常,在新年之前或之後撰寫的第一篇文章中,我會記錄去年最重要的時刻。今年,鑑於我們即將跨越新的一年,更是一個新的十年,我將盡我所能地總結過去十年 Spring 生態系統中最大和最好的事情。我在撰寫本文時面臨的問題不是想出要提到的事情,而是限制我提到的事情的數量!

從哪裡開始呢?很難相信我們社群已經走了這麼遠。請記住,Spring 最早的程式碼可以追溯到 2001 年,大約 19 年前。 Spring 的原始創作者 Rod Johnson 在這篇部落格文章 - Spring 的 18 年中談到了 Spring 在過去近 20 年的發展。

Spring 的這十年

現在,我們從哪裡開始呢?

  • Spring Boot - 這非常容易!Spring Boot 正在改變世界。當我們 Spring 團隊在 2013 年宣布 Spring Boot 的 .4 版本時,我們誰也沒想到它會走多遠。這是一種對 Spring 及其支援的 Java 生態系統的意見導向方法,它採用了約定優於配置框架(如 Rails、Grails、Spring Roo 等)的一些最佳模式,同時不犧牲靈活性。 Spring Boot 現在是 JVM 生態系統中使用最廣泛的 JVM 函式庫,僅次於 Java 本身。所有大規模線上服務都使用它。它已經在生產的火焰中鍛鍊出來,而且最近的工作表明,它已經從最高效、最強大的框架轉變為效能最高的框架之一。誰知道下一個十年會為 Spring 開發人員帶來什麼,但我敢打賭它會建立在 Spring Boot 的基礎之上。
  • Spring Cloud - 如果 Spring Boot 是一種用於建構應用程式的意見導向方法,那麼 Spring Cloud (建立在 Spring Boot 之上) 是一種用於建構 (微服務!) 且專為雲端設計的應用程式的意見導向方法。對於現代應用程式來說,雲端就是生產環境。 Spring Cloud 利用相同的 Spring Boot 自動配置,並支援一種用於建構應用程式的意見導向方法。
  • Java 8 - Java 8 於 2014 年發布,並重振了 JVM。如果 Spring Boot 還不明顯 Java 是值得押注的生態系統,那麼這個版本就更明確了。它表明這個主力生態系統仍然充滿活力,並引入了大量新的語言和執行階段功能。突然,Java 語法看起來更像它的一些同時代兄弟姊妹。很難低估 Java 8 以及 Java 團隊從那時起採用的交付新功能的心態對我們的生態系統有多麼重要。
  • 應用程式伺服器的消亡 - 雖然 Spring Boot 不是第一個支援基於 JVM 的應用程式的替代部署模型的,但它是第一個普及它的。它清楚地表明,我們所知的應用程式伺服器不再相關。當然,您可以在應用程式伺服器中執行 Spring Boot 應用程式,但是.... 為什麼?您沒有獲得任何好處,並且為了這樣做,顯然犧牲了相當多的東西。現在,請記住,Pivotal/VMware 是,並且一直是 Apache Tomcat(最多產的應用程式伺服器)的主要投資者之一,因此應用程式伺服器的消亡是自殘行為。我們對此沒有意見。您可以使用 Apache Tomcat 作為 Spring Boot 中的函式庫,並且數百萬人已經這樣做了。只是您不必這樣做。 HTTP 伺服器與您的執行階段不同,這才是應有的樣子。
  • 雲原生應用程式 - Spring Boot 承擔了應用程式伺服器的執行階段責任,而雲端介入以交付應用程式伺服器永遠無法提供的以平台為中心的責任。這兩件事 - 由 Spring Boot 驅動的智慧應用程式和像 Cloud Foundry 和 Kubernetes 這樣的智慧平台 - 開創了雲原生 Java 應用程式的新時代,這是我非常喜歡的一個主題,我還寫了一本書!

Spring 的這週

好了,我的朋友們,我們已經走了很長一段路,讓我們開始吧!

最後,我的朋友們,今年結束了。當我發布這篇文章時,世界上的某些地方已經是元旦了。我想提醒那些還沒跨越日期變更線的人,不要喝酒和寫程式,也不要酒後駕車。外面很危險。請注意安全,如果有一絲疑慮,請在今晚的慶祝活動後叫車回家。當然,祝大家,無論你在哪裡,新年快樂!

獲取 Spring 電子報

透過 Spring 電子報保持聯繫

訂閱

領先一步

VMware 提供培訓和認證,以加速您的進度。

了解更多

取得支援

Tanzu Spring 在一個簡單的訂閱中提供對 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位檔。

了解更多

即將到來的活動

查看 Spring 社群中所有即將舉行的活動。

查看全部