全文共2888字,預計學習時長9分鐘
來源:Pexels
從後端開發轉職到前端開發真的不容易。
特別是當你已經習慣了後端開發的工作模式,習慣了構建資料結構,編寫類似於測試驅動開發的測試,習慣了使用持久層、倉庫和資料庫圖表,以及給前端建立API介面。
凡此種種,不勝列舉。後端有其複雜性,所以大部分人沒有時間學習前端開發的內部運作方式。
我也是。
甚至可以說,基本上已經與後端綁定了,直到我被迫轉職,調崗到前端,從此我能為最好的、擁有強大UI互動性的產品編寫程式碼,無需過多依賴前端框架,無需框架提供的黑盒幫我挑重擔,還能創造很棒的app。
以下是我從後端轉職前端開發至今的經驗:
一切都與使用者介面和使用者體驗有關在後端,讓人最為擔心的就是資料結構,資料庫結構和效能,程式碼架構,服務,以及開發前端工程師能理解並使用的強大API。
前端則非常不同。開發人員需要關注使用者介面,關心使用者如何與app互動,然後量化評估使用者體驗。有時你需要自己設計使用者體驗,然後改進應用程式流程。
我喜歡前端開發的一點是可以直接解決使用者需求、關注他們的體驗。前端的方法跟後端不同,因為前端以使用者為中心,一切都圍繞著如何讓使用者更舒適地使用你開發的app,而不是處理資料結構。
在專案開始時,把UI擺在第一位,思考應用流程在後端工作時,我無法想象如何與使用者互動、如何改進使用者流程,因為我幾乎只關心CRUD(資料庫的增刪改查)操作以及app如何將資料儲存到資料庫,包括最重要和最敏感的資訊,比如公式、信用卡資訊,等等。因此,當我做UI相關工作時,真的糟透了。
轉職到前端後就大不一樣了。現在,我會首先考慮使用者會如何使用app並與其互動,思考他們是否會喜歡這樣的體驗。然後,我會在UI或者展示模型的基礎上,設計合適的後端結構和資料庫。
思考如何提升UI複用性自從React這樣的前端框架面世,開發人員都從“元件”出發考慮和安排UI。元件能夠在不同的頁面重複使用,這是一件好事。再也不用為重複使用UI元件白費力氣了,因為現在UI元件已經標準化了。
正如我所說,轉職到前端促使我思考UI的複用性,提升了我的決策水平。在選擇符合需求和專案範圍的前端框架時,無論是React,Vue還是Angular,我都能選出正確的那一個。
如果你想把UI元件分享給不同的專案及團隊,建議看看Bit的工具,看它能否幫到你。
構建自己的應用模型學著為自己的想法構建模型也許與前端技能本身無關,但它無疑幫助我優化了視覺效果,使我能更好地模仿自己的設計,並在前端將其編寫出來。
構建模型這一技能不同於前端技能,但是,能夠根據模型和他人的設計編寫前端程式碼,這讓我感到興奮,構建自己的模型、用所學的前端技術將其編寫出來也讓人興奮不已。
一切都與網頁端效能和客戶端優化有關你不僅要關注使用者介面,而且要關注客戶端及網頁的效能。這很重要,因為使用者時不時會與瀏覽器互動,也就是與前端程式碼互動。
因此,我認為有必要提高網頁端效能,無論是使用像本地儲存這樣的快取策略,最大化地壓縮JavaScript程式碼,用webpack打包和轉換,還是在程式碼中使用動態匯入。
我意識到優化不僅來自後端,也來自前端,它能給網頁端應用的使用者帶來無縫的使用體驗。
學會建立快速響應的網頁建立快速響應的網頁無疑是前端開發中讓人頭疼的挑戰之一。開發人員必須確保UI的響應在不同裝置上都足夠快,無論使用者用的是臺式電腦、膝上型電腦還是智慧手機。
在剛開始學習前端開發的技巧時,我仍視其為讓人頭疼的挑戰,直到我找到了其中的訣竅。準確來說,製作快速響應的網頁乍看簡單,但是我沒有意識到我一直以來都錯了。
當然,如果打算依賴前端的框架,這個麻煩自然不復存在。但是,我們不想過多地依賴框架,想從頭開始,自己學習前端開發是如何運作的。
來源:Pexels
學習搜尋引擎優化(SEO)SEO是提升app主頁排名背後的驅動力,所以學會SEO也是非常重要的。
SEO常用於前端app中,幫助顧客或app提升排名,這樣潛在的使用者就能很快看到app並使用它。
因為學習了前端技術,我能肯定SEO是一項必須掌握的重要技術,它甚至能為使用者或者app本身提高銷量。
善用層疊式樣表 (CSS)CSS是前端開發的一個重要組成部分。如果你無法掌握CSS技能,不知道如何用CSS排列UI元件,你是無法在前端部門立足的。
一開始,這對我來說非常困難。我沒有敏銳的設計眼光,也不知道如何按照喜好合理排列UI元件。但隨著我對前端開發的學習、逐漸掌握了CSS,這就像第二天性一樣,我再也無需苦惱了。
因此,通過轉職到前端開發部門,我出色地掌握了CSS。
學會不再過於依賴前端框架我必須承認,作為曾經從事後端工作的人,我依賴前端框架只是為了完成工作,以及把產品轉給他人接手。
我以前在一家初創企業工作時,只掌握了後端技能,我一直依賴前端UI庫和框架做下拉選單和側邊欄,但是這樣很容易把事情複雜化,前端程式碼也變得難以維護,因為哪怕是一小段基礎程式碼都離不開前端庫。
轉職成為全職前端開發人員讓我更自由。因為,僅僅為了讓前端UI更好看、互動更流暢,除了框架還有許多其他的方法。要說轉職到前端有什麼不同的話,那就是你可以自由決定如何排列前端元件、讓它們動起來,而無需過度依賴框架。
想要成為設計師這很有趣。當我從後端轉職到前端,想要自學設計。比如說,從無到有設計一切,然後用我過去幾年掌握的前端技能把我的設計碼出來。然後我有了學習Adobe Photoshop的想法,當然這也需要幾個月的時間磨練技巧。
但是,毫無疑問,前端的工作豐富了想象力,同時,我也為能夠學習設計感到興奮!
來源:Pexels
從一個前後端人員的角度來看,前端的工作一開始真的非常有挑戰性,直到我紮實掌握了前端的基礎技能,開發app對我來說就像第二天性一樣了。
如果你問不同的人,其他人可能第一眼就覺得前端程式設計非常簡單,但對於我來說,一開始前端程式設計絕對是個挑戰。
現在,網頁開發生態系統日新月異,我認為學習前端技能對我的職業生涯有益,能夠更多地幫助我的客戶,所以我馬上投身於前端的浪潮,開始學習前端技術。
對於那些想要從後端轉職到前端但是又不知道從何處著手的人,以下是我的建議:放手去做,勤加練習,夯實基礎,掌握對的技能/技術,在前端開發的舞臺上大展身手吧!
我們一起分享AI學習與發展的乾貨