最近已經不止一個人和我提起過vue了,在我的前端印象中,我還停留在smarty渲染模版,jquery做js處理。學了一晚上,對現(xiàn)在這種工程化webpack打包生成html,js,css的生產方式越來越有興趣了。工作年限擺在這里的好處就是經歷了不少技術的變革,能從縱向思考下技術的變革和趨勢的路子。

想想很久以前剛開始接觸php的時候,說為什么要使用php?前輩告訴我因為php能很方便地生成html,php文件中可以隨便地內嵌html,這樣你寫一個頁面就會行云流水。后來呢,大家發(fā)現(xiàn)寫一個頁面還行,但是寫一個網站,這個寫法就受不了了。又臭又長的代碼,改一個頭部顏色,需要去好幾個文件里面找東西。不行,就需要把模版從php中分離出來。于是我就接觸到了smarty,smarty很好地把模版渲染文件隔離開了,我們可以把模版文件放在一個文件夾中,再也不需要和php代碼放在一起了。

現(xiàn)在呢?前端隔離到一個模版中還是不夠好,數據和模版的結合放在服務端,導致至少php代碼和smarty模版需要放在同一個機器上,好嗎?現(xiàn)在的做法,在服務端只留一個最簡單的index.html,這個叫做單頁。我們使用各種前端框架,react,vue,angular等,實際上是把數據和模版的結合放在了瀏覽器端,也就是前端。

前后端分離的路子基本就是這樣走的,在上一家公司的時候,我碰到了另外一個“有年齡”的工程師,他告訴我,其實,php這邊的后端發(fā)展也是這樣發(fā)展的。

php這邊現(xiàn)在比較流行的還是MVC的路子。比較復雜的邏輯,都是在Controller層中做的。但是實際上,據說有一段時間,邏輯層是流行寫在數據庫中的,數據庫中會存在大量的存儲過程。這種方式我嘗試過一段時間,最后苦不堪言告終,當你一個金額結果出錯的時候,你需要一個一個地方思考各個表的存儲過程中的邏輯是否有沖突的情況存在。所以我很慶幸我沒有經歷過當時那種寫存儲過程的時期。

現(xiàn)在后端的邏輯也逐漸往代碼層轉移了。在代碼層進行增刪改查的行為。數據庫只是單純的作為存儲使用了。

現(xiàn)在流行的微服務,其實也是一種演進,把后端邏輯層和數據層按照模塊進行橫向分離。

網友評論