聊一聊web開發的前後端分離和頁碼分離

我一直對web非常感興趣,在這個APP爲主導的時代,我依然覺得未來的社會是屬於瀏覽器的。

不過今天不說瀏覽器,說說web中的前後端分離和頁碼分離,可能題目看起來怪怪的,因爲【前後端分離】和【頁碼分離】看上去是一個概念。

實際上,前後端分離指的是後端代碼和前端代碼的分離,頁面分離是指在前端頁面上html元素和js代碼的分離(也包括前者)。

ps:沒必要糾結概念問題。

言歸正傳,先說說什麼是前後端分離,最理想的前後端分離是:

前端專門負責前端,即便是沒有後臺,前端也能正常顯示;

後端專門負責數據,除了處理數據,什麼頁面拼接,這種事我都不做,我只負責接收請求,返回數據(或結果);

這麼看起來前後分離是一件非常棒的事呀,如果你是老闆,你可能一下就發現了其中的好處,那就是效率成倍的提升,不僅僅如此,如果按照這種理想的狀態,就連交互性等等都會非常非常的棒!

But!但是!

你需要面對的問題就很多了,【JS的加載順序】【前端的模板技術】【ajax動態加載技術】【如何記錄用戶】【當cookie禁用時怎麼辦】【如果用戶修改信息,cookie怎麼辦】【如何在前端防止XSS攻擊】【如何防止CSRF攻擊】...

大多數公司對新技術的接受能力都很有限,就算喜歡新技術,當面對以上的問題的時候也很頭疼,尤其是當cookie被警用時,你真的就呵呵了~

所以,即便是前後端分離有很多好處,但大多數公司還是選擇了不分離,對了,還有個原因:老闆不在乎方式,主管害怕變數。

說完了前後端分離的利弊,再看看前後端不分離的利弊,好處:

很多時候可以不招前端,幾個phper完成一切;

嗯...還有...嗯...我想不出來了;

還是說說壞處吧:

頁面拼接這種小事要後端來做;

後臺模板循環往tpl裏賦值;

有人用後端給JS變量賦值(這事我在N個模板中看到了);

基本上JS能做的事一半都交給了後端做,以前跟一個朋友聊天,他是做前端的,我們聊分頁的時候,他跟我說分頁的頁碼‘顯示’應該是後臺來做的,就是那個我們經常看到的分頁下面有個【上一頁,2,3,4,5,下一頁】這個東西的顯示邏輯要後臺來做。其實這種事不怪我那朋友,公司就是那麼做的,他一個前端也改變不了大況。類似這種事經常會出現在目前的web開發中,但是大家體會不到這樣做和不這樣做的差別。因爲公司不大訪問量也不多,即便訪問量大,那大不了就增加服務器的性能唄,在前期服務器的性能比程序員便宜多了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章