標籤:

我的前端成長回顧

背景

轉眼間,學習前端也有兩年半了,從開始的不知js/css/html是什麼,到一年前感覺自己工作比較重複覺得有點迷茫,再到現在重新充滿激情,也獲得了一些大公司的錄取機會,也是多少找到了一點成為優秀前端的方向了。

不經意發現知乎上我兩年前的零基礎開始學 Web 前端開發,有什麼建議嗎?的回答還有人在看,在評論,有點感慨。我的分享應該也是幫助了一些人入門吧,他們或許在入門後也碰到跟我一樣的迷茫,不知道他們是怎麼解決的呢?現在把我在入門前端之後的發生的經歷和成長也寫出來,希望對大家也有點幫助。

2016年

在入門前端後,我如願在2016年的三月份入職了廣州某遊戲公司,完成了當初想在畢業前去個大公司的小目標。當時我還處在只會jquery,看了點backbone,寫過一下experss,懂點點nodejs,了解es6的狀態。

在公司主要進行的就是比較常見的內部管理系統的開發,現學現賣的用上了vue,當時還是用vue1,在半年後vue2推出,又花了一定的功夫把項目遷移到了vue2,2017年找工作時可能還會有人問下vue1和vue2的區別是什麼,現在應該也沒有人問了,前端真的是一個變化很快的領域。

相比起react,vue是一套很適合新人,門檻較低的框架。推薦前端剛入門的小夥伴去學習。vue看似簡單,但是如果僅僅是停留在使用api和相關工具,希望大家在空閑之餘,可以了解下源碼,可以重點關注一下vue雙向綁定,虛擬dom,nextTick的原理,看下vuex和vue-router的源碼,前端的變化很快,僅僅記住api和工具是不夠的,要了解底層的編程思想和實現原理。

2017年

經過一些曲折,17年四月份我入職了某創業公司,擺脫了之前的內部管理系統,開始了進行面對用戶的前端的開發。

不得不說,面對用戶的頁面跟之前的內部管理系統還是有不小的區別的。前者要考慮的東西要多一些。內部管理系統比較注重對業務的了解以及開發效率,對性能優化,兼容性等沒什麼要求,只有內部的人用,統一用chrome瀏覽器,過得去就可以,可能更多的注重將數據轉換成視圖頁面。然而面對用戶的頁面不一樣,需要考慮兼容性問題,考慮載入時間問題,考慮seo問題,考了美觀問題,考慮響應式問題等等等等。

其實這兩種頁面並沒有優劣之分,對內部的系統可以往開發效率提升以及複雜應用的方向提升,而對用戶的頁面則可以往性能優化,多端兼容的方向去發展。只要不滿足於獲取數據渲染頁面,都有提升和發展的空間。

在17年下半年,接到任務,進行移動端的架構,被要求不能使用vue/react,直接使用伺服器渲染頁面。這讓我有點慌。說實話,當時我已經寫了超過一年的vue項目,習慣於每開一下新項目就搭建vue全家桶,讓我拋棄先進的mvvm框架,去使用回原生的js,感覺就好像下了飛機去坐火車。

然而讓我這樣做也是有道理的,公司的移動端的頁面並不複雜,並不需要使用到mvvm框架,當時開發的使用了vue的移動端頁面,由於要獲取各種數據,白屏時間有三秒之多,使用伺服器渲染可以解決這樣的問題,我不能為了開發的一時爽快而影響用戶的體驗。

經過探索和專研,我也是有了一定的成果,自己加入了前端SPA路由跳轉,把它總結成了一套框架,這個項目也成了我後來找工作的最大底氣和驕傲。是的,如果只是重重複復的開發相近的頁面,沒有去探索和沉澱自己的東西,那自己的技術水平也只能穩步不前。剛剛說過,不能只了解框架,這裡還要補充一點,不能依賴框架,要了解到,框架解決了什麼問題,適用於什麼樣的場景。原生JS的能力不要荒廢,自己造造輪子還是有收穫的。

2018年

在完成了框架的搭建和優化後,在公司的安排下,我不斷的將自己的框架應用在各種項目,我做了一個跟微博類似的項目,還做了跟今日頭條類似的項目,還有商城,還有…在短時間內做這麼多項目,單純的只是渲染頁面而沒有時間去深入業務,讓我覺得前端就真的只是這樣重複的渲染頁面,處理下兼容而已嗎?這樣真的有意思嗎?開始變得迷茫起來。

之後又發生了一些事情,讓我不得不選擇換一個環境,回到深圳,重新開始。是的,我又要換工作了。可能是我經歷還算豐富,也做了一些事情,因此也得到了一些大公司的面試機會。然而在一開始,我就碰到了不少挫折。

https的流程是怎樣的?如何對項目進行監控?進行錯誤處理?nodejs的父子進程是怎麼進行通訊的?你的項目是怎麼部署上線的?你的項目是怎麼解決移動端測試問題的?

是的,對於這些問題,剛開始找工作的我是毫無概念,之前的我,就只是專註於寫寫自己的前端,跑下koa渲染伺服器,跟api伺服器取下數據渲染下頁面。其他問題自然有運維,測試,後台去管。

很顯然,我之前的想法是很狹隘的,身為web開發人員,不能把自己的重心僅僅局限在前端,局限在瀏覽器端,要有一種工程師的覺悟,儘管有些環節可能分給其他同事去做,但自己也不能一無所知,毫不關心。不要讓自己的視野局限於前端瀏覽器部分,只有了解了整個項目的部署,後端,前端,測試等流程,才能去更好的去完成一個項目。現在前端技術發展很快,nodejs給予了我們去關注伺服器的能力,我們要勇於向外看,走出去。

在了解到自己的不足後,我便開始了知識漏洞的補充,並把其中的一部分成果(當面試官問你如何進行性能優化時,你該這麼回答(一))分享了出來,希望對大家也有點幫助。

以上,就是我對最近兩年的學習工作的一個簡單總結,最近事情也比較多,寫不了太詳細,如果有希望繼續交流的,可以發郵箱 hpoenixf#foxmail.com或是通過別的渠道聯繫我。歡迎關注和star本博客或是關注我的github


推薦閱讀:

CSS 魔法師(技術周刊 2018-03-02)
前端日刊-2017.12.21
【直播】jQuery快速實現一個在線To-do List應用
一個價格校驗器的設計實現
前端日刊-2018.1.1

TAG:前端工程師 |