為什麼這麼多人覺得前端開發很難做下去?

智雲程式設計發表於2019-01-11
為什麼這麼多人覺得前端開發很難做下去?

無論是新手還是幾年的前端開發程式設計師,都會又這樣的經歷:當學習了一種前端技術的時候,同時會有幾種新的前端技術誕生。 還有,你選擇的那種前端技術,也許已經過時了。

在抱怨過後,會繼續去學習新技術,或者慢慢放棄。但是很少人會考究,為什麼會出現這個問題。

普遍解釋似乎是 web 開發者天生不耐煩,永遠追求最前沿的技術,趕時髦。總的來說:前端技術更迭如此之快是整個開發者社群的不明智(而你的不明智行為完全取決於你無法控制的因素)。

不管真實原因是否是這樣,前端開發確實存在這樣的問題。

前端技術是否真的變化如此之快?

在探討原因之前,有必要驗證這個問題是否真實。

考慮一下 Github 上星號最多的 JavaScript 前端技術列表:

為什麼這麼多人覺得前端開發很難做下去?

最短的 2.5 年也不是那麼久 - 不到傳統桌面系統迭代週期的一半,這足以說明問題。 那麼是什麼原因導致了這種快速的,甚至是不可持續的變化?

如果你也是一個前端黨,無論是在學習前端開發,還是已經工作的,這裡推薦一下我們的前端學習交流群:731771211 ,這裡是把夢想照亮的地方,同為了生活而拼搏奮鬥,大家互相幫助。新手加入即可獲得經過整理的最前沿的前端技術資料,不定時更新技術,與企業需求同步。好友都在裡面交流,每天都會有大牛定時講解前端技術!知識改變命運

點選: 加入

React

造成這個問題的原因可能是 React。 作為一款功能強大的工具,它需要大量的輔助模組和支援庫,而這正是問題出現的地方。React 社群是一個很大的微型庫架構組織,其中應用程式由許多獨立的單一功能 JavaScript 庫組成,該架構是為了致敬 Unix 哲學。

這種架構的優勢在於,隨著新的實踐的出現,可以輕鬆地進行調整,這對快速創新(如過去幾年一樣)是有意義的。 缺點是增加了變化的影響範圍,並且需要大量的審查。

這就是我的核心觀點:JavaScript 的問題不在於語言,網路或其他任何特定技術,而是選擇的架構無法讓開發者跟上變化趨勢。

為什麼這麼多人覺得前端開發很難做下去?

NPM 問題

現代 JavaScript 最大的資產是 NPM。它提供了大量的模組,可以滿足任何人的特定需求,但是很難過濾和決策。哪些庫真的被支援?哪些庫的功能是正確的?哪些不是有惡意的庫? JavaScript 開發人員真正作為唯一的參考標準就是流行度 - 下載數量和 star 數量 - 這加速了庫的傳播。

當然,還有其他驗證庫的方法:可以通過 Github 問題閱讀並搜尋 StackOverflow。你可以做一些測試,甚至自己檢查原始碼。但是這需要很多時間。

這是 JavaScript 開發人員的弱點。作為一名面試官,我經常會問面試者是如何選擇技術,但回答往往讓我失望,因為知名度幾乎總是他們選擇某個庫的唯一標準。軟體工程至少部分是研究工作,我們需要培養初級程式設計師的研究能力。但即使這樣做了,這些可能性仍然會出現在他們身上。

為什麼這麼多人覺得前端開發很難做下去?

設想成為一名初級開發人員

把自己設想為一個初級到中級的 JavaScript 開發者,首次編寫一個新的應用程式。

從完全空白,這讓事情變得簡單。你很佛系,所以從選擇一個簡單的框架開始。聽起來不錯(這也是你的唯一選擇)。

作為準系統它沒有什麼作用,所以選擇輔助庫的任務落在你肩上。如果你在做前端工作,它可能是 Redux 的表單和 API 請求的庫。如果是後端,它可能是 Express 的中介軟體。

然後你開始搜尋,搜尋結果中的一篇來自 Medium(譯註:部落格網站) 的部落格推薦 X.js。該部落格的作者是 X,但她從未表明這種特殊的利益衝突。Medium 上所有的部落格都一樣,所以永遠不能用知名度來作為我們的參考標準。

你錯過了指出了 X.js 中的一些重要不足之處的答覆,因為 Medium 在有意忽略。然後繼續搜尋,發現了 Y.js.

這次你在 Twitter 上找到一個連結 - 超過一百個點贊!這應該值得信賴了吧,畢竟這麼多人為自己"把關"了。你在感謝中點了個贊,然後跳轉到了 Github 的連結。

但不是那麼快。這個連結太老了 - 該庫現已棄用。你可以看出,DEPRECATED 這個詞無處不在,十分醒目。

Y.js 是“物件導向”的。你認為這是一件好事,隱約回想起 ComSci 第一年關於 Smalltalk 和訊息傳遞的一些東西。但顯然這是非常糟糕的。

另一篇 Medium 上的部落格試圖解釋為什麼,雖然推理有些模糊,並且用你不認識的密集術語來包裝。後來事實證明,這個術語是由該部落格的作者發明的,文中權威的參考連結也來自他自己的部落格。

更糟糕的是,該帖稱,即使在 JavaScript 面試中提到 OOP 也會使你完全失業!你現在已經迷失方向了。值得慶幸的是 - 有他的 $ 50 美元的 JavaScript web 開發課程。你很慶幸找到這麼好的資源,記下了連結,並點了贊。

所以,你將轉向 Z.js,這個庫有更多的 star,文件似乎不太有用。 儘管列出了很多方法,但如何實際使用? 至少看到它使用了一種叫做“標準 JS”的東西,你認為它與 ECMA 標準委員會有關? 其實並沒有。

但怎樣才能避免這些坑呢? 誰來幫助你避免採坑? 高階開發人員也正在學習。 我們都捲入了追求最新技術,追趕潮流的旋渦中,只是為了保持最新並保持就業。

所以,你採取了看似最可靠的標準:Github 專案 star 最多。 這就是為什麼 JavaScript 開發受到隨波逐流的影響。

為什麼這麼多人覺得前端開發很難做下去?

應該怎麼做?

像大多數抱怨者一樣,我只想表達不滿,而不是解決它們。 但我有一些想法:

  • [ ] 警惕自我推銷

在過去的幾年裡,JavaScript 世界出現了激進的自我營銷,這可能是因為付費線上培訓材料的興起以及作為 Github名人的就業、諮詢優勢。

我對好的內容沒有任何問題,但也出現了很多不誠實的手段:自我引用 ,發明專有術語(例如'Standard.js')

  • [ ] 考慮非微型庫架構

嘗試能提供大面積的功能,並且不需要很多外掛來提高生產力的框架來開始你的專案 - 這將立即減少變化的影響範圍。 這是我對 Vue.js 非常感興趣的原因之一。 您也可以將 React 用作入門工具包或較大框架的一部分,如 Next。

  • [ ] 不要過分滿足無理需求

唯一需要知道整個公司技術棧細節的是自由身承包商,他們獲得了可觀的工資來完成專案。 否則,大多數僱主不需要你瞭解最新 React 的細節。 所以,避免學習所有東西的要求:大部分都是沒用的。

如果你也是一個前端黨,無論是在學習前端開發,還是已經工作的,這裡推薦一下我們的前端學習交流群:731771211 ,這裡是把夢想照亮的地方,同為了生活而拼搏奮鬥,大家互相幫助。新手加入即可獲得經過整理的最前沿的前端技術資料,不定時更新技術,與企業需求同步。好友都在裡面交流,每天都會有大牛定時講解前端技術!知識改變命運

點選: 加入


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901074/viewspace-2375631/,如需轉載,請註明出處,否則將追究法律責任。

相關文章