一次前後端分離架構的實踐

Ease發表於2018-12-02

一次前後端分離架構的實踐

拜讀了 @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圖表元件

  • 用到的其他庫

    • Axios 超級好用的HTTP請求庫

    • DayJS 一個日期處理庫

    • Validator 一個字串校驗庫

    • JSCookie 一個輕量級的Cookie操作庫

總結

網際網路發展至今,各個領域的技術越來越來成熟,前後端分離的架構似乎會成為未來開發的趨勢。 最後,希望自己跟得上這個新技術層出不窮的時代吧,加油:facepunch:

專案原始碼:Github or Gitee

相關文章