致程式設計師的一封信

不過當Babel這個生力軍出現時,我一開始反抗得更加厲害,但最後我舉起了白旗,我投敵了。

我意識到Babel不是什麼引領未來的庫,沒有先進功能,而當那些先進功能登陸瀏覽器時我們會忘掉Babel的。不,Babel並沒有消失,在可預見的未來都會如此。

當ES2017完全登陸瀏覽器時,Babel會支持ES2018、ES2019等等。你沒法逃避。擁抱未來吧,Babel是你的朋友。

使用最簡單的替代

現如今工具是JavaScript最困難的部分之一。是,你可以學習Webpack的一切,但當你開始做的時候,你還是會無視一切使用像create-react-app、React Boilerplate這樣現成的解決方案,讓它們處理最細微的細節,你只用關心編碼就好。

不要從設置環境開始,學會使用Glitch:探索現代JavaScript沒有更比這更簡單的東西了。

不再有大型的發佈

ES6太大了,大到ECMAScript委員會都決定下次發佈要小一點。這也是ES6被稱為ES205的原因,並且也是那一年的第一個發佈——從現在起每年我們都會有一場發佈。跟上形勢變得更簡單了,因為時間的限制,新版本的變化變少了,也更加可預測了(投降吧,變化總會有的)。

無視虛火

如果你跟我一樣,你也許會關注Twitter上面很多引領潮流的人。也許是一些指點下一個大事物是什麼的思想領袖。他們說要用X,其他人就都用X了。

也許他們喜歡用離標準很遠的最新API來展示自己的代碼片段,可這個其實在瀏覽器裡面用一個flag就能實現。

他們也許有很好的理由。但你沒有。不要掉進新的花哨玩意兒的陷阱,專注於你的工作。

不會每週都會冒出新框架

有個玩笑說的是“本月的JavaScript框架的口味是什麼樣的”或者“每週都會有一個新的庫”。真的,有很多人在做住JavaScript的東西,這很好,它帶來了創新和演變,JavaScript過去幾年所經歷的東西對於該語言生態體系意義重大。

但是需要注意的是大的東西變動不是很大。

React已經5歲了。

Vue也有4歲了。

4年的時間在技術業已經是很長的了。那些都屬於穩定技術了。現在就學習它們吧,它們也會存在很長一段時間的——不會那麼快消失的。

你有很多時間成為其中任意一種框架的專家,它們在短時間內是不會消失的。

接受有起有落的事實

話雖如此,任何東西都有生命週期。

幾年前到處都用jQuery,現在新項目已經很少碰這個了。

2013年時 Backbone.js發展得很大。現在它已經在地圖上消失了。

CoffeeScript已經從地球表面抹去。

Ember.js、Angular.js和Meteor火了好幾年,但現在大家討論最多的似乎是React、Vue和Angular(這個跟Angular.js不一樣)。

這些主流框架的每個週期通常都會持續好幾年。我仍然有很多Ember.js應用跑得不錯,如果他們還能做好自己的工作的話就沒有升級的必要,我也不打算去碰它們。

技術會慢慢演變和成熟,然後大家會使用而不是討論它們。

用jQuery並不蠢

一些人不敏感,不過如果你看的東西足夠多的話,你會發現有些人會鄙視一度人人都使用的技術——既然他們瞭解的東西更多,他們想要告訴你你是錯的。

我用PHP已經有很長一段時間,對此早已習以為常,流行的東西有人質疑很正常。即便是Go這門語言,其出色的簡潔性有時候也會為人所詬病。你總會見到有人對某個東西嗤之以鼻。

舉個例子,Pieter Levels用一個PHP文件建設了一家大型的獨立企業。看看那些評論是怎麼說的吧。

致程序員的一封信

但作為初學者你也許會碰到有人告訴你你選擇了一門老技術,說現在已經沒人用了,你應該用React才對。

別理他們,把他們從你腦子裡趕走。

記住:如果這東西對你有效,那就是合適的技術棧。

如果這東西對你有效,那就是合適的技術棧。

大多數時候那些技術都是技術巨頭開發的,其需求跟你的或者你的小團隊的需求完全是不一樣的。用你瞭解的東西去做,你未必需要用先進的技術才能做出不一樣的東西。

另一個極端是過度工程。不要因為顯得自己更聰明而使用某種技術。要學會什麼時候該用某個框架或者庫。

你沒有知道一切的義務。找到你的平衡。

儘管看你的Twitter似乎讓人覺得你是個無所不知的人,但沒人什麼都懂。一個人不可能學會前端開發的所有東西。你一輩子都學不完。絕對沒辦法保證你能學完。

選擇文檔對用戶友好的技術

React和Vue正好文檔都很出色並不是偶然的。

這是它們能取得成功的關鍵部分。

JavaScript還會再變

去年ECMAScript語言引進了await/async ,現在這一功能已經被使用得很多了。基於promise的代碼看起來很糟糕,你會感受到重寫一切的緊迫性。

別這麼做,相反,要把新功能用到你編寫的新代碼上。

今年也會發生同樣的事情,發生在ES2018身上。每個人都會指指點點,然後回去繼續工作,然後我們又會開始討論ES2019的功能。

擁抱變化。這要比把賭注押在一個已經停滯不前,不出幾年就會變得無關緊要的技術上面好得多:JavaScript堅挺得很!

學習基礎的東西,然後選擇你的旅程

在Web平臺上往往開發需要你不斷去學習新東西,哪怕只是想找出它能做什麼也需要。

有時候你只需要學習其中的20%就足以應付80%的事情而不需要鑽研那些邊緣情況。

旅程才剛剛開始

相對於其他語言來說JavaScript還非常年輕,最近幾年它非常流行並且能夠做出極大改變。它每天都能吸引和很多新的天才的開發者加入進來,未來10到20年我們會用什麼樣的JavaScript寫代碼呢?這事兒想想就挺讓人激動的。


分享到:


相關文章: