我如何不再擔心並學會熱愛JavaScript生態系統

解決JavaScript疲勞的旅程

直到幾個月前,我什至沒有焦慮就不能看JavaScript。

在所謂的JavaScript疲勞中,我100%處於困境,我無法擺脫困境。

這持續了幾年。

Sinking

今天,我喜歡JavaScript及其生態系統。

這怎麼發生的?

從90年代開始,我就一直在以某種形式使用JavaScript,而且我的書架上有一些今天看起來很有趣的書,裡面充滿了document.write陳述。

大概是2012年至2013年,ES6帶給我們的巨大變化無處不在。

起初,我無法收拾所有正在發生的事情。我不能一次接受這麼多更改。 JavaScript發生了變化,但我忍受了。我花了很多時間才能正確地學習它,並且它在我的腳下不斷變化。

我發現一個真的發現一篇博客文章中的評論“如果您從一開始就沒有去過那裡,那麼學習現代JavaScript將會很困難”:

我會爭辯說從一開始就在那兒(是的,我是舊)使操作更困難-蒂姆·泰特(Tim Tate)

我在2012年認真研究了JavaScript和Node.js,但從未經歷過像ES6那樣巨大的語言更改。先前的重大變化發生在2009年的ES5中。 ES6確實改變了一切。這是對JavaScript的巨大改進,以至於每天都有很多東西可以納入該規範,但您實際上並不知道它們是否成功,而且您必須趕上Twitter上的每個人都在談論那些事情,也許是下一件大事。

var被留在塵土中。

function不再存在。

基於原型的繼承花費了很長時間才能正確學習,但它卻消失了,隱藏在課堂的地毯下。

這只是表面。過去幾年中,整個JavaScript生態系統發生了巨大變化。

建立所有的東西

發生的一大變化是建築

我們從一個非常簡單的事情開始,包括使用帶有腳本標籤的JavaScript,到建立將我們的語言編譯成一些難以理解的大文件的步驟。起初,我奮力抵抗,我站滿了大砲,與建軍作戰。

但是當巴別塔部隊來時,我最初更加努力,但最終我舉起了白旗,加入了敵人

我意識到Babel並不是一個引入未來,邊緣功能的奇特庫,當這些功能出現在瀏覽器中時,我們會忘記Babel。不,在可預見的未來,Babel會在這裡留下來。

當ES2017完全進入瀏覽器時,Babel將允許使用ES2018,ES2019等。沒有逃脫。擁抱未來,Babel是您的朋友。

使用最簡單的選擇

該工具是當今JavaScript最困難的部分之一。是的,您可以了解有關Webpack的全部知識,但是當您開始時,請忽略所有內容,並使用現成的解決方案,例如創建反應應用,React Boilerplate將為您隱藏微小的細節,並讓您專注於代碼。

不要從建立環境開始,而是要學習使用毛刺。沒有簡單的方法可以開始涉足現代JavaScript。

沒有更多的發行版

ES6太大了,以致ECMAScript委員會決定下一次發布較小的版本。這就是為什麼ES6也被稱為ES2015的原因,並且是當年的第一個版本-從現在開始我們將每年發布一次。趕上它更容易,因為添加它們的時間有限,所以更改較少,而且可以預見(儘管請記住,會有更改)。

忽略嗡嗡聲

如果您像我一樣,您可能會在Twitter上關注很多永遠處於邊緣的人。也許某些思想領袖決定了下一件大事。他們說使用X,其他所有人都使用X。

也許他們喜歡使用最新的API顯示片段,這些API甚至不接近於標準,但可以與瀏覽器中的標誌一起使用。

他們可能有充分的理由。你不。不要落入閃亮的新玩具的陷阱,專注於您的工作。

每週沒有新的框架

有個笑話說“這個月的JavaScript框架是什麼”或“每週都有一個新的庫”。沒錯,有不計其數的人致力於JavaScript,這很棒,它帶來了創新和發展,這是最近幾年經歷的那種JavaScript,這對於語言生態系統而言是巨大的。

但是要注意的是,大的事情不會經常改變。

React是6歲。

Vue是5歲。

5年對於科技行業來說是很長的時間。這些是穩定的技術。現在學習,他們也將在這裡停留很長時間-他們不會消失。

您有足夠的時間成為這些框架中的任何一個的專家,它們不會很快消失。

接受事物的來去去去

也就是說,任何事物都有生命週期。

幾年前,jQuery隨處可見,但現在很少有新項目開始使用它。

在2013年,Backbone.js規模巨大。現在它已經從地圖上消失了。 CoffeeScript,從地球表面移除。

Ember.js,Angular.js和Meteor搖擺不定,並保持了幾年的流行狀態,現在談論最多的似乎是React,Vue和Angular(與Angular.js不同)。

這些主要框架的每個週期通常持續數年。我仍然有許多運行良好的Ember.js應用程序,如果他們能完成工作就不需要更新它們,並且我也不打算碰它們。

科技不斷發展和成熟,然後被使用而不是談論。

您對使用jQuery並不傻

有些人的皮膚很厚。但是,如果您閱讀的內容足夠多,就會發現那些鄙視每個人曾經使用過的技術的信息,並告訴您您錯了。 😆

使用PHP已有很長時間,我已經習慣了這一點,人們批評流行的東西是很正常的。即使是Go,它的簡單性也令人讚嘆,但有時也會因此而受到批評。您總會發現有人對某事大吵大鬧。

例如,我必須引用Pieter Levels的推文,他用一個PHP文件建立了龐大的獨立業務。

Pieter

但是,作為一個初學者,您可能會發現有人說您選擇了一項舊技術,沒有人再使用它,而應該使用React。忽略它們,將它們移出您的腦海。

記住:

如果它適合您,那麼它是正確的堆棧。

大多數情況下,技術是由與您或您的小型團隊的需求完全不同的巨型公司構建的。隨心所欲,即使不使用前沿技術也能有所作為。

現在,您可能不需要jQuery。但不能代替框架-普通的JavaScript非常好。

另一部分是過度工程。不要僅僅為了感到聰明而使用技術。更好地了解它。並了解何時使用對您有幫助的框架或庫。

您沒有義務了解所有內容。找到你的平衡。

閱讀您的Twitter feed可能聽起來像這樣,沒有人知道所有的事情。有人無法學習前端開發中發生的所有事情。這是一所終身學校。絕對沒有辦法畢業。

通過用戶友好的文檔選擇技術

React和Vue擁有出色的文檔並不是偶然的。這是他們成功的關鍵部分。

JavaScript將再次發展

去年,ECMAScript語言引入了await / async,現在該語言的功能得到了廣泛使用。基於承諾的代碼看起來簡直糟透了,您有重寫一切的衝動。

不要這樣做,而是對您編寫的新代碼使用新功能。 ES2018也將在今年發生同樣的情況。每個人都會談論它們一段時間,然後我們將恢復工作,並開始談論ES2019功能。

擁抱變化。這比押注停滯然後消失在幾年內無關緊要的技術要好得多:JavaScript將繼續存在

學習基本原理,並選擇自己的旅程

在Web平台上進行開發需要做出承諾,要經常學習新知識,甚至只是找出可能的東西。

有時候,在20%的時間裡學習所需的80%的東西就足夠了,而不必花太多時間在邊緣情況下。

旅程才剛剛開始

與其他語言相比,JavaScript仍然很年輕,它非常流行,並且在過去幾年中發生了巨大的變化。它每天都吸引著許多有才華的新開發人員,並且令人著迷的是我們將在10或20年後編寫JavaScript。

Road


更多實驗教程: