摘要:我們的目標(biāo)是找出最有職業(yè)投資回報(bào)率的主題和技術(shù)。比特幣在幾年內(nèi)增長(zhǎng)了若干個(gè)量級(jí)。比特幣倍拐點(diǎn)在這個(gè)圖表中,每個(gè)箭頭始于倍點(diǎn),指向價(jià)格修正后的最低點(diǎn)。
圖:Jon Glittenberg Happy New Year 2019 (CC BY 2.0)
又到了一年的這個(gè)時(shí)候:JavaScript 年度技術(shù)生態(tài)回顧。我們的目標(biāo)是找出最有職業(yè)投資回報(bào)率的主題和技術(shù)。在實(shí)際生產(chǎn)中大家都在用什么呢?現(xiàn)在的趨勢(shì)是什么樣的呢?我們不會(huì)試圖去找出最佳,但是會(huì)使用數(shù)據(jù)驅(qū)動(dòng)的方法,來(lái)幫助大家著重關(guān)注那些能幫助你在求職面試中回答“你知道 __ 嗎?”的主題與技術(shù)。
我們不會(huì)去分析哪些是最快的,哪個(gè)有最好的代碼質(zhì)量。我們會(huì)假設(shè)它們都是速度惡魔(speed demons),并且它們都很棒,足以完成你的工作。而主要的關(guān)注點(diǎn)在于:什么是被大規(guī)模使用的?
組件框架我們要關(guān)注的大問(wèn)題是當(dāng)前組件框架的狀況。我們會(huì)主要關(guān)注三巨頭:React、Angular 和 Vue.js,主要因?yàn)樵诠ぷ髦校鼈兊氖褂眠h(yuǎn)遠(yuǎn)超過(guò)了其他的框架。
去年,我注意到了 Vue.js 的(使用量)增長(zhǎng)并提到了它可能在 2018 年趕上 Angular。事實(shí)上它沒(méi)有發(fā)生,但 Vue.js 的增長(zhǎng)仍然非???。我也預(yù)測(cè)了將 React 用戶(hù)轉(zhuǎn)化為其他框架用戶(hù)將會(huì)更加困難,因?yàn)?React 比 Angular 有更高的用戶(hù)滿(mǎn)意度 — React 用戶(hù)并不會(huì)有充分的理由去切換框架。與我對(duì) 2018年的預(yù)期一致。React 在 2018 年牢牢占據(jù)了頭把交椅。
但有趣的是,三個(gè)框架每年仍持續(xù)著指數(shù)級(jí)的增長(zhǎng)。
預(yù)測(cè):React 在 2019 將繼續(xù)領(lǐng)先在我們關(guān)注 React 的第三年,它 相比 Angular 仍有更高的滿(mǎn)意度,而且對(duì)于挑戰(zhàn)者,它不會(huì)放棄任何優(yōu)勢(shì)。目前看來(lái)我認(rèn)為在 2019 沒(méi)有能夠挑戰(zhàn)它地位的框架。除非有超級(jí)強(qiáng)大的東西出現(xiàn)并且擾亂了 React(社區(qū)),React 將會(huì)在 2019 年底繼續(xù)領(lǐng)先。
說(shuō)到 React,它一直在變得更好。最新的 React hooks API 取代了我從 0.14 版本開(kāi)始就幾乎不能忍受的 class API。(class API 仍然可以繼續(xù)使用,但是 hooks API 真的 更好)。React 的 API 改進(jìn)如更好的代碼分割和并發(fā)渲染(詳情)將使它在 2019 年更難被打敗。不用懷疑,React 現(xiàn)在是目前對(duì)開(kāi)發(fā)者最友好的前端框架。我沒(méi)有理由不推薦它。
數(shù)據(jù)來(lái)源我們會(huì)關(guān)注一些關(guān)鍵點(diǎn)來(lái)評(píng)估在(這些框架)實(shí)際生產(chǎn)中的興趣和使用情況:
Google 搜索的趨勢(shì)。這并不是我最喜歡的指標(biāo),但是它是個(gè)不錯(cuò)的宏觀視角。
包下載量。這里的目的是獲取使用框架的真實(shí)用戶(hù)(數(shù)據(jù))。
Indeed.com 上的招聘廣告。用和去年相同的方法論來(lái)保持結(jié)果的一致性。
Google 搜索趨勢(shì)框架搜索趨勢(shì):2014 年 1 月 — 2018 年 12 月
在搜索趨勢(shì)上,React 在 2018 年 1 月超越了 Angular,并且在這一整年剩余的時(shí)間里保持了領(lǐng)先的位置。Vue.js 在圖里保持了一個(gè)可見(jiàn)的位置,但是仍然是搜索趨勢(shì)中的一個(gè)小因子。對(duì)比:去年的趨勢(shì)圖:
框架搜索趨勢(shì):2014 年 1 月 — 2017 年 12 月
包下載量包下載量是一個(gè)衡量實(shí)際使用情況的公平指標(biāo),因?yàn)殚_(kāi)發(fā)者在工作是會(huì)頻繁地下載那些他們需要的包。
睿智的讀者會(huì)發(fā)現(xiàn)有時(shí)候他們從他們公司內(nèi)部源的下載包,對(duì)于這種情況,我的回答是:“那確實(shí)會(huì)發(fā)生 — 對(duì)于這三個(gè)框架來(lái)說(shuō)?!彼鼈兌伎梢栽谄髽I(yè)中立足,而我對(duì)這個(gè)大規(guī)模的數(shù)據(jù)的平均能力有信心。
React 每月下載量:2014–2018
Angular 每月下載量:2014–2018
Vue 每月下載量:2014–2018
讓我們看一下下載份額的快速可視化比較:
“但你忘記了 Angular 1.0!它在企業(yè)中仍然很重要?!?/strong>
不,我沒(méi)有。Angular 1.0 仍然在企業(yè)中被廣泛使用,這和 Windows XP 在企業(yè)中仍被廣泛使用是相似的。這個(gè)數(shù)量絕對(duì)足夠引起注意,但是新版本的 Angular 早已使 Angular 1.0 相形見(jiàn)絀,Angular 1.0 的重要性已經(jīng)不如其他的框架了。
為什么?因?yàn)檎麄€(gè)軟件行業(yè)和 所有部門(mén)(包括企業(yè)) 的 JavaScript 的使用增長(zhǎng)得很快,新的框架會(huì)使舊的框架變得很渺小,即使它是 永不升級(jí) 的遺產(chǎn)應(yīng)用。
證據(jù)就是,看看這些下載量統(tǒng)計(jì)圖。2018 年單年的下載量就比之前幾年的 總和 都要多。
招聘廣告投放數(shù)Indeed.com 集合了許多招聘部門(mén)的招聘廣告。每年 我們都會(huì)統(tǒng)計(jì)提到每個(gè)框架的招聘廣告1 來(lái)給大家提供關(guān)于企業(yè)在招什么樣的人的更好的觀點(diǎn)。這是今年的形勢(shì):
2018 年 12 月有關(guān)每個(gè)框架的招聘廣告統(tǒng)計(jì)
React:24,640
Angular:19,032
jQuery:14,272
Vue:2,816
Ember(不在圖中):2,397
再說(shuō)一次,今年投放的職位總數(shù)比去年要多。我把 Ember 剔除了,因?yàn)樗@然沒(méi)有像其他框架一樣按比例增長(zhǎng)。我不推薦為了未來(lái)找工作而去學(xué)它。jQuery 和 Ember 相關(guān)的崗位并沒(méi)有多大的變化,但其他的崗位都有很大的增長(zhǎng)。
令人感激的是,加入軟件工程領(lǐng)域的新人在 2018 年也增長(zhǎng)了很多,但這也意味著我們也需要持續(xù)聘用并培訓(xùn)初級(jí)開(kāi)發(fā)者(意味著我們需要 合格的高級(jí)開(kāi)發(fā)者來(lái)指導(dǎo)他們),否則我們將無(wú)法跟上爆炸性的就業(yè)增長(zhǎng)。作為對(duì)比,這里有去年的圖表:
平均薪資在 2018 年也攀升了,從每年 $110k 到每年 $111k。有傳聞?wù)f,薪資列表落后于新員工的預(yù)期,并且如果招聘經(jīng)理不去適應(yīng)開(kāi)發(fā)者的市場(chǎng),不給出更多的加薪,他們會(huì)更難雇傭和留住開(kāi)發(fā)者。留人和物色人才在 2018 仍然會(huì)是一個(gè)巨大的問(wèn)題,因?yàn)楣蛦T們會(huì)跳槽到別處有更高工資的職位。
方法論:職位搜索是在 Indeed.com 上進(jìn)行的。為了去除誤報(bào),我把它們和搜索詞 “software” 組合在一起來(lái)加強(qiáng)相關(guān)度,然后乘以 1.5(粗略地說(shuō),就是使用關(guān)鍵詞 “software” 和不用這個(gè)關(guān)鍵詞搜索到的編程崗位列表的區(qū)別)。所有 SERPS 都按照日期排序并檢查相關(guān)性。結(jié)果數(shù)據(jù)并不是 100% 準(zhǔn)確的,但它們對(duì)于在本文中使用的相對(duì)近似值足夠好了。
JavaScript 基礎(chǔ)我每年都在說(shuō):關(guān)注基礎(chǔ)。今年你會(huì)得到更多的幫助。所有的軟件開(kāi)發(fā)都是這樣組合的過(guò)程:把復(fù)雜的問(wèn)題拆解成多個(gè)小問(wèn)題,并將那些小問(wèn)題組合起來(lái),組成你的應(yīng)用。
但當(dāng)我問(wèn) JavaScript 的面試者那些軟件工程最基本的問(wèn)題,如“什么是函數(shù)組合”和“什么是對(duì)象組合”,他們幾乎總是回答不出這些問(wèn)題,盡管他們每天都在做這些事。
我一直認(rèn)為這是一個(gè)需要解決的嚴(yán)重問(wèn)題,所以我寫(xiě)了這個(gè)主題:“Composing Software”。
如果你在 2019 年沒(méi)有要學(xué)的了,那么就去學(xué)組合式編程吧。On TypeScript
TypeScript 在 2018 年持續(xù)增長(zhǎng),并且它會(huì)被持續(xù)高估,因?yàn)?類(lèi)型安全并不是什么大問(wèn)題(并沒(méi)有很好地減少產(chǎn)品的 bug 密度),并且在 JavaScript 中,類(lèi)型推斷 不需要 TypeScript 的幫助也可以做得很好。你甚至可以在使用 Visual Studio Code 時(shí),通過(guò) TypeScript 引擎在普通的 JavaScript 中進(jìn)行類(lèi)型推斷。或者為你喜愛(ài)的編輯器安裝 Tern.js 插件。
對(duì)于大部分高階函數(shù)而言,TypeScript 會(huì)繼續(xù)一敗涂地。大概是因?yàn)槲也恢涝鯓诱_使用它(在與它日常相伴多年后 — 在這種情況下,他們真的需要提高可用性或者文檔,或者兩者都要),但我仍然不知道在 TypeScript 中如何定義 map 操作的類(lèi)型,而它似乎在 transducer 中很清晰明了。捕獲錯(cuò)誤經(jīng)常失敗,并且經(jīng)常報(bào)明明不是錯(cuò)誤的錯(cuò)誤。
可能對(duì)于支持我所認(rèn)為的軟件,它僅僅是不夠靈活或者功能不夠完善。但我仍然對(duì)有一天它會(huì)加入我們需要的功能抱有希望,因?yàn)樗娜秉c(diǎn)在我嘗試在真實(shí)項(xiàng)目中使用它時(shí)令我失望,但我仍然喜歡它在有用的時(shí)候能夠合適地(并且可選擇地)定義類(lèi)型的潛力。
我目前的評(píng)價(jià):非??岬倪x擇,有限的使用場(chǎng)景,但被高估了,笨拙,并且在大型生產(chǎn)應(yīng)用中的投資回報(bào)率很低。這非常諷刺,因?yàn)?TypeScript 自稱(chēng)是 “JavaScript 的超集”??赡芩麄円尤胍粋€(gè)詞:“笨拙的 JavaScript 超集”。
在 JavaScript 里我們需要的是一個(gè)比 Haskell 更強(qiáng)大但是比 Java 更輕量的類(lèi)型系統(tǒng)。(PS:這句翻譯不確定,麻煩校對(duì)看下)
其他值得學(xué)習(xí)的 JavaScript 技術(shù)用于請(qǐng)求服務(wù)端的 GraphQL
用于管理應(yīng)用狀態(tài)的 Redux
用于獨(dú)立管理副作用的 redux-saga
react-feature-toggles 來(lái)簡(jiǎn)化持續(xù)交付和測(cè)試
RITEway 來(lái)編寫(xiě)美觀、可閱讀的單元測(cè)試
加密行業(yè)的崛起去年我預(yù)測(cè)區(qū)塊鏈和金融會(huì)計(jì)將會(huì)成為 2018 年值得觀察的重要技術(shù)。這個(gè)預(yù)測(cè)是正確的。2017 - 2018 的一個(gè)主要的主題是加密行業(yè)的崛起和構(gòu)建價(jià)值網(wǎng)絡(luò)的基礎(chǔ)。記住這個(gè)階段。你很快將會(huì)多次聽(tīng)到它。
如果你和我一樣自從 P2P 爆炸性增長(zhǎng)后關(guān)注那些去中心化應(yīng)用,這已經(jīng)持續(xù)很久了。由于比特幣點(diǎn)燃了導(dǎo)火索,并展示了去中心化應(yīng)用通過(guò)加密貨幣自我維持的方式,這種爆炸性增長(zhǎng)是不可阻擋的了。
比特幣在幾年內(nèi)增長(zhǎng)了若干個(gè)量級(jí)。你可能聽(tīng)說(shuō)過(guò) 2018 年是“加密寒冬”,并且有“加密行業(yè)處于掙扎中”的想法。這完全是無(wú)稽之談。實(shí)際的情況是,在 2017 年底,比特幣以史詩(shī)般的指數(shù)增長(zhǎng)曲線(xiàn)增長(zhǎng)到之前的 10 倍,但市場(chǎng)有所回落,這種回落會(huì)發(fā)生在每次比特幣增長(zhǎng)到之前的 10 倍。
比特幣 10 倍拐點(diǎn)
在這個(gè)圖表中,每個(gè)箭頭始于 10 倍點(diǎn),指向價(jià)格修正后的最低點(diǎn)。
加密貨幣的 ICO(首次代幣發(fā)行)的資金募集在 2018 年初達(dá)到頂峰。2017-2018 的資金泡沫帶來(lái)了生態(tài)系統(tǒng)中大量新的職位空缺,在 2018 年 1 月達(dá)到了頂峰,有超過(guò) 10k 的職位空缺。這種趨勢(shì)已經(jīng)回落到大概 2400 個(gè)職位空缺了(根究 Indeed.com 的數(shù)據(jù)),但是我們現(xiàn)在仍處于(這個(gè)行業(yè)的)早期階段,這場(chǎng)派對(duì)才剛開(kāi)始。
關(guān)于迅猛增長(zhǎng)的加密行業(yè)有很多可以討論的地方,但是這可以另寫(xiě)一篇博文了。如果你感興趣的話(huà),可以閱讀:“Blockchain Platforms and Tech to Watch in 2019”。
其他值得觀察的技術(shù)和去年預(yù)測(cè)的一樣,這些技術(shù)在 2018 持續(xù)爆炸性增長(zhǎng):
人工智能/機(jī)器學(xué)習(xí) 正如火如荼,在 2018 年末有 30k 的職位空缺。deep fakes,令人難以置信的生成藝術(shù),來(lái)自 Adobe 這樣的公司的研究團(tuán)隊(duì)研發(fā)的令人驚訝的視頻編輯能力?—?從來(lái)沒(méi)有更激動(dòng)人心的去探索人工智能時(shí)刻。
漸進(jìn)式 Web 應(yīng)用(PWA) 迅速成為了構(gòu)建現(xiàn)代應(yīng)用的方式 — 增加的新特性與有 Google、Apple、Microsoft、Amazon 等公司的支持。令我難以置信的是,我將手機(jī)上的 PWA 視為理所當(dāng)然。例如,我在我的手機(jī)上不再需要安裝 Twitter 的原生應(yīng)用。我僅僅使用 Twitter 的 PWA 來(lái)替代它。
AR(增強(qiáng)現(xiàn)實(shí))、VR(虛擬現(xiàn)實(shí))、MR(混合現(xiàn)實(shí))像戰(zhàn)神金剛一樣合體成 XR(eXtended Realty)。未來(lái)的全時(shí) XR 沉浸即將到來(lái)。我預(yù)測(cè)在 5-10 年內(nèi)會(huì)出現(xiàn)大規(guī)模的消費(fèi)級(jí) XR 眼鏡產(chǎn)品。隱形眼鏡會(huì)在 20 年內(nèi)推出。這個(gè)行業(yè)在 2018 年有數(shù)以千計(jì)的新職位空缺,并且在 2019 仍會(huì)持續(xù)爆炸性增長(zhǎng)。
YouTube 視頻鏈接:https://youtu.be/JaiLJSyKQHk
機(jī)器人、無(wú)人機(jī)和自動(dòng)駕駛汽車(chē):在 2018 年末,自動(dòng)飛行的無(wú)人機(jī)已經(jīng)被研發(fā)出來(lái)了,自動(dòng)機(jī)器人仍在持續(xù)優(yōu)化中,并且有更多自動(dòng)駕駛汽車(chē)上路了。2019 年,以及未來(lái)的 20 年,這些技術(shù)會(huì)持續(xù)增長(zhǎng)并重塑我們周?chē)氖澜纭?/p>
量子計(jì)算 和預(yù)期的一樣在 2018 發(fā)展得極好,并且和預(yù)期的一樣,它仍然沒(méi)有成為主流。事實(shí)上,我的預(yù)測(cè)“它會(huì)在 2019 或者在真正中斷之前成為主流”可能太樂(lè)觀了。
加密領(lǐng)域的研究者已經(jīng)集中更多的注意力在量子安全加密算法上(量子計(jì)算會(huì)打破今天的計(jì)算成本昂貴的假設(shè),而加密正是依賴(lài)于這些成本昂貴的計(jì)算),但盡管在 2018 年不斷涌現(xiàn)出有趣的研究進(jìn)展,最近有一篇報(bào)道 換了個(gè)角度看待這個(gè)問(wèn)題:
“在 2000 到 2017 年間,量子計(jì)算已經(jīng) 11 次上了 Gartner 的 hype list,每次都在 hype cycle 的最早階段就被列出,并且每次都說(shuō)已經(jīng)距離我們有十年之遙?!?/pre>這讓我想起了早期人工智能的努力,它在 1950 年代開(kāi)始升溫,在 1980 和 1990 年代有了有限的但是有趣的成果,但是在 2010 年左右的成果才開(kāi)始變得令人興奮。
我們正在構(gòu)建未來(lái)的名人數(shù)字藏品:cryptobling。Eric Elliott 是 “編寫(xiě) JavaScript 應(yīng)用”(O’Reilly)以及“跟著 Eric Elliott 學(xué) Javascript” 兩書(shū)的作者。他為許多公司和組織作過(guò)貢獻(xiàn),例如 Adobe Systems、Zumba Fitness、The Wall Street Journal、ESPN 和 BBC 等,也是很多機(jī)構(gòu)的頂級(jí)藝術(shù)家,包括但不限于 Usher、Frank Ocean 以及 Metallica。
大多數(shù)時(shí)間,他都在 San Francisco Bay Area,同這世上最美麗的女子在一起。
感謝 JS_Cheerleader。
原文地址:Top JavaScript Frameworks and Topics to Learn in 2019
原文作者:Eric Elliott
譯文出自:掘金翻譯計(jì)劃
本文永久鏈接:https://github.com/xitu/gold-miner/blob/master/TODO1/top-javascript-frameworks-and-topics-to-learn-in-2019.md
譯者:ElizurHz
校對(duì)者:KarthusLorin, wuzhengyan2015
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/101120.html
摘要:但他們的產(chǎn)品和服務(wù)正在發(fā)生變化,云計(jì)算市場(chǎng)也在迅速發(fā)展,年將出現(xiàn)新的一批云計(jì)算供應(yīng)商。對(duì)于發(fā)展成熟的云計(jì)算提供商而言,這意味著服務(wù)組合不斷增長(zhǎng)。年頂級(jí)云供應(yīng)商考慮到這一點(diǎn),以下是年備受關(guān)注的個(gè)頂級(jí)云計(jì)算供應(yīng)商,并以字母順序排序。對(duì)人們來(lái)說(shuō),云計(jì)算行業(yè)巨頭的名稱(chēng)已經(jīng)耳熟能詳。但他們的產(chǎn)品和服務(wù)正在發(fā)生變化,云計(jì)算市場(chǎng)也在迅速發(fā)展,2019年將出現(xiàn)新的一批云計(jì)算供應(yīng)商。對(duì)于發(fā)展成熟的云計(jì)算提供商...
摘要:版本發(fā)布月日,官博發(fā)文宣告正式發(fā)布。官方文檔提供了如下的示例終端上的輸出熱門(mén)文章我在阿里云做前端抓住我們核心的競(jìng)爭(zhēng)力,并同時(shí)發(fā)現(xiàn)業(yè)務(wù)中的問(wèn)題,跨端推進(jìn)解決,這是最好的出路。 showImg(https://segmentfault.com/img/remote/1460000019038442); 【阿里云 TXD 前端月刊】- 熱門(mén)前端技術(shù)快報(bào),聚焦業(yè)界新視界;前端領(lǐng)域急速發(fā)展的節(jié)奏...
摘要:目前預(yù)覽版現(xiàn)在已經(jīng)可以在上使用,很快就可以在上使用。版本發(fā)布月日,官博發(fā)文宣告正式發(fā)布。距離年月發(fā)布版已有一年多了。官方表示,這是系列的最后一個(gè)版本,他們將全力準(zhǔn)備。發(fā)布時(shí)隔一年,如約而至,正式發(fā)布第一個(gè)版本。showImg(https://user-gold-cdn.xitu.io/2019/4/30/16a6c4a6f112f3d6); 【阿里云 TXD 前端月刊】- 熱門(mén)前端技術(shù)快報(bào),...
摘要:版本發(fā)布月日,官博發(fā)文宣告正式發(fā)布。官方文檔提供了如下的示例終端上的輸出熱門(mén)文章我在阿里云做前端抓住我們核心的競(jìng)爭(zhēng)力,并同時(shí)發(fā)現(xiàn)業(yè)務(wù)中的問(wèn)題,跨端推進(jìn)解決,這是最好的出路。 showImg(https://segmentfault.com/img/remote/1460000019038442); 【阿里云 TXD 前端月刊】- 熱門(mén)前端技術(shù)快報(bào),聚焦業(yè)界新視界;前端領(lǐng)域急速發(fā)展的節(jié)奏...
閱讀 4361·2021-11-22 09:34
閱讀 2689·2021-11-12 10:36
閱讀 742·2021-08-18 10:23
閱讀 2636·2019-08-30 15:55
閱讀 3111·2019-08-30 15:53
閱讀 2081·2019-08-30 15:44
閱讀 1361·2019-08-29 15:37
閱讀 1401·2019-08-29 13:04