提問
- 一定要把前後端的界線搞得像鴻溝一樣難於逾越嗎?
- 前端開發和後臺開發有沒有覺得很相似?
- JS文件承擔起前端的哪部分工作?該如何規範JS文件層次?
思考: 代碼敲了漫長一段時間了,業務也處理了很多,但好像每次都是在趕進度,很少停住腳步回顧,今天就粗淺地談談對前端的一些看法。
簡述前端史
在零幾年是沒有純前端概念的,那個時候還是互聯網刀耕火種的時代,隨着客戶端的飛速發展,技術的不斷迭代,有了前後端分離的模式,自此以後,前端開始被玩出花。
前端的作用:1.界面 2.性能
前端三樣式:HTML:頁面骨架、CSS:頁面美化、JS:處理業務邏輯。
早期的前端是純粹的,現在的前端花樣百出。諸如大前端一把梭哈,出口就是爆棧工程師之類的。。。新的理念、技術和框架也是前端涌出的較多,這也體現了前端發展之快。
從後端看前端
前端本就是從後端業務中獨立出來的,早期的工程師們都是把做界面的活兒一塊給完成的。那麼現在來看居於一隅的前端工程師或者後端工程師是不是有些矯情了?
前端和後端的區別
很多幹這行的總喜歡給自己打上標籤,前端和後端因此界限分明,但是可以很負責地說,沒有哪位業界大牛不是前後端通吃的。前端和後端最大的區別無非是前端不用操作數據庫,後端不寫CSS 。編程技術總是因爲處理問題的邏輯思維相同而相通,它們應該是緊密聯繫的。
前端處處能看到後端的影子
- 組件、模塊化、容器等等這些概念都是後端中有,前端因爲相同的編程思維而同樣適用的
- 這幾年大火的前端MVVM架構也是脫胎於後端經典的MVC架構。
- MVC架構中的
controller
是不是和JS文件
作用很像?做後端的都知道控制層是不寫業務的,否則會導致項目混雜,難以維護,這裏同樣適用於前端
前端項目層次結構的重要性
前端基本靠HTML+CSS+JavaScript三把斧,所以總體來看前端是沒有後端複雜的
。但是項目一旦大起來,前端業務也是不容小覷。這時候非常需要注意分層,現在可以引出下面的思考了。
頁面的JS文件真的適合寫業務邏輯嘛?
答案當然是 不適和 。 做玩具項目你怎麼開心怎麼寫都行,所有業務邏輯,所有網絡請求都寫在一個JS文件都OK。但是非玩具型的項目
的維護、量級是龐大的,由於JS這門語言動態的特點等,沒有像Java這種語言嚴格的類型約束,導致JS太隨意了,項目一旦複雜起來勢必會十分混亂,這也是現在很多大廠前端團隊推TypeScript
的原因。
總結:
- 不要存在過多 前端後臺界限分明 的看法,前後端的界限已經越來越模糊
- 寫JS代碼要規範,層次分明,前端應該汲取後端的MVC架構的特點
- 比如用Model文件夾把處理業務的JS文件提取進來,讓界面的JS文件作View層