佳 React 開發(fā)IDE:
互聯(lián)網(wǎng)上還有很多 的IDE和編輯器。我們?yōu)槟占?022年React.JS開發(fā)的最佳IDE。在此集合中,您將找到可 幫助您簡化工作流程的 IDE。
Visual Studio
URL: https://visualstudio.microsoft.com/
Github: https://github.com/microsoft/vscode
Documentation: https://docs.microsoft.com/en-us/visualstudio
Price: FreeLanguages
: C, Python, .NET, Javascript, React through extensionsPlatform
: Windows, Mac, LinuxExtension
or Plugins:https://marketplace.visualstudio.com/
VS Code由Microsoft發(fā)布:該工具在開源MIT許可證下可用。由于其功能和自由度,VScode經(jīng)常贏得最受歡迎的IDE的投票。Visual Studio Code IDE 可用于 Windows、Linux 和 Mac 操作系統(tǒng)。它不僅支持JavaScript和React,而且還支持Node.js,TypeScript,并附帶了其他語言的整個擴(kuò)展生態(tài)系統(tǒng),包括C++,C #,Python,PHP和(當(dāng)然).NET。
VS Code是一個很好的IDE,可以啟動您的工作,因為它支持許多編程語言,并且具有許多功能,可以幫助您完成整個過程。
主要特點:
當(dāng)然,您可能不需要VS Code的所有功能(如果您喜歡任何嚴(yán)肅的東西,這不太可能),因此可能想要選擇其他東西,但是這個東西在所有情況下都適合我。
當(dāng)然,我們還沒有列出所有的功能,很可能你不會全部使用它們,但是這些東西在 React 開發(fā)方面效果很好。
如果我們看看VS Code和React這樣的東西,那么VS Code可以配置為一個非常高效和高效的機(jī)器,以加速開發(fā),這要歸功于它的插件。其中一些插件增強(qiáng)了javascript編程;其中許多專門增強(qiáng)了 react、redux、react native 等的開發(fā)體驗。
請注意,通過使用無數(shù)的插件,您可以更改整個編碼過程并大大加快開發(fā)過程。
優(yōu)點
缺點
值得注意的擴(kuò)展
React.js Starter Kit 是在 Bootstrap 的幫助下構(gòu)建的 react 應(yīng)用程序前端初學(xué)者工具包。它是一個跨平臺的項目模板,由 Node.js 提供支持 - 基于 Gulp、Webpack、BrowserSync、Karma、Protractor 等開發(fā)工具,可加快 React 項目初始化速度。
顯然,React Snippet Pack 是一個用于 React JavaScript 框架的代碼段包。
WebStorm
URL: https://www.jetbrains.com/webstorm/
Github: –
Documentation: https://www.jetbrains.com/help/webstorm/meet-webstorm.html
價格: 9/year
語言: Angular, React, Vue, Node.js, Ionic, React NativePlatform
: Windows, Mac, LinuxExtension
or Plugins:https://plugins.jetbrains.com/webstorm
當(dāng)然,我們不能不提到WebStorm——可能是最先進(jìn)、最受歡迎的Web開發(fā)工具。這個強(qiáng)大的 JavaScript 開發(fā) IDE 具有許多有用的功能,如智能編碼輔助、代碼完成、錯誤檢測以及針對多種語言(如 JavaScript、Node.js、HTML 和 CSS)的重構(gòu)。創(chuàng)建此IDE的公司稱為JetBrains。
Webstorm IDE 的質(zhì)量體現(xiàn)在它被絕大多數(shù)大型組織使用的事實中。
特征
最好的功能之一是,默認(rèn)情況下,WebStorm配置為在您處理文件時自動保存文件,當(dāng)您切換到其他IDE時,您會感受到WebStorm的美麗。另一件好事是,WebStorm有一個內(nèi)置的版本控制系統(tǒng),每次保存文件時都會提交。它與 Git 提交是分開的。
優(yōu)點
缺點
如果您正在尋找一個成熟的平臺,這可能是正確的選擇,因為它以其過去15年的出色開發(fā)功能而聞名。
在 React 開發(fā)方面,有以下特性:
我們認(rèn)為 WebStorm 是市場上 React 開發(fā)中收入最高的 IDE,這要歸功于它的許多功能、插件和良好的文檔。
Reactide
URL: https://reactide.io/
Github: https://github.com/reactide/reactide
Documentation: –
Price: Free, open-sourceLanguages
: ReactPlatform
: macOS, Windows, UbuntuExtension
or Plugins: none
Reactide 是為數(shù)不多的、也是第一個專門用于 React 開發(fā)的 IDE 之一。它是一個跨平臺的桌面應(yīng)用程序,提供了一個自定義模擬器,使得構(gòu)建工具和服務(wù)器配置變得不必要。
特征
優(yōu)點
缺點
如果你想快速開發(fā)一個 React 項目或更改它,那么沒有比 ReactIDE 更好的工具了。該工具運行迅速,并具有許多專門用于 React 開發(fā)的功能。
Vim Editor
URL: https://www.vim.org/
Github: https://github.com/vim/vim
Documentation: https://www.vim.org/docs.php
價格: FreeLanguages
: 幾乎所有
平臺: Linux, macOSExtension
or Plugins: https://vimawesome.com/
Vim 是一個非常古老的 IDE。好吧,至少作為一個IDE。這是一個非常高級的文本編輯器,你永遠(yuǎn)不會讓喜歡它的開發(fā)人員離開它,強(qiáng)迫他們切換到VScode或WebStorm。Vim因其配置屬性而在開發(fā)人員中非常知名。它是免費的,高度可定制的。
Vim具有搜索和語法突出顯示功能,并且超級輕量級。因此,它可以處理非常非常大的文件。但是,設(shè)置Vim需要很長時間。該工具具有圖形界面,但是 - 您可能已經(jīng)猜到了 - 它需要自定義。即使鼠標(biāo)要工作,您也需要出汗。默認(rèn)情況下,Vim 由鍵盤和鍵盤快捷鍵控制。Vim可以是一個偉大的IDE,如果你自定義它,并熟悉它內(nèi)外。但如果時間緊迫,這可能不是最佳選擇。
特征
優(yōu)點
缺點
支持Vim的一個重要細(xì)節(jié)是,頂級公司的大量工程師使用VIM,例如Facebook。
用于 React 開發(fā)的著名插件
vim-jsx — JSX 的語法突出顯示和縮進(jìn)。
vim-react-snippets — Vim 與 Facebook 的 React 庫配合使用的一組片段。
vim-babel — Vim 與 Facebook 的 React 庫配合使用的另一組片段。
GNU Emacs Editor
URL: https://www.gnu.org/software/emacs/
Github: https://github.com/emacs-mirror/emacs
Documentation: https://www.gnu.org/software/emacs/documentation.html
價格: FreeLanguages
: Language agnosticPlatform
: GNU, GNU/Linux, FreeBSD, NetBSD, OpenBSD, MacOS, MS Windows and SolarisExtension
or插件: https://github.com/emacs-tw/awesome-emacs
GNU Emacs是一個文本編輯器,帶有基本的用戶界面,但功能非常有用。該工具屬于以其可擴(kuò)展性而聞名的文本編輯器系列。GNU Emacs對于那些知道如何使用Vim編輯器的人來說將非常熟悉。這個編輯器可以被稱為最簡單的編輯器,但是,它沒有錯過任何重要功能。
特征
優(yōu)點
缺點
至于 React,Emacs 確實需要一些工作和插件才能真正讓它高效地工作。
擴(kuò)展
web-mode.el — 它是一種自治的 emacs 主要模式,用于編輯 Web 模板。它與包括JSX(React)在內(nèi)的許多語言兼容。
Spacemacs Editor
URL: https://www.spacemacs.org/
Github: https://github.com/syl20bnr/spacemacs
Documentation: https://www.spacemacs.org/doc/DOCUMENTATION.html
價格: FreeLanguages
: 幾乎與語言無知
的平臺: Windows, Mac, LinuxExtension
or Plugins: –
尋找Emacs和Vim的最佳組合,這是將為您提供最佳服務(wù)的編輯器。Spacemacs是一個社區(qū)驅(qū)動的Emacs發(fā)行版,因此是最好的編輯器,從Emacs和Vim中獲取了最好的。
特征
優(yōu)點
缺點
Emacs依賴于社區(qū)編寫的開源軟件包,基本上每種語言的每個IDE功能。我們認(rèn)為這很棒:您可以自己開發(fā)軟件包??隙ㄓ幸粋€學(xué)習(xí)曲線,但也有一些非常好的工具可以幫助自己在emacs中定位自己。
擴(kuò)展
React layer — React 的 ES6 和 JSX ready configuration layer。它將自動識別 .jsx 和 .react.js 文件。一個用于 React 集成的包層。
URL: https://www.sublimetext.com/
Github: https://github.com/SublimeText
Documentation: https://www.sublimetext.com/docs/
價格: > $0 — $99< —
語言: 幾乎與語言無關(guān)
平臺: Windows, Linux, macOSExtension
or Plugins: 沒有一個目錄,但有很多插件
Sublime Text是幾乎每種語言的強(qiáng)大文本編輯器。它輕量級,功能豐富,并在流行的平臺上受支持。用戶只需要一個許可證即可在任何計算機(jī)上使用崇高文本。該工具速度很快,與多個工具集成,并支持React和React Native以及所有Web編程語言。崇高文本提供了強(qiáng)大的插件支持,以增強(qiáng)編輯器的功能。它目前在Windows,Mac和Linux上可用。
Sublime文本編輯器的功能可以使用插件進(jìn)行擴(kuò)展和調(diào)整。在實踐中,許多JS插件有助于將Sublime Text變成一個優(yōu)雅的Javascript IDE。
Sublime Text使用針對速度和美觀性進(jìn)行了優(yōu)化的自定義UI工具包,并利用了每個平臺上的本機(jī)功能。
特征
優(yōu)點
缺點
我們并不是使用Sublime進(jìn)行REACT開發(fā)的忠實粉絲,因為還有其他更好和免費的選項可用。如果你已經(jīng)在組織中使用Sublime,并且想要在你的項目中包含React,這絕對是一個不錯的選擇,不需要撓撓頭去尋找其他任何東西。
包
react-native-snippets — 它是 React-native 的 Sublime Text Snippets 的集合
babel-sublime — 帶有 React JSX 擴(kuò)展的 ES6 JavaScript 的語法定義。
URL: https://rekit.js.org/
Github: https://github.com/rekit/rekit
Documentation: https://rekit.js.org/
價格: FreeLanguages
: ReactPlatform
: WebExtension
or Plugins: https://rekit.js.org/docs/plugin.html
Rekit 是一個專門用于使用 React 開發(fā)應(yīng)用程序的 IDE。它既可以用作IDE,也可以用作工具包,可用于使用React,React路由器和Redux開發(fā)Web應(yīng)用程序。Rekit studio在節(jié)點服務(wù)器上運行,是一個npm包,因此,它在瀏覽器中運行。開發(fā)人員可以利用 Rekit Studio 的許多功能,包括代碼編輯、代碼生成、依賴關(guān)系圖、重構(gòu)、生成、單元測試以及更簡單的代碼導(dǎo)航方法。我們喜歡Rekit的主要功能是每個React應(yīng)用程序都有自己的Rekit工作室,因此事情仍然簡單可控。但是,我們不建議將 Rekit 用于企業(yè)級 React js 開發(fā)。
特征
URL: http://brackets.io/
Github: https://github.com/adobe/brackets
Documentation: http://brackets.io/docs/current/modules/brackets.html
價格: FreeLanguages
: JS, Ruby, Python, Perl, etc.
平臺: Windows, Linux, macOSExtension
or Plugins: https://registry.brackets.io/
Brackets是一個非常輕量級和閃電般的Web開發(fā)IDE,但看起來更像是一個源代碼編輯器。它是主要為Web開發(fā)人員構(gòu)建的IDE之一。支架具有巨大的插件支持,并且完全免費使用。由Adobe Systems創(chuàng)建,這個開源軟件可以幫助您使用所有Web編程語言構(gòu)建代碼。Brackets 適用于 Mac、Windows 和 Linux。功能查找和快速項目切換是它提供的一些顯著功能。
特征
優(yōu)點
缺點
在 react 方面,有一些插件可用于增強(qiáng) Brackets 功能,以便使用 React 組件進(jìn)行快速開發(fā)。
括號是最好的Web IDE,如果你正在尋找一個理解網(wǎng)頁設(shè)計的編輯器。它附帶了一套很好的可視化工具,例如網(wǎng)站表單創(chuàng)建者或其他預(yù)處理器支持。它是由網(wǎng)頁設(shè)計師為網(wǎng)頁設(shè)計師創(chuàng)建的。
注意:Adobe 將于 2021 年 9 月 1 日結(jié)束對 Brackets 的支持。如果您想繼續(xù)使用、維護(hù)和改進(jìn) Brackets,可以在 GitHub 上分叉該項目。
URL: https://atom.io/
Github: https://github.com/atom
Documentation: https://atom.io/docs
價格: Free, open-sourceLanguages
: most JavascriptPlatforms
: Windows, Linux, macOSExtension
or Plugins: https://atom.io/packages
如果你在Github上開發(fā)一個Web應(yīng)用程序,那么沒有比Atom更好的IDE了。這個開源編輯器是由GitHub開發(fā)的,因此與該平臺密切相關(guān)。Atom也是一個完全正常的Javascript編輯器,借助于可以實現(xiàn)的Web項目。Atom擁有廣泛的社區(qū)支持,可以傾聽并處理反饋。它可以在Windows,Linux和macOS上使用,并具有龐大的軟件包存儲庫,以滿足開發(fā)人員的需求。
特征
優(yōu)點
缺點
Atom是真正可破解的,可以使用大量基于Node.js的插件進(jìn)行定制,以擴(kuò)展atom功能以滿足您的需求。由于來自不同社區(qū)的大力支持以及令人敬畏的UI界面和功能,它吸引了很多開發(fā)人員。
包
選擇正確的 IDE 將對您作為開發(fā)人員的性能產(chǎn)生非常大的影響。每個 IDE 都有自己的一組功能、優(yōu)缺點,這些特性和優(yōu)缺點是它們之間的區(qū)別。我們還討論了用于開發(fā) React 應(yīng)用程序的所有最佳 IDE。如果你遷移到 IDE 來幫助你進(jìn)行 React 開發(fā),我們保證你不會回到普通的編輯器。
希望您能為下一個Web開發(fā)項目找到合適的一個。畢竟,編寫代碼的是開發(fā)人員,而不是IDE。
ngularJS 是一個開源的前端框架,用于開發(fā)動態(tài)網(wǎng)頁,該框架使用 JavaScript 編程語言。借助 AngularJS,可以實現(xiàn)跨瀏覽器、交互式和用戶友好的 Web 應(yīng)用程序。此外,與其他框架相比,該框架分析頁面 DOM 并有助于減少代碼長度。因此,由于這些原因,AngularJS 受到許多公司的開發(fā)人員的青睞。
但是如果沒有集成開發(fā)環(huán)境,就不可能用更少的代碼開發(fā)出高質(zhì)量的應(yīng)用程序。因此,一些 IDE 應(yīng)運而生。Angular IDE 簡化了開發(fā)人員所需的工作,并且可以在短時間內(nèi)提供最佳結(jié)果,這里是適合開發(fā)人員的最佳 IDE。
1. WebStorm
這個功能強(qiáng)大的代碼編輯器由 Jetbrains 開發(fā)。借助其內(nèi)置的 TypeScript,您可以輕松開發(fā) Angular 2 應(yīng)用程序。您不必依賴外部插件,因為它允許使用其純 Vanilla JavaScript 編譯代碼。
WebStorm 支持 HTML、JavaScript、Node.js 和 CSS。您可以確保在使用 WebStorm IDE for AngularJS 開發(fā)的應(yīng)用程序中進(jìn)行穩(wěn)健的導(dǎo)航和重構(gòu)。此外,它還允許通過智能編碼與 Visual Studio 代碼集成。
2.Sublime Text
許多開發(fā)人員使用此文本編輯器,因為它可以靈活地適應(yīng)任何編程環(huán)境。此外,它輕量級且穩(wěn)定,允許開發(fā)人員自由有效地編碼。 Sublime 能夠一次運行多個文件并且不會導(dǎo)致任何問題。此外,它在檢查正則表達(dá)式和區(qū)分大小寫的字符時執(zhí)行準(zhǔn)確。
Sublime 支持 TypeScript 代碼編輯并優(yōu)化應(yīng)用程序或網(wǎng)站中的自定義功能。開發(fā)人員不必為不同的平臺編寫代碼,因為在 Sublime 的幫助下,他們可以輕松地進(jìn)行跨平臺編輯。
3. Brackets
Brackets 是開發(fā)人員中著名的源代碼編輯器。它支持跨平臺開發(fā),并允許 HTML、CSS 和 JavaScript 編輯功能。除了支持多種語言外,它甚至對于新手程序員來說也是一個很好的 IDE。您可以在其中使用不同的插件來支持各種語言的附加功能。
您可以通過代碼的實時預(yù)覽進(jìn)行實時編輯。因此,憑借許多有用的功能,此 IDE 使應(yīng)用程序構(gòu)建過程變得簡單而富有創(chuàng)意。這就是為什么它也被稱為具有可視化工具的現(xiàn)代編輯器。
4. Atom
Atom 由 GitHub 發(fā)布,它在這個 IDE 中為 Angular 開發(fā)人員帶來了定期更新。您可以將它用于 Android、Mac、Linux 和許多其他操作系統(tǒng)。憑借其靈活的編程環(huán)境,開發(fā)人員可以實現(xiàn)他們的工作方式并有效地滿足開發(fā)要求。
自動代碼提示、靜態(tài)類型檢查和代碼自省功能使開發(fā)人員的工作變得簡單,以便他們可以更準(zhǔn)確地改進(jìn)代碼。您還可以進(jìn)行簡單而有吸引力的修改,例如背景顏色。
5. Aptana Studio
它是一個開源 IDE,適用于許多最好的前端框架。 Aptana 是 Eclipse 的定制版本,專注于 JavaScript、CSS 和 HTML。它包含幾個插件,以允許在應(yīng)用程序開發(fā)中進(jìn)行不同的擴(kuò)展。您甚至可以將它們用于不同的框架和庫。
許多開發(fā)人員將它用于 AJAX 應(yīng)用程序,但現(xiàn)在他們也更喜歡它用于其他類型的應(yīng)用程序。它由一個集成調(diào)試器組成,有助于節(jié)省開發(fā)人員使用外部調(diào)試器的時間。借助 Eclipse Marketplace,您可以輕松安裝 AngularJS Eclipse 并將其用于開發(fā)。
6.Visual Studio 代碼
它由 Microsoft 為 Linux、Windows 和 OS X 開發(fā)。Visual Studio 具有代碼重構(gòu)功能,它是一個功能強(qiáng)大的 AngularJS IDE,可為 Web 開發(fā)提供持續(xù)的幫助。
語法高亮和代碼片段使許多新手開發(fā)人員的開發(fā)變得容易。此 IDE 支持多種語言,許多大型 AngularJS 開發(fā)公司選擇它以進(jìn)行快速調(diào)試和輕松定制。
7.ALM IDE
您可以使用它在 TypeScript 項目中快速開發(fā),并且在單個 NPM 命令的幫助下,您可以完成它的安裝。您可以使用 ALM IDE 避免常見的 UX 錯誤,因為它易于使用并消除了使用 TypeScript 的所有障礙。
ALM IDE 是輕量級的,專為 TypeScript 制作,您可以通過其功能理解。它基于云并支持許多瀏覽器。
這些是一些可以簡化 AngularJS 開發(fā)人員工作的優(yōu)秀 IDE。 對于按需應(yīng)用程序,這種前端框架一直是至關(guān)重要的選擇,因為它的 IDE 有助于通過簡單的編碼開發(fā)定制產(chǎn)品。
了解更多
020 年的技術(shù)熱潮之下,我們該如何迎刃而上,需要具備哪些技術(shù)棧?如果你是一名前端開發(fā)者,不妨通過本文了解頂級的 JavaScript 框架以及未來趨勢預(yù)探,來升級自己的技能吧!
作者 | Eric Elliott
譯者 | 蘇本如,責(zé)編 | 屠敏
頭圖 | CSDN 下載自視覺中國
出品 | CSDN(ID:CSDNnews)
以下為譯文:
如果你想找到一份很棒的JavaScript工作,或者趕上2020年的重要技術(shù),以及今后十年的重要技術(shù),那么這篇文章就是為你準(zhǔn)備的。本文的重點不是告訴你哪些技術(shù)堆棧和框架是“最佳”,最受大家喜愛或者最受歡迎的技術(shù),而是告訴你哪些技術(shù)堆棧和框架能夠為你提供在2020年及以后獲得一份出色工作的最佳機(jī)會。
我們將研究以下不同來源的數(shù)據(jù):
谷歌搜索的趨勢:https://trends.google.com/trends/
State of JS調(diào)查報告:https://2019.stateofjs.com/
Stack Overflow調(diào)查報告:https://insights.stackoverflow.com/survey/2019
Npm下載量:https://npm-stat.com/charts.html?package=react&package=vue&package=%40angular%2Fcore&package=svelte&package=jquery&from=2015-12-30&to=2019-12-30
Indeed.com上發(fā)布的空缺職位總數(shù):https://www.indeed.com/
這些指標(biāo)都不是完美的,但就本文的目的而言,npm下載次數(shù)和Indeed.com職位發(fā)布數(shù)量應(yīng)該給予最大的權(quán)重,當(dāng)我們綜合考慮這些指標(biāo)時,它們可以清晰、一致地描繪JavaScript技術(shù)的前景和趨勢。根據(jù)這些指標(biāo)選擇一個學(xué)習(xí)框架是一個好主意嗎?那首先要取決于你的目標(biāo)是什么。
因為我們有一個明確的目標(biāo):求職者學(xué)習(xí)的投資回報率。這就使得這項任務(wù)比告訴你什么對每個人都是最好的要容易得多。雖然沒有一種方法是萬能的,但客觀地定義什么可以最大程度地實現(xiàn)特定的具體目標(biāo)是很容易的。讓我們來看看一些數(shù)據(jù)。
首先,學(xué)習(xí)JavaScript
在你過多地?fù)?dān)心技術(shù)堆棧之前,請先學(xué)習(xí)JavaScript以及如何使用它來編寫軟件。如果你無法解釋什么是函數(shù)組合、對象組合和模塊,請從這里開始。所有的軟件開發(fā)都是某種組合:我們把一個大的、復(fù)雜的問題分解成一些小的問題,然后使用軟件構(gòu)建塊(如函數(shù)、對象、模塊等等)來解決它們。我們將這些解決方案組合起來形成我們的應(yīng)用程序。從2020年開始,請充分理解JavaScript和軟件組合。
React在2019年占據(jù)主導(dǎo)地位,2020年可能繼續(xù)
我喜歡npm下載量這個指標(biāo),因為它很好地表明了框架的活躍使用情況(*)。行業(yè)常用框架統(tǒng)計給于npm下載量的權(quán)重非常之高,原因是因為用戶需要在其本地機(jī)器上運行npm install。
此處jQuery被排除在外,原因是許多jQuery項目都是不使用npm的舊項目,因此無論如何它都會被嚴(yán)重低估。Svelte被包括進(jìn)來,是為了提供一些有關(guān)其在市場上的相對地位的見解,并解釋其在其他圖表中的缺失。目前還沒有足夠的數(shù)據(jù)讓Svelte在圖表中顯示有意義的內(nèi)容。例如,在Google搜索趨勢中,它還不是一個可用的主題。
空缺職位總數(shù)
下面這張圖表顯示了各特定框架的當(dāng)前空缺職位總數(shù)統(tǒng)計(*):
2019年12月各UI框架空缺職位統(tǒng)計(數(shù)據(jù)來源:indeed.com)
與去年相比,React擴(kuò)大了領(lǐng)先優(yōu)勢,而Angular和jQuery都輸給了Vue。下面是一個餅圖,顯示了每個框架的相對就業(yè)市場份額:
頂級框架的就業(yè)市場份額
JavaScript開發(fā)人員的平均工資在2019年再次增長,從每年的11.1萬美元增加到每年的11.4萬美元(這里是數(shù)據(jù)來源)。
(*)統(tǒng)計方法:職位搜索是在indeed.com網(wǎng)站進(jìn)行的。為了排除誤報,我將搜索與關(guān)鍵字“software”配對,以增強(qiáng)其相關(guān)性,然后乘以~1.5(大致相當(dāng)于使用“software”和不使用“software”的編程職位列表之間的差異)。所有搜索結(jié)果頁(SERPs)都按日期排序并抽查其相關(guān)性。得到的數(shù)字并非100%準(zhǔn)確,但對于本文中使用的相對近似值來說,它們已經(jīng)足夠好了。
谷歌搜索趨勢
數(shù)據(jù)來源:https://trends.google.com/trends/explore?date=2017-01-01%202019-12-01&q=%2Fm%2F012l1vxv,%2Fg%2F11c6w0ddw9,%2Fg%2F11c0vmgx5d,%2Fm%2F0268gyp
正如你所料,搜索興趣(*)反映了就業(yè)市場份額,但存在一些有趣的差異。我們可以清楚地看到,從2017年到現(xiàn)在,人們對jQuery的興趣在減弱,并且Vue.js搜索興趣正在強(qiáng)勁增長。以下是各框架在谷歌搜索統(tǒng)計中所占的份額:
上圖與職位空缺的統(tǒng)計結(jié)果一致:React擁有強(qiáng)大的領(lǐng)先優(yōu)勢,吸引了36%的前端框架搜索量,其次是Angular(約占27%)和jQuery(約占25%)。對Vue.js的搜索興趣遠(yuǎn)遠(yuǎn)大于它在就業(yè)市場的份額,但該數(shù)據(jù)與排名中的就業(yè)市場數(shù)據(jù)基本一致??磥砦覀円呀?jīng)成功地證實了這一點。
(*)統(tǒng)計方法:對于所有搜索,數(shù)據(jù)都是按主題收集的,而不是按搜索詞收集,以便從無關(guān)的關(guān)鍵字匹配中剔除誤報。
未來值得關(guān)注的框架
現(xiàn)在更多的職位需要具有React框架技能,而不是其他受歡迎但使用不那么廣泛的框架,如Svelte或Vue,這兩個框架都有很高的滿意度,但行業(yè)采用率相對要小得多。
學(xué)習(xí)Svelte或Vue框架可能會很酷。但是如果你的目標(biāo)是找到一份工作,那么如果先學(xué)習(xí)React,你會有更好的機(jī)會。
話雖如此,在《2019年JavaScript狀態(tài)調(diào)查報告》中,Svelte和Vue的用戶滿意度得分都非常高。在過去,React框架的高用戶滿意度得分預(yù)示了它相對于Angular框架的快速增長。Angular框架在當(dāng)時也占據(jù)了主導(dǎo)地位,但其用戶滿意度得分卻相對較低。
在2019年,React框架的用戶滿意度排名最高,達(dá)到89%。緊跟其后的包括Svelte(88%)和Vue.js(87%,低于上一年的91%)。Svelte或Vue不太可能會搶走足夠的React用戶,但是許多仍在使用Angular和jQuery的用戶,他們可能會轉(zhuǎn)而使用Svelte或Vue,從而在2020年推動這兩個框架的進(jìn)一步強(qiáng)勁增長。
可以肯定的是,掌握React框架將會增加你的機(jī)會,幫助你在2020年找到并守住一份很棒的工作。
TypeScript vs JavaScript
毫無疑問,在過去幾年中,TypeScript的發(fā)展非常迅速,根據(jù)JavaScript現(xiàn)狀調(diào)查報告(State of JS Survey),89%的TypeScript用戶會再次使用它,66%的調(diào)查對象要么使用TypeScript,要么對使用TypeScript感興趣(比最低年份的71%略有下降)。
但是,盡管人們的興趣確實很強(qiáng),并且使用率似乎正在迅速增長,但在就業(yè)市場上,擁有TypeScript方面的經(jīng)驗還不是很搶手。只有大約7%的JavaScript空缺職位的職位描述中提到TypeScript(數(shù)據(jù)來源)。這個數(shù)字對TypeScript的職位需求可能有些低估,因為招聘經(jīng)理們希望JavaScript開發(fā)人員能夠輕松地使用TypeScript,因此他們有可能不會在工作崗位描述中提及TypeScript。
我堅持認(rèn)為TypeScript語言的投資回報率可能較低甚至為負(fù)。它可能會損害而不是提高你的生產(chǎn)率,并且,如果你已經(jīng)在使用諸如TDD,代碼審查和設(shè)計審查等優(yōu)秀的缺陷預(yù)防工具,那么使用TypeScript編寫代碼不太可能帶來明顯的降低缺陷的好處。
話雖如此,TypeScript有很多值得熱愛的地方,你當(dāng)然不應(yīng)該害怕它,或者拒絕一份工作,僅僅因為它們使用的是TypeScript而不是JavaScript。另外TypeScript是JavaScript的超集,因此從JavaScript轉(zhuǎn)到TypeScript并不像學(xué)習(xí)完全不同的語言那樣具有挑戰(zhàn)性。
你可能不需要學(xué)習(xí)TypeScript語言就可以在2020年的就業(yè)市場競爭中脫穎而出,但是TypeScript引擎非常有用,即使對于標(biāo)準(zhǔn)JavaScript也是如此。
我每天都使用TypeScript引擎為使用VS Code編寫的標(biāo)準(zhǔn)JavaScript提供智能感知(Intellisense)。甚至可以使用JSDoc(TypeScript引擎能夠理解和解釋JSDoc,就像解釋類型注釋一樣)或外部d.ts文件來增強(qiáng)這種智能感知,并且VS Code將自動獲取你使用的模塊的TypeScript定義。
多年來我一直使用并享受TernJS和Atom的組合帶來的類似的好處,但是這種組合缺少TypeScript引擎 + VS Code的維護(hù)和社區(qū)支持。
如果您尚未嘗試使用Visual Studio(VS) Code,你可能要從那里開始。順便說一句,根據(jù)JS現(xiàn)狀調(diào)查的受訪者的反饋,VS Code占據(jù)了JavaScript IDE市場的主導(dǎo)地位,市場份額為57%,其次是WebStorm,市場份額為14%。
數(shù)據(jù)管理
Redux在狀態(tài)管理器的競賽中仍然處于領(lǐng)先地位,但是GraphQL和Apollo在滿意度和興趣上都有所提高。預(yù)計GraphQL在2020年將持續(xù)增長。
也就是說,即使你在使用GraphQL,我仍然認(rèn)為有充分的理由來學(xué)習(xí)Redux狀態(tài)管理,而且我認(rèn)為每個人都會從學(xué)習(xí)Redux中受益,即使他們不使用這個框架。
GraphQL是近年來流行的一種查詢語言。它具有簡單的語法,但是因為它是跨整個堆棧使用的,并且學(xué)習(xí)它需要學(xué)習(xí)如何將它連接到數(shù)據(jù)存儲層,因此集成起來可能令人生畏,但值得付出努力。
GraphQL不會在短期內(nèi)完全取代JSON REST API,但是它在2019年的增長很快,我預(yù)計其強(qiáng)勁增長將持續(xù)到2020年。
后臺框架
Express是占主導(dǎo)地位的Node框架,它的滿意度非常高,到2020年也不會有強(qiáng)勁的挑戰(zhàn)者,但是隨著無服務(wù)器(serverless)的興起,我希望隨著新的十年的到來,Express的統(tǒng)治地位將逐漸下降。
Next.js是一個全棧React框架,最初是在Express之上構(gòu)建的,但此后從Express切換到無服務(wù)器和靜態(tài)優(yōu)化,它像發(fā)瘋似地快速增長起來。
當(dāng)我們將EricElliottJS.com從Express切換到無服務(wù)器的Next.js時,我們的主機(jī)托管費用減少了90%,并且頁面加載速度變得更快。所以我無論多么強(qiáng)烈推薦它都不過分?,F(xiàn)在,對于所有的應(yīng)用程序,我們都使用了Next.js和Zeit托管。
測試
Jest和Cypress分別在單元測試和功能測試中最受歡迎,但是我非常喜歡RITEWay和TestCafe。RITEWay是一個測試框架,它始終回答每個單元測試必須回答的5個問題。
TestCafe和Cypress一樣,是一個功能測試工具。有了它,你就不再需要和Selenium抗?fàn)?,它具有更好的跨瀏覽器支持和出色的測試記錄器/集成開發(fā)環(huán)境(IDE)。我強(qiáng)烈建議QA團(tuán)隊嘗試TestCafe。
功能性工具
Lodash,Ramda,Immer,Redux和RxJS是我經(jīng)常使用的功能性工具。
Ramda在2019年取得了長足發(fā)展,并提供了Lodash所不具備的一些特性,包括lense和transducer。RxJS通過其管道化運算符提供了transducer樣式功能。
Immer使得在JavaScript對象上操作因無需對其進(jìn)行轉(zhuǎn)換而變得更加容易。Redux是一個狀態(tài)管理工具。
2020年的科技預(yù)覽
在未來十年,有幾項新興技術(shù)將對人類生活產(chǎn)生巨大影響。以下是這些技術(shù)的最新概況:
人工智能
人工智能可能是有史以來最具變革性的技術(shù)。許多學(xué)者和自以為是的億萬富翁們都將人工智能描述成一個神奇的烏托邦,或者說是人類的末日。
正如我們所知,它當(dāng)然可能是人類的終結(jié),但也可能是人類和機(jī)器之間完美合作的開始。我們才剛剛開始對人工智能可能會變成什么樣有了粗淺的一瞥。其中有些很嚇人(比如deep fakes換臉術(shù)),有些則非常有用(比如Adobe Premiere為視頻編輯新推出的自動重構(gòu)(auto-reframe)功能)。到目前為止,事實是人工智能既令人難以置信的可怕,又非常有用。人工智能將繼續(xù)產(chǎn)生一些令人恐懼的東西,但是通過人工智能改善人類生活的潛力也是巨大的。潘多拉的盒子已經(jīng)打開,再也無法關(guān)閉了,所以我希望你能好好利用它來解決重要問題,改善我們的生活。
2019年人工智能領(lǐng)域有許多重要突破。近年來,研究團(tuán)隊一直在各種視頻游戲中爭奪超人的表現(xiàn),但某些類別的游戲仍然對人工智能構(gòu)成挑戰(zhàn),包括《星際爭霸II》之類的長期戰(zhàn)略游戲。DeepMind的AlphaStar程序(一種人工智能)已經(jīng)在官方的Battle.net服務(wù)器上使用與人類玩家相同的資源,達(dá)到了頂級玩家的水平。《星際爭霸》是一款復(fù)雜的游戲,涉及長期的戰(zhàn)略思維,一度被認(rèn)為超出了人工智能的能力。戰(zhàn)略思維是走向通用人工智能的重要里程碑。
如果這些游戲看起來像是愚蠢地使用了資源,那么不妨考慮一下,像DeepMind這樣的項目在文本到語音方面也取得了令人難以置信的進(jìn)步,這可以讓人工智能代理和私人助理發(fā)出更自然的聲音,而且更重要的是,可以把聲音還給失去它們的人類。
人工智能還被用于診斷癌癥、預(yù)測蛋白質(zhì)折疊(可用于了解疾病和發(fā)現(xiàn)新藥)、恢復(fù)殘疾人的肢體控制、生成逼真的照片等(資料來源:https://www.stateof.ai/)。
無人駕駛汽車在變革性的人工智能技術(shù)中應(yīng)該有自己的一席之地。這個生態(tài)系統(tǒng)中的主要參與者包括Cruise、優(yōu)步、Waymo、Nuro、Aurora、福特等。現(xiàn)在它還處于初期,過分樂觀已經(jīng)給這個行業(yè)帶來了真正的問題,但毫無疑問,我們將在21世紀(jì)20年代看到超越人類的自動駕駛能力。在2015年的時候,我對無人駕駛做出了如下預(yù)測:
“到2045年,一個人駕駛的小車看起來就像一匹馬拉著的輕便馬車。”
5年后,我想我可能低估了無人駕駛汽車的上市速度。2018年,Waymo汽車的行駛里程超過100萬英里,美國24個城市的公共道路上都有無人駕駛汽車在行駛。今天,我預(yù)計到2025年,來自多家制造商的多種車型將實現(xiàn)5級完全自動駕駛。請關(guān)注特斯拉、通用、福特和寶馬。
在過去的十年中,人工智能研究論文的發(fā)表量增長了10倍,現(xiàn)在人工智能正把實用、有幫助的工具交到主流用戶手中,預(yù)計這一趨勢將持續(xù)到新的十年。
我們已經(jīng)開始看到人工智能做了很多幾年前大多數(shù)人都不敢相信的事情。期待人工智能在下一個十年創(chuàng)造出更加驚人的奇跡。
區(qū)塊鏈和加密貨幣
2019年是區(qū)塊鏈和加密貨幣領(lǐng)域具有里程碑意義的一年。區(qū)塊鏈技術(shù)開始進(jìn)入主流。我預(yù)計2020年會有更多的增長和主流采用。
DeFi(去中心化金融)爆炸式增長,實現(xiàn)了用戶友好,無許可,無銀行借貸。目前DeFi合同的總金額已經(jīng)有6.5億美元(包括4.5億美元的無銀行貸款),而2019年只是這項技術(shù)可用的第一年。隨著越來越多的人投資于加密貨幣,我預(yù)測未來會有更多的加密貨幣支持的DeFi貸款。
人們可以在不犧牲其加密投資機(jī)會成本的情況下獲得流動性,或使用DeFi貸款以杠桿效應(yīng)投資加密貨幣(增加其投資的風(fēng)險/回報)。
加密貨幣和區(qū)塊鏈技術(shù)正在突破主流。比特幣和以太坊的每日活躍地址在2018年1月達(dá)到峰值,隨后一年由于市場低迷而興趣減弱(每上漲10倍,加密貨幣的價格就會大幅回落,然后在下一個周期比之前的峰值再高出10倍)。
比特幣和以太坊區(qū)塊鏈上的每日活動地址統(tǒng)計(數(shù)據(jù)來源:https://coinmetrics.io/charts/#assets=btc,eth_log=false_roll=90_left=AdrActCnt_zoom=1279411200000,1577836800000)
Square的Cash App擁有超過1000萬次的安卓版下載量。用戶可以在一個擁有出色用戶體驗的簡單應(yīng)用程序中購買、出售、發(fā)送和接收比特幣。
Coinbase的安卓版下載量超過1000萬次。
Brave推出了內(nèi)置以太坊錢包,每月活躍用戶(MAU)的數(shù)量從10月的870萬增加到11月底的1040萬。
借助Sliver.tv和DLive,2000萬視頻游戲迷正在使用Theta網(wǎng)絡(luò)進(jìn)行分散流媒體播放。
2019年我最喜歡的變化是Fortmatic的引入。無論你是否正在構(gòu)建加密應(yīng)用程序,你都可以使用Fortmatic來替代你的用戶身份驗證并提高安全性、你還可以擺脫供應(yīng)商鎖定,并添加諸如端到端加密、簽名事務(wù)等功能。
如果你打算在2020年構(gòu)建一個新的應(yīng)用程序,考慮使用Fortmatic,而不是重復(fù)使用你自己的用戶名/密碼認(rèn)證(2020年應(yīng)該沒有人再這么做),或者將身份認(rèn)證授權(quán)給谷歌、Facebook等。
我寫過一篇文章,討論如何利用加密技術(shù)來改善應(yīng)用程序的身份驗證和安全性。我很期待看到主流應(yīng)用在2020年采用像Fortmatic這樣的技術(shù)。
以太坊在2019年輕松贏得了智能合約平臺競賽。我預(yù)計它將在2020年繼續(xù)占據(jù)主導(dǎo)地位。
擴(kuò)展現(xiàn)實(XR)
從2015年開始,我每年都會寫一篇關(guān)于對AR(增強(qiáng)現(xiàn)實)的期許的文章,從小我就一直夢想著它的實現(xiàn)。未來,擴(kuò)展現(xiàn)實(XR)將取代手機(jī)。這只是時間問題。但是還需要多久是個懸而未決的問題。但現(xiàn)在看來這種轉(zhuǎn)變可能在未來十年內(nèi)出現(xiàn)。甚至可能在未來5年內(nèi)開始。
由于虛擬現(xiàn)實(VR)和增強(qiáng)現(xiàn)實(AR)之間的界限已經(jīng)模糊,因此業(yè)界現(xiàn)在將整個領(lǐng)域稱為擴(kuò)展現(xiàn)實(XR)。自推出以來,ARKit和ARCore(蘋果和谷歌的增強(qiáng)現(xiàn)實SDK)增長量驚人。從2017年到2019年5月,每月活躍用戶從4,700萬增長到了1.5億。
WebAR在2019年站穩(wěn)了腳跟,并且有可能在2020年繼續(xù)增長。如果你好奇的話,可以查看AR.js、React 360或Viro React。
硬件方面也有了長足進(jìn)步。HoloLens 1在2016年首次發(fā)布開發(fā)者版本時,售價約為5,000美元。在那以后發(fā)生了什么?
HoloLens 2仍然只售3,500美元,而且還沒有為消費者做好準(zhǔn)備。剪輯、防抖動和漂移、視場等方面仍然存在問題,你不會想整天穿著這些東西。不過,由于99美元/月的定價,獲得一個開發(fā)者版本變成了一個可能性,即使你不得不在等待名單等上一段時間。
無人機(jī)
大約200萬架無人機(jī)已經(jīng)在美國售出,它們已經(jīng)改變了建筑、地理調(diào)查、測繪、電影、航空攝影、農(nóng)業(yè)、環(huán)境科學(xué)和娛樂業(yè)。很有可能,商用無人機(jī)的交付最終將于2020年在美國實現(xiàn)。。
FPV無人機(jī)比賽是我最喜歡的觀賞性體育運動,無人機(jī)比賽聯(lián)盟的直播流比賽也是。如果你想了解它是什么樣的,他們也有一個精心設(shè)計的模擬器。
所有這些新的無人機(jī)活動都需要很多軟件,包括圖像處理、無人機(jī)地圖軟件、交付飛行計劃、遙測記錄和處理、分析、工業(yè)應(yīng)用集成等。
無人機(jī)和人工智能也有很多重疊之處。自動飛行的無人機(jī)需要圖像處理、避免碰撞等。
結(jié)論
21世紀(jì)10年代給我們帶來了許多變革性的技術(shù),它們當(dāng)中的許多我們已經(jīng)視為理所當(dāng)然,但是產(chǎn)生了巨大影響:
Spotify
優(yōu)步
虛擬助理
無線耳塞
主流虛擬現(xiàn)實
增強(qiáng)現(xiàn)實(如在突破命中游戲“神奇寶貝”中所用)
價格合理的特斯拉
共享經(jīng)濟(jì)(汽車、踏板車、自行車)
主流平板電腦
主流生物識別技術(shù)(觸摸識別、面部識別)
眾籌
我迫不及待想看到你在新的十年里的發(fā)展。
讓我們變魔術(shù)吧!
原文:https://medium.com/javascript-scene/top-javascript-frameworks-and-topics-to-learn-in-2020-and-the-new-decade-ced6e9d812f9
本文為 CSDN 翻譯,轉(zhuǎn)載請注明來源出處。
*請認(rèn)真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。