2017-06-01 154 views
13

我開始一個新的Spring Boot Web應用程序,我需要做出關於如何實現前端的選擇。在Thymeleaf和Angular之間選擇一個新的Spring MVC項目

我非常喜歡Thylemeaf模板框架,這是我在上一個項目中使用的,但我正在評估Angular(v2)作爲可能的替代方案。

我很新的客戶端MVC框架,我想了解是否有一些指導方針來決定哪個選項是最好的Web項目。

我讀過很多關於這個職位和教程,但他們似乎都描述個人意見或者是剛剛編碼實驗...

有一些應用需求是客觀建議使用客戶端方法而不是服務器端實現?

使用這兩種技術是否可行並且有效?

+0

一起使用它們是可能的,我已經在一些項目中完成:) 至於這是否是好的做法,但我不能告訴你。 – N4zroth

+0

通過[JHipster](https://jhipster.github.io/),您可以同時使用兩者。我認爲這是最好的解決方案,如果你想使用角度彈簧。 –

+0

謝謝你們。我仍然試圖理解使用這兩個框架或者簡單地選擇其中之一是否合理。但我也想深入瞭解他們兩個人做出正確選擇的真正優勢。 – davioooh

回答

3

選擇不是使用一個JavaScript庫還是Thymeleaf,這是您創建的人爲約束,它們都是不同的動物。 Thymeleaf用於模板化,JQuery是用於製作動態頁面的客戶端庫。選擇模板庫或在JavaScript庫之間進行選擇會更有意義,但兩者可以很好地結合在一起。

一般來說,你的模板不應該影響你的JavaScript代碼,有些人會模仿他們的Javascript代碼,但恕我直言,這是一個可怕的想法。相反,使用模板來替換HTML中的標籤屬性,並使用Javascript來使您的網站充滿任何您選擇的庫。

我不知道你所說的

客戶端approah而不是服務器端執行的意思

但我看到時下2種不同的方法,創造Microservies VS壩段Web應用程序。如果您完全在Thymeleaf中開發您的網站,您不會使其可重複使用。 Netflix,亞馬遜,優步等都創建了服務(有時稱爲微服務),這些服務通過REST API在整個組織中重用。

如果你只有一個在Thymeleaf中實現的網站,其他應用程序(移動設備)將不可能訪問你的應用程序創建的任何服務,而如果你爲你的應用程序創建了一個REST API,那麼你可以繼續重用服務器後端,用於需要製作移動應用程序或具有類似要求的其他Web應用程序。

當然,如果你的服務不會被重複使用,這可能對你無關緊要,你可能非常精通以某種方式做事,雖然不是最可重用的,當然我們並不總是創建下個亞馬遜。但我仍然認爲遵循最佳實踐是個好​​主意,即使它只是爲了更好地以某種方式做事。

+0

請發表評論,謝謝! – Snickers3192

15

Thymeleaf和AngularJS並不相互排斥。你當然可以一起使用它們,這取決於你想要完成什麼。如果您正在編寫單頁動態Web應用程序,Thymeleaf可能是不必要的。

談到你關於客戶端框架的問題與服務器端的,我是一名企業軟件工程師,所以我沒有創建商業軟件,我的優先級不在於它看起來多漂亮(Bootstrap有一點小技巧),更多的是關於穩定性,瀏覽器兼容性(即使使用舊瀏覽器)和可維護性。我個人避免單頁,動態Web應用程序,因爲我發現代碼庫在非平凡的應用程序中更難以管理;在我看來,一個大的Javascript代碼庫可能是一個熊。主要在服務器端建立我的頁面爲我提供了更好的調試功能(Java將爲您提供大量的JavaScript編譯時幫助),並且更易於日誌記錄。我在客戶端使用javascript(大部分只是jQuery),但通常我的網絡應用程序的構建會優雅地降級,如果用戶關閉了javascript。再次,這些是內部的,功利的應用程序來支持業務。我沒有時間寫一篇關於這個主題的論文,並且有很多我沒有涉及的細微差別,但是希望這是有用的。

如果您需要您的網絡應用程序更像移動或桌面應用程序,那麼使用像AngularJS這樣的框架的單頁動態網頁應用程序是一種可行的方法。

+0

謝謝Erik您的有趣觀點。 – davioooh

相關問題