我我的是比較不喜歡去正兒八經的比較兩個框架的,這樣沒有意義,不過欲善其事先利其器!前端
技術是相通的,可是在某個特定的領域的某個階段確定有相對最適合的一個工具!node
這裏比較不是從技術角度比較,而是從公司技術選型考慮的,特別是初創的互聯網創業公司。沒辦法,誰讓互聯網公司離不開軟件呢!哈哈哈。nginx
首先是雙方選手出場介紹:laravel
Laravel框架號稱是Web藝術家的框架,富有生產力,表明了最優雅最流行的PHP框架,通過一段時間的使用,也上了一個項目,感受特色以下:spring
其餘文中再說數據庫
Spring Boot準確來講並非一個完整的框架,而是爲了使 Spring 全家桶更方便使用、更親民而產生的一個整合框架。因此Spring Boot 的背後是 Spring 近乎無敵的生態和解決方案。
先簡單說一下特色吧:後端
其餘稍後文中再說數組
好啦,介紹完選手,就開始來分析一下該用哪一個啦,這裏咱們設定一個情境:安全
假設 小紅 是一位有一個自認爲價值 20億 的Idea,而且打算付諸實踐的小BOSS(即將成爲),稍懂軟件架構和開發技術,沒錯,是很菜的那種(若是很厲害那隨便怎麼用框架了,沒所謂),且啓動資金只有 30萬。服務器
我也不想假設的這麼慘的,現實中這種狀況不少,那咱們就以這種情景展開分析。小紅要以最低成本、最快速度推出 1.0 版本,投放市場,收集反饋,持續迭代。這是一個系統工程,講其餘因素剔除,只考慮技術問題,能夠總結成如下幾點:
開發這個過程,咱們將它定義爲需求和原型都已經肯定,而且已經簡單建模完畢,嗯,就是猿們到崗後拿着需求文檔打開電腦(Windows)的時候開始,到 1.0 版本發佈這段時間,是誰跑得快!O(∩_∩)O哈哈~
首先是 Laravel 框架,步驟是這樣的:
composer create-project laravel/laravel xxx
對 Laravel 的開發流程熟悉的人呢,開發速度是很快的。
咱們再來看看Spring Boot:
業務不復雜就不要折騰微服務啦,不要像某人同樣明明只有一臺機器,硬是要開幾十個端口,而後跑幾十個Spring Boot的小服務,還用Cloud全家桶串起來了。我竟無言以對
單體應用擼起來,步驟以下:
我我的以爲Spring Boot的開發效率要比 Laravel 框架高些!
爲何呢? 由於若是對 Spring 的機制熟悉,也瞭解 Security、JPA、Thymeleaf模板、RabbitMQ 等等功能模塊的使用,Spring Boot 的封裝是比 Laravel 要好的,但前提是對Spring 那一套熟悉,否則從何入手都弄不清楚。
Spring 有些組件是很是複雜的,例如 Spring Security
Laravel 框架借鑑了不少 Java Spring 的思想,好比容器,依賴注入、切面,這方面明顯 Spring Boot 是正宗,註解啥的6得飛起!
Java 語言很是嚴謹,在開發過程當中的體驗比較好,至少像我這樣天馬行空的猿,還非得要 Java 這個老頭來管着,否則分分鐘要跑偏。
回到開發效率這個問題上,若是對兩個框架都比較熟悉的狀況下,Spring Boot 是開發比較快的,但 Laravel在某些方面是完勝Spring Boot,以下:
$app->bind
,儘管這不消耗多少時間,可是比起Spring強大的註解仍是慢很多,並且主流IDE對 Spring 的 Bean 提供了導航查看功能,牛逼哄哄啊;總結:在技能掌握充足的狀況下,我的感受 Spring Boot 開發效率要略高於Laravel。我的掌握狀況不同,請勿噴,能夠參考文中的幾個維度,本身思考一下。
最後想提一下,順便求證:
Laravel 不念 「拉瓦」
Laravel 不念 「拉瓦」
Laravel 不念 「拉瓦」
時候不早了,有點困。今天就寫到這,明天再寫人工成本的考量。
你們晚安!謝謝