前端疲勞

引子


码报开奖结果本期 www.iwqgw.icu 假如不會游泳的你不幸落水,碰巧還沒有人會來救你,你是不是會覺得自己只能在絕望中溺水而亡。不,你要同死神抗爭,要在絕望中尋找希望(等下,這難道不是新東方的slogan?)。其實,你依然有兩種方法可以自救。第一種是在生命危在旦夕的巨大恐懼下頓悟,學會了游泳成功續命;如果你覺得這不可能,那么就只能用第二種方法了——把你身邊的水全部喝光。

你可能覺得我在逗你。說好的前端呢?別急,聽我娓娓道來。

從入門到入門


自從三個月前寫完了《JS家的排序算法》之后,我發現自己得了一種病。彼時的我剛剛鉆研了幾天算法和數據結構,但轉眼間就被那些紛繁復雜的前端技術與工具迷住了雙眼,勾去了魂魄。學習熱情高漲的我,雄心勃勃的制定了一個又一個計劃,馬不停蹄的搜索下載了各種教程指南,關注訪問了數也數不清的技術博客與技術社區。我那亢奮的大腦告訴我,我要努力地把前端技能樹上的每一項技能都解鎖并升級。于是,我就一頭扎入了前端的深海中。然而,下水之后我才意識到,原來自己并不會游泳。

千萬別把開頭的引子當成笑話,我為了救自己真的就是在用第二種方法,試圖喝光身邊的水,妄想嘗遍前端的各種技術??際蔽一共⒚揮芯醯謎庋瀉尾煌?,我畢竟還年輕,有大把的時光可以慢慢學習,消化這些喝下去的水??墑?,問題在于,前端的這片海是動態的?;辜塹瞇⊙У哪塹蘭撲閭飴??一個水池一邊往里進水另一邊往外排水,問多久能把水池排空。前端技術棧的更新換代如此的頻繁迅速,很可能在我寫下這篇文章的幾個小時里就有一個新的前端框架被發布出來了,我又怎敢奢求將前端的這灣海水排空呢?最近的我愈發感覺到網上的教程是怎么學也學不完的,新出的工具packages是怎么下也下不完的,最新發布的各種技術博文是怎么看也看不完的。我總是很難將精力只放在一種語言或一個工具上,它們總是不經意間就被分配到了其他地方。有時我甚至開始質疑自己的職業選擇是否正確,一直在入前端的各種門,可究竟何時才能精通,才是個頭呢?迷茫,疲憊,無從下手,不知所措。當這些感受通通向我襲來的時候,我知道,我是得了一種叫做前端疲勞的病了。

經常關注前端技術社區的朋友們應該知道,前段時間有一篇很火的博文,叫做How it feels to learn JavaScript in 2016 ,漢化版叫做在 2016 年學 JavaScript 是一種什么樣的體驗? 這篇文章引起了國內外眾多前端開發者們的共鳴。他們揭竿而起,紛紛點贊,大聲疾呼:“我受夠啦!”作為一個代碼寫的比段子好笑的三流程序員,我當然很喜歡這種詼諧幽默的整篇文章都是段子的小品文。作者雖然是歪果仁,但卻深刻的掌握了中國傳統相聲的精髓,設定了一個逗哏和一個捧哏,以對話的形式把涉及到JavaScrip的幾乎方方面面面的工具和特點全部過了一遍。其實,作者就是在談前端疲勞。那么現在問題來了,有這么多不同的前端技術棧,不同的前端框架,不同的前端工具和庫像水一樣包裹著我,我不去學就不會,學了又學不完。在前端的海洋里越陷越深的我究竟該如何自救呢?

水是喝不完的,游泳才是正道


為了了解前端的海有多深多遼闊,我們把文章剛開始的那副前端圖譜拆開來看。

你一定能在這張亂花漸欲迷人眼的圓盤圖上發現很多熟悉以及不那么熟悉的logo。圖的作者Jeff Pelletier不愧是名UI工程師,他的設計真的很好看。布局新穎,造型獨特,五彩繽紛,生動形象。這張圓盤可以說是整個前端圖譜里的顏值擔當了。然而,光好看是不能解決問題的,我們更加需要的是它的對應顏色的圖解。

不知道看完這張圖解之后的你作何感想?是從入門到放棄呢,還是從入門到轉行?反正當時正打算把前端的水都喝光的我看完之后內心是崩潰的。尤其是看到Back-End也被加了進來,這幅圖瞬間就變成了一副全棧圖譜。

事實上,拋開前端疲勞不談,僅僅是JavaScript,就足夠我用盡自己的洪荒之力了。先要從原生JavaScript學起,“古代”的ES3/ES5,“現代”的ES6,以后還會有“未來”的ES7。然后是JS框架,jQuery、AngularJS、React或者是最新的Vue。當然,想開發出一個完整的應用,后端知識也必不可少。所以NodeJS的坑也得入。這一套走下來,可能根本還到不了前端疲勞,就已經JS疲勞了。

好在此時的我終于意識到了,把水喝光是不現實的。因為這樣做的后果很可能并不是被淹死,而是先被撐死。每當看到前端技術社區里接二連三的出現從未聽聞過的新的名詞,新的工具,新的框架,我就會產生一種深深的落伍甚至自卑感,覺得自己什么都不會,嚴重懷疑自己正在使用的技術棧是不是早就被拋棄在了前端世界那無人的盡頭。但我可不想就這樣消失在世界的盡頭。我需要做的是立刻停止一切恐慌,閉上嘴巴,盡快熟悉這種全身被水包圍的感覺,然后嘗試讓自己浮起來,把頭抬出水面,找到一塊陸地,接下來,就是朝著那塊陸地的方向,掄起膀子甩開腿,游起來吧。

拯救前端疲勞


你不是一個人在戰斗

一開始我總覺得前端疲勞是因為自己的學習能力不足進而受挫而導致的心理疲憊。我不愿意跟別人說,因為覺得有點丟人。然而,當我在很多前端開發者們的博客里看到他們也提到了這種疲勞的問題,我才知道,原來我不是一個人在戰斗。這種疲勞感普遍存在于前端開發者當中。即使是那些頂尖的大牛們也會偶爾疲憊困惑,但他們總能很快的找到解決之道。所以,如果你也有這樣的困惑與疲勞,并且試圖找到方法來克服它,請記住,你不是一個人在戰斗!

夯實基礎

不知道是我的幻覺還是事實,前端程序員好像一直是處在程序員鄙視鏈條里的最底層。不需要懂編譯原理,沒必要學算法數據結構,只要懂點HTML/CSS以及JS,會摳圖知道怎么引用個庫,就可以去建網站了。根據我自身的體驗,如果只是建一個蹩腳的只有自己會訪問的網站,那么確實這樣就夠了??墑?,一旦遇到邏輯更復雜的網頁應用,僅靠這些知識可就完全hold不住了。當然,僅僅理解了這點對我并沒有幫助。我反而陷入到了另外一種死循環中,就是不停的去學習新的工具,新的框架,新的別人造的輪子。

事實上,無論那些工具和框架變得有多么快,最基礎的知識是一直都不會變的。我們應該把注意力放在怎樣去解決問題,放在問題本身,而不是糾結于工具。要知道,工具肯定會一直變,唯解決問題的方法與思路不會變。現在風頭正勁的React可能過幾年就會消失,但是JavaScript會接著活下去。即使JavaScript有一天也被遺棄,算法、數據結構和那些設計模式也會長久存在。所以,從長遠來看,把更多的精力花在學習架構、設計模式以及算法數據結構等更基礎的領域比總是追求那些新奇的框架工具要更加有利于我們的技能成長與職業發展。

放松心態

其實,前端疲勞的病灶不在于那些繁多的工具與框架,它們被造出來的初衷就是為了更好地解決相應的問題,這個鍋它們可不背。真正的原因還是出自我們自身。我們總是會被新鮮的事物所吸引,總覺得我們應該去學習它,不學就會落伍,就會被時代的潮流所拋棄。畢竟,喜新厭舊可能就是我們人類的天性。

我不太清楚國內互聯網公司的情況,就我自己所在的美國來說,很大一部分的美國公司是不會去追趕潮流的。他們使用的是早已證明了自己擁有良好性能表現的那些成熟的語言和框架。對于最新的前端技術,他們大多都是持觀望態度。等到這種技術已經可以證明自身的穩定以及性能的優異時,他們才會慢慢的去過渡。

因此,沒必要為了自己認為的不落伍而去趕潮流。放松心態,專注于自己目前正在使用的技術棧。對于那些新技術,有興趣當然可以去嘗試,不去嘗試也沒有關系。不過,如果確實準備去嘗試了,要專一不要貪心,千萬別給自己列一堆新技術的學習計劃,然后最后沒有完成就只能變成無形的壓力堆積在心里了。

實踐最重要

對于前端學習,我之前有一個很大的誤區。面對一項新技術,我總是計劃先把理論研究一遍,再去上手操作。然而,這種策略給我造成的后果就是,很多技術的學習我都半途而廢了,因為理論很枯燥,還沒等到實踐就已經對它失去了興趣。這和學游泳是一個道理。想學游泳就應該直接扎到水里,驚濤拍浪。那些在岸上捧著本流體力學研讀的人,不僅不可能掌握游泳的訣竅,還會對游泳失去興趣。

所以,對于那些基礎知識,我們當然需要進行理論層面的研讀。然而,對于很多前端技術,我們就應該放下手中的手冊與指南,直接上手,在實踐中摸爬滾打,方能求得真知。

尾聲


“那個選擇把水喝光的年輕人最后怎么樣了?”
“我們開船路過這片海的時候剛好發現了他,就把他救了上來。當時他整個人已經昏迷了?!?br/>“那他活過來了嗎?”
“他死了。醫生說本來可以救他一命,可是沒想到他喝了那么多水,把自己給撐死了?!?br/>“那另外一個學會了游泳的年輕人呢?”
“我們把他救上來以后他吃了點東西??傷恢焙蕓悍?,說自己終于會游泳了,然后吃完東西他又跳回海里游泳去了。。?!?br/>(完)



文/不是小羊的肖恩(簡書作者)

上一篇: 作為開發者,你愿意用微信小程序替代純APP應用開發嗎?

下一篇: web前端到底是什么?有前途嗎

分享到: 更多
中国委内瑞拉 体彩大乐透有规律吗 今天于海斌一语定胆3d 三公网站 pt电子网络游戏 欢乐斗地主规则说明 足球计算器胜平负玩法 足球竞彩计算器 11选5任7胆拖多少钱 网络通比牛牛 单机斗地主老版本免费 北京pk10历史走势图 四川时时vv平台 pk10技巧345678定位 pk10三码赚50计划 双色球30期走势表