這是一個發(fā)布在 Quora 上的問題,提問者是一名Java轉(zhuǎn)JavaScript的程序員,他想了解現(xiàn)在學(xué)習(xí)哪種技術(shù)更好:Angular、jQuery還是Node.js?其中 Mattias Petter Johansson (一名 Spotify 的開發(fā)人員) 的回答獲得了2k+的贊同,分享給大家。
以下為譯文:
歡迎來到前端的世界,Java程序員。
與其他語言相比,JavaScript社區(qū)的有些人員就像更換襪子一樣經(jīng)常更換方法、框架、構(gòu)建系統(tǒng)甚至虛擬機。因此,更重要的是了解這個語言本身的基本特性,而不是學(xué)習(xí)一個特定的框架。如果你在某項技術(shù)中投入過多的話,那么你就會進入一個受傷的世界。
幸運的是,與其他語言相比,JavaScript是一門比較小的語言,所以你可以快速的掌握它。我經(jīng)常推薦人們從《JavaScript: The Good Parts》這本書開始,這本書雖然有些年頭了,但由于JavaScript的開放性標準以及語言本身變化緩慢,它還是適用的。
總得來說,下面這些都是JavaScript社區(qū)中比較火的內(nèi)容(列表可能有些偏向):
- React 和 Flux 是比較火的新興事物(尤其是剛剛發(fā)布的React Native,由Facebook開發(fā)并在使用,非常棒)。
- Angular(有些年頭,但很流行,由Google開發(fā)),目前有兩個非常不同的主流版本,所以我選擇暫時不選用它們,直到塵埃落定。
- Backbone 是一個適用于處理客戶端東西的比較好但有點老的MVC框架。
- Node.js 和 io.js。它們是同一種東西,只不過 io.js 是最新的一個分支??梢詤⒖糷udson/jenkins的分離。現(xiàn)在可以使用Node.js,而 io.js 有可能會最終勝出。
- npm 是JavaScript主要的包管理器,它包含了一切的模塊。另外還有jspm 和 bower。jspm非常棒,但是太新了,而bower過于笨重,應(yīng)避免使用(參考:為什么已經(jīng)有npm了還要使用bower)。
- Browserify非常棒,它允許你在瀏覽器中使用npm模塊,而不僅僅是在服務(wù)器端。
- Gulp 和 Grunt是構(gòu)建系統(tǒng),其中Gulp比較新,但很成熟,你應(yīng)當使用它。
- express.js–如果你想建立服務(wù)器端的東西,你可能會需要它。
- Meteor 是一個超級未來但非??岬娜珬?蚣?,與其他所有人的方式都不同,它非常流行,你應(yīng)當嘗試一下。
- jQuery 對于 JavaScript就相當于WordPress對于PHP來說一樣。每個人都會用,并想用它做一些東西。jQuery 對于DOM操作是非常好的,除此之外,不要使用它。
- 學(xué)習(xí)一些函數(shù)式編程,這是我能確保你不再回到Java的最佳途徑??梢詤⒖嘉业幕卮穑?a target="_blank">What is a simple explanation of higher order functions and callbacks in JavaScript?
我知道,這一切都會讓人感到不知所措,并且這種感覺不會真正的消失,只需要擁抱它,深呼吸,Wooooo!
本文由 Specs 翻譯整理,發(fā)布在 WEB資源網(wǎng),轉(zhuǎn)載請注明來源。
哈爾濱品用軟件有限公司致力于為哈爾濱的中小企業(yè)制作大氣、美觀的優(yōu)秀網(wǎng)站,并且能夠搭建符合百度排名規(guī)范的網(wǎng)站基底,使您的網(wǎng)站無需額外費用,即可穩(wěn)步提升排名至首頁。歡迎體驗最佳的哈爾濱網(wǎng)站建設(shè)。
