最近已經(jīng)不止一個人和我提起過vue了,在我的前端印象中,我還停留在smarty渲染模版,jquery做js處理。學(xué)了一晚上,對現(xiàn)在這種工程化webpack打包生成html,js,css的生產(chǎn)方式越來越有興趣了。工作年限擺在這里的好處就是經(jīng)歷了不少技術(shù)的變革,能從縱向思考下技術(shù)的變革和趨勢的路子。
想想很久以前剛開始接觸php的時候,說為什么要使用php?前輩告訴我因為php能很方便地生成html,php文件中可以隨便地內(nèi)嵌html,這樣你寫一個頁面就會行云流水。后來呢,大家發(fā)現(xiàn)寫一個頁面還行,但是寫一個網(wǎng)站,這個寫法就受不了了。又臭又長的代碼,改一個頭部顏色,需要去好幾個文件里面找東西。不行,就需要把模版從php中分離出來。于是我就接觸到了smarty,smarty很好地把模版渲染文件隔離開了,我們可以把模版文件放在一個文件夾中,再也不需要和php代碼放在一起了。
現(xiàn)在呢?前端隔離到一個模版中還是不夠好,數(shù)據(jù)和模版的結(jié)合放在服務(wù)端,導(dǎo)致至少php代碼和smarty模版需要放在同一個機器上,好嗎?現(xiàn)在的做法,在服務(wù)端只留一個最簡單的index.html,這個叫做單頁。我們使用各種前端框架,react,vue,angular等,實際上是把數(shù)據(jù)和模版的結(jié)合放在了瀏覽器端,也就是前端。
前后端分離的路子基本就是這樣走的,在上一家公司的時候,我碰到了另外一個“有年齡”的工程師,他告訴我,其實,php這邊的后端發(fā)展也是這樣發(fā)展的。
php這邊現(xiàn)在比較流行的還是MVC的路子。比較復(fù)雜的邏輯,都是在Controller層中做的。但是實際上,據(jù)說有一段時間,邏輯層是流行寫在數(shù)據(jù)庫中的,數(shù)據(jù)庫中會存在大量的存儲過程。這種方式我嘗試過一段時間,最后苦不堪言告終,當(dāng)你一個金額結(jié)果出錯的時候,你需要一個一個地方思考各個表的存儲過程中的邏輯是否有沖突的情況存在。所以我很慶幸我沒有經(jīng)歷過當(dāng)時那種寫存儲過程的時期。
現(xiàn)在后端的邏輯也逐漸往代碼層轉(zhuǎn)移了。在代碼層進行增刪改查的行為。數(shù)據(jù)庫只是單純的作為存儲使用了。
現(xiàn)在流行的微服務(wù),其實也是一種演進,把后端邏輯層和數(shù)據(jù)層按照模塊進行橫向分離。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26