兩年前端歷程回顧的思考與總結

2022-09-12 15:27:31 字數 2148 閱讀 7597

2023年的9月,正式從後端開發轉做前端工作,這其中更多的是機緣。公司技術部門組織調整,原先的團隊發生變動,領導準備組織新的人員去總部接專案,當時想著給自己更多挑戰,就申**入了新的團隊。當時現狀是,公司前端開發人員較少,屬於稀缺資源,新的團隊沒有fe。到現場以後才知道,因為前後端分離,前端是單獨的專案,使用的也是新的前端技術,es6是基礎,框架是react、redux、antd,以及公司基於webpack封裝的構建框架,整個專案的開發和最終在系統上執行的流程也是全新的技術思路,需要一定的前端知識。當時自己的現狀是會寫jsp,寫過一段時間的js,也因為曾經在前端工作較重的情況幫助fe同事做過一些angular1、angular2的專案,算是在整個團隊裡面前端知識相對"豐富"的了,順理成章就由我接了前端的兩個專案。回來以後,由於自己對前端技術一直比較好奇,對大前端也有耳聞,前端人員人手不充足也給了自己機會,所以就在現在的領導的幫助下,順利轉了前端,正式成為了前端的開發小白,對我來說這是乙個比較大的轉折點。

在這幾年的開發過程中,接觸的前端技術也發生了很多的變化:

最開始的時候,公司沒有單獨的前端開發人員,前端的頁面是由後端完成的,使用的是jsp。jsp 是執行在服務端的語言,使用服務端渲染,適用前後端耦合的專案。隨著時代的發展,前後端的界限分得越來越明確,術業有專攻,後端工程師把精力放在了高可用,高效能,高併發,儲存,安全等問題上,而前端工程師主要負責頁面展示,瀏覽器的相容性,使用者體驗等問題,前後端分離是中大型公司的一種必然趨勢。在此基礎上,前後端耦合的專案,需要前端工程師使用j**a的ide,以及配置各種後端的開發環境,對前端開發非常的不便。而且使用jsp,每一次請求都是訪問servlet後再輸出流到html頁面,效率沒有直接使用html高。而且前端工程師在使用jsp的時候,如果沒有j**a基礎,修改頁面遇到一些標籤也會難以使用。另外,現今的局面是,對於網際網路專案的效能要求越來越高,前後端耦合在一起的架構模式也逐漸不能滿足我們,動態資源和靜態資源全部耦合在一起,伺服器壓力大,因此需要通過解耦,來大幅度提公升專案的負載能力。所以放棄jsp,也是一種趨勢所在。

公司有了前端開發工程師後,就已經拋棄了jsp,使用的前端框架是angular1,後來又逐步換成了angular2。在這段時間,我只是參與了幾次前端的開發,對angular1和2的使用和區別有一些了解。1、angular2是重寫的,不是angular1的公升級版,所以他們之間的差別比較大,可以認為angular2是全新的框架。2、angular1是j**ascript,可以直接在瀏覽器中執行,而angular2是typescript,需要經過編譯後才能在瀏覽器中執行,所以它必須使用構建工具。3、在angular1 中控制器controller是非常重要的,用於封裝檢視控制邏輯,而angular2中開發模式改為了模組化開發,去除了controller,4、在angular2中沒有$scope,而是使用zone.js來記錄監測變化。5、angular1中沒有明確的生命週期機制,在angular2中有精心設計的生命週期。

在這段時期,公司的專案雖然引入了新的前端框架,但是並沒有實現真正意義上的前後端分離,而是將最終的檔案打包到後端專案的靜態資源資料夾中,實際最終執行的只有乙個後端專案。顯然這不是我們想要的前後端分離的架構模式。

在正式開始前端工作之後,因為公司前端技術發生了一些調整,先後接觸了vue、react,再後來為了技術統一方便維護,公司大力推行統一的框架,react就成為主流一直使用至今。vue雖然使用的不多,但是給我的感覺是比較輕量,學習成本低,上手快,適合需要快速開發迭代的專案。因為是雙向資料繫結,不需要寫過多的**,但是也因為如此,有時候會發生不可預料的資料問題,可操控性不強。相對而言,react單向資料流,雖然需要寫很多的change事件,但不會出現資料不可操控的問題,適合比較大型的專案。react是facebook建立的j**ascript ui框架,他推廣了virtual dom,並創造了新語法jsx,允許開發者在j**ascript中書寫html。無論react還是vue都是j**ascript的ui框架,有別於augular的功能齊全,需要使用其他功能時就得通過元件引入。

從後端開發到前端開發的這段時間,深深的感悟到前端在不斷的向乙個更加成熟的方向發展。從一開始後端開發包攬前端工作,到後來有獨立而專業的前端開發,從普遍的前後端耦合專案,到後來前後端分離的架構模式在專案中廣泛被應用。從jsp的廣泛使用,到後來前端自己的框架和庫豐富成熟,短短的幾年時間,前端開發已經成為整個專案開發周期中很重要的一環。也堅定了自己選擇前端開發道路的信心。兩年的前端開發工作,對於自己熟悉前端已經有了很好的基礎,接下來的日子裡,會對自己有更高的要求,希望自己能在這條道路上越走越遠~

回顧一下半年前端學習的歷程

找到工作了,簡歷沒有造假,寫的都是練習專案,這些練習專案在之前的博文有發,工作快乙個月了,感覺半年的學習非常到位,一起進來的同事經常抄我的 要我指導的時候感覺成就感十足,但我又怕掉入溫水煮青蛙的陷阱,之前進入前端的學習資料好像沒有太多幫助了,只有像效能優化,網路協議,資料結構與演算法 mysql資料...

從業兩年前端工程獅需要具備哪些技能?

公司招聘有兩點是必須要求的,乙個是工作經驗,乙個是掌握的技術。前端這個行業,很多人都會說自己有兩年工作經驗,包括一些剛剛畢業的大學生,他們甚至不是計算機專業,因為參加培訓班,學了三四個月出來就說自己有兩年工作經驗。如果真的有兩年工作經驗,那麼到底應該需要有哪些技術。如果你說你自己只會用jquery,...

記錄乙個兩年前發生的乙個問題

事情是這個樣子的,兩年前工作中我寫下了如下的 此處是從伺服器獲取乙個list list list new list if list null list.count 0 本來我認為這個是很正確的寫法,但是乙個同事當場質疑我說不能這麼寫,我當時是滿腦袋問好?不能這麼寫?我從學c 的時候我就一直這麼寫,從...