1. 程式人生 > >你的專案應當使用Spring Boot嗎?(譯文)

你的專案應當使用Spring Boot嗎?(譯文)

Spring Boot如今看似越來越受市場永無止境的流行了,自從2014釋出以來,成功地在五年內超越了Java端伺服器。但出現的一個問題是,當我們開始一個新專案時,我應不應當使用Spring Boot?

我將在在這篇文章中,幫你回答這個問題!

我們每個專案都是與眾不同的,我們可以通過一些特性比較。通過這些特性,我會告訴你的專案應不應該使用Spring Boot。

你仍使用微服務體系架構工作嗎?

Spring Boot的最大的賣點是它用於微服務架構。我同意—我已經使用Spring Boot在大型企業的生產中實現了微服務架構,並且它工作得很好。

但是我要指出的是,由於許多公司熱衷於使用Spring Boot,沒有看到Spring Cloud,而錯失這個技術。我以前寫過關於

Spring Cloud作為微服務架構藍圖的文章—我真的認為這是一個很好的思考方式。如果您已經在考慮使用Spring Boot和實現微服務,請檢視Spring Cloud及其提供的內容。

Spring Boot是微服務架構的好選擇嗎?當然是!

你的專案是否使用Kotlin?

Kotlin似乎非常快速的受到開發者的歡迎。自從2017年中期以來,似乎它成了非常有趣的語言,許多開發人員熱衷於在伺服器端使用它。 

如果你正在研究Spring Boot的Kotlin愛好者,我有一些非常棒的訊息想告訴你。 Spring Boot 2.0構建於Spring 5之上,為Kotlin帶來了更好的支援。您可以在Spring官方網站上釋出的文章中閱讀它 -

介紹Spring Framework 5.0中引入Kotlin支援。

在使用Kotlin的時,Spring Boot是不是一個不錯的選擇?絕對是的! 

你會使用Serverless架構嗎?

另一個正在流行的趨勢是Serverless架構。隨著AWS lambda(亞馬遜一種無伺服器架構技術)和Azure Functions(微軟一種無伺服器架構),在執行您的系統時變得越來越容易……“無伺服器”。由於這個詞語的意思存在一些爭論,我在這個詞語使用了引號。你可以自我判斷。

使用這個技術,你可以執行你的Spring Boot無伺服器技術,但你會這麼做嗎?我認為這不是Spring Boot或無伺服器架構的最佳選擇。

你應該用什麼技術更替它?如果你想知道Spring這個傢伙在背後都做了什麼,你應該看一下RIFF這個專案。不過它還處於早期階段,但相當有趣。

偶然的機會,讓我在部落格上表達奇異的看法——是不是可以考慮另一種語言實現?Java用於無伺服器技術,我認為使用JVM不是最好的方法。如果你不同意,你可以在評論裡給我指點指點。

那麼,Spring Boot是無伺服器架構的好選擇嗎?我不會這麼認為。

你是正在進入Spring的開發者嗎?

Spring是一個非常強大的生態系統,從頭開始學習,確實非常讓人頭疼的。如果你的團隊以前從未使用過,你得考慮這是不是一個正確的選擇?

我很喜歡在Spring Boot專案上和一些沒有Spring開發經驗的人員合作。我發現,Spring Boot有一個相當好的學習曲線。您可以很快地獲得基礎知識,並且當您學習這個框架時,不許擔心配置。

事實上,我發現Spring Boot是最友好的伺服器端框架之一。也許這就是它的瘋狂流行的原因之一?

對於沒有Spring開發經驗的團隊來說,Spring Boot是不是一種可行的選擇?當然可行!

你期望的程式碼基礎很簡單嗎?

如果你不需要Spring Boot提供的所有功能。可能你對依賴注入和奇妙的自動配置不感興趣。你只想寫一些簡單的REST API。

這裡你有一個選擇——Spring Boot作為基本REST API來說仍然很棒,但是你可以給像JavalinSpaveJava這樣的microframeworks提供機會。

Spring Boot是否適合簡單的REST API?當然可以,但也可以檢視microframeworks相關資料!

總結

對於大多數的現代伺服器端開發來說,Spring Boot是一個不錯的選擇。這真的很奇怪嗎?Spring Boot是非常流行的一個原因!

不過,在你選擇Spring Boot之前,要確保你不是“如果你有一把錘子,一切看起來像個釘子”(如果你有決心,有毅力(有能力之類的),那麼你幹什麼事情都會很容易,任何事情看起來也會很簡單,會迎刃而解),用正確的工具來做這項工作。尤其是當進入無伺服器或試圖寫一些“簡單”的事情的時候。