一次前後端分離架構的實踐
拜讀了 @pkwenda 的前後端分離架構系列文章之後,感覺又GET到了新技能,於是乎深入地學習了 Vue
一波,下面談談我的感受。
最大感受就是程式碼解耦了,前後端程式碼不再混雜在一個專案中,開發人員可以各司其職,但同時部署也變得複雜了,原本只需部署一個專案的,現在我們不得不部署兩個專案的,這無疑增加了部署的難度。
關於實踐專案
Wanna Spring
:這是一個記錄個人資訊,採用前後端分離的專案。傳送門:Github or Gitee
後端開發的一些注意事項
-
跨域支援
由於我們需要前後端分開部署,自然不會是同一個埠,所以後端必須支援跨域訪問(這並不是什麼技術難點),不然前端的請求會被拒之門外哦。
-
介面規範
規範的介面可以降低我們的溝通成本,所謂規範的介面就是走REST風格路線,也就是我們常說的RESTful API。
這裡再哆嗦一下4個常用的方法:GET獲取資源,POST建立資源,PUT更新資源,DELETE刪除資源。開發中我們應該為HTTP介面選擇正確的方法,以便讓他人更容易理解介面的用途。
關於什麼是RESTful,其實就是一個風格的規範而已,想了解更多的話請自行谷歌(因為這個真的不好解釋)
淺談前端
由於筆者是一個後端碼農,對前端也不是很熟悉,所以下面將主要介紹一個後端同學學習前端的歷程以及用到的類庫,所以這裡會寫得多一些,有不正確的地方歡迎指出哦
這也是我的第一次學習前端開發吧,之前寫的頁面也都是傳統的、基於ES5開發,現在回頭看,JS裡都是一堆的全域性函式和全域性變數,著實看著讓人難受呀。
-
ES6模組化開發
這讓我重新燃起了對JavaScript的興趣,ES6帶來了很多新特性,最讓我感到熟悉的還是箭頭函式(類似Java的Lambda表示式), 變數也有了區域性變數
let
和常量const
的宣告方式,不過最好用的還是模板語法了深受Java封裝的思想之後,感覺有了強迫症:joy:
-
ESLint
這裡我其實是想吐槽一下ESLint規則的,什麼程式碼縮排兩個空格,行尾不能有分號等等,這讓入門的我真是摔了一跟頭。 不過程式碼規範還是重要的,習慣了也就好了。
特別說明:並不是說這個規範不好,只是剛開始的時候有一點不習慣啦
-
大名鼎鼎的VUE
Vue (讀音 /vjuː/,類似於 view) 是一套用於構建使用者介面的漸進式框架。與其它大型框架不同的是,Vue 被設計為可以自底向上逐層應用。Vue 的核心庫只關注檢視層,不僅易於上手,還便於與第三方庫或既有專案整合。另一方面,當與現代化的工具鏈以及各種支援類庫結合使用時,Vue 也完全能夠為複雜的單頁應用提供驅動
不得不說VUE真的很優秀,學習成本很低,節約了我很多的時間。這裡沒有太多要寫的,畢竟用法官方文件已經寫得很詳細了。 感謝VUE帶給我們的歡樂。
-
ElementUI
元件化開發、元件複用真是好用得不要不要的。之前雖然聽過ElementUI,但那時我還沉浸於Bootstrap4,也並不知道這是基於VUE開發的一套元件框架, 這還是在今年最受歡迎的國產開源軟體投票中再次看到ElementUI,然後決定學習了一波, 發現真的是非常好用,及其方便。
還有同樣是餓了麼前端團隊開發的基於Vue和ECharts封裝的VCharts圖表元件
-
用到的其他庫
總結
網際網路發展至今,各個領域的技術越來越來成熟,前後端分離的架構似乎會成為未來開發的趨勢。 最後,希望自己跟得上這個新技術層出不窮的時代吧,加油:facepunch: