佳 React 开发IDE:
互联网上还有很多 的IDE和编辑器。我们为您收集了2022年React.JS开发的最佳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发布:该工具在开源MIT许可证下可用。由于其功能和自由度,VScode经常赢得最受欢迎的IDE的投票。Visual Studio Code IDE 可用于 Windows、Linux 和 Mac 操作系统。它不仅支持JavaScript和React,而且还支持Node.js,TypeScript,并附带了其他语言的整个扩展生态系统,包括C++,C #,Python,PHP和(当然).NET。
VS Code是一个很好的IDE,可以启动您的工作,因为它支持许多编程语言,并且具有许多功能,可以帮助您完成整个过程。
主要特点:
当然,您可能不需要VS Code的所有功能(如果您喜欢任何严肃的东西,这不太可能),因此可能想要选择其他东西,但是这个东西在所有情况下都适合我。
当然,我们还没有列出所有的功能,很可能你不会全部使用它们,但是这些东西在 React 开发方面效果很好。
如果我们看看VS Code和React这样的东西,那么VS Code可以配置为一个非常高效和高效的机器,以加速开发,这要归功于它的插件。其中一些插件增强了javascript编程;其中许多专门增强了 react、redux、react native 等的开发体验。
请注意,通过使用无数的插件,您可以更改整个编码过程并大大加快开发过程。
优点
缺点
值得注意的扩展
React.js Starter Kit 是在 Bootstrap 的帮助下构建的 react 应用程序前端初学者工具包。它是一个跨平台的项目模板,由 Node.js 提供支持 - 基于 Gulp、Webpack、BrowserSync、Karma、Protractor 等开发工具,可加快 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
当然,我们不能不提到WebStorm——可能是最先进、最受欢迎的Web开发工具。这个强大的 JavaScript 开发 IDE 具有许多有用的功能,如智能编码辅助、代码完成、错误检测以及针对多种语言(如 JavaScript、Node.js、HTML 和 CSS)的重构。创建此IDE的公司称为JetBrains。
Webstorm IDE 的质量体现在它被绝大多数大型组织使用的事实中。
特征
最好的功能之一是,默认情况下,WebStorm配置为在您处理文件时自动保存文件,当您切换到其他IDE时,您会感受到WebStorm的美丽。另一件好事是,WebStorm有一个内置的版本控制系统,每次保存文件时都会提交。它与 Git 提交是分开的。
优点
缺点
如果您正在寻找一个成熟的平台,这可能是正确的选择,因为它以其过去15年的出色开发功能而闻名。
在 React 开发方面,有以下特性:
我们认为 WebStorm 是市场上 React 开发中收入最高的 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 是为数不多的、也是第一个专门用于 React 开发的 IDE 之一。它是一个跨平台的桌面应用程序,提供了一个自定义模拟器,使得构建工具和服务器配置变得不必要。
特征
优点
缺点
如果你想快速开发一个 React 项目或更改它,那么没有比 ReactIDE 更好的工具了。该工具运行迅速,并具有许多专门用于 React 开发的功能。
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。这是一个非常高级的文本编辑器,你永远不会让喜欢它的开发人员离开它,强迫他们切换到VScode或WebStorm。Vim因其配置属性而在开发人员中非常知名。它是免费的,高度可定制的。
Vim具有搜索和语法突出显示功能,并且超级轻量级。因此,它可以处理非常非常大的文件。但是,设置Vim需要很长时间。该工具具有图形界面,但是 - 您可能已经猜到了 - 它需要自定义。即使鼠标要工作,您也需要出汗。默认情况下,Vim 由键盘和键盘快捷键控制。Vim可以是一个伟大的IDE,如果你自定义它,并熟悉它内外。但如果时间紧迫,这可能不是最佳选择。
特征
优点
缺点
支持Vim的一个重要细节是,顶级公司的大量工程师使用VIM,例如Facebook。
用于 React 开发的著名插件
vim-jsx — JSX 的语法突出显示和缩进。
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是一个文本编辑器,带有基本的用户界面,但功能非常有用。该工具属于以其可扩展性而闻名的文本编辑器系列。GNU Emacs对于那些知道如何使用Vim编辑器的人来说将非常熟悉。这个编辑器可以被称为最简单的编辑器,但是,它没有错过任何重要功能。
特征
优点
缺点
至于 React,Emacs 确实需要一些工作和插件才能真正让它高效地工作。
扩展
web-mode.el — 它是一种自治的 emacs 主要模式,用于编辑 Web 模板。它与包括JSX(React)在内的许多语言兼容。
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的最佳组合,这是将为您提供最佳服务的编辑器。Spacemacs是一个社区驱动的Emacs发行版,因此是最好的编辑器,从Emacs和Vim中获取了最好的。
特征
优点
缺点
Emacs依赖于社区编写的开源软件包,基本上每种语言的每个IDE功能。我们认为这很棒:您可以自己开发软件包。肯定有一个学习曲线,但也有一些非常好的工具可以帮助自己在emacs中定位自己。
扩展
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< —
语言: 几乎与语言无关
平台: Windows, Linux, macOSExtension
or Plugins: 没有一个目录,但有很多插件
Sublime Text是几乎每种语言的强大文本编辑器。它轻量级,功能丰富,并在流行的平台上受支持。用户只需要一个许可证即可在任何计算机上使用崇高文本。该工具速度很快,与多个工具集成,并支持React和React Native以及所有Web编程语言。崇高文本提供了强大的插件支持,以增强编辑器的功能。它目前在Windows,Mac和Linux上可用。
Sublime文本编辑器的功能可以使用插件进行扩展和调整。在实践中,许多JS插件有助于将Sublime Text变成一个优雅的Javascript IDE。
Sublime Text使用针对速度和美观性进行了优化的自定义UI工具包,并利用了每个平台上的本机功能。
特征
优点
缺点
我们并不是使用Sublime进行REACT开发的忠实粉丝,因为还有其他更好和免费的选项可用。如果你已经在组织中使用Sublime,并且想要在你的项目中包含React,这绝对是一个不错的选择,不需要挠挠头去寻找其他任何东西。
包
react-native-snippets — 它是 React-native 的 Sublime Text Snippets 的集合
babel-sublime — 带有 React JSX 扩展的 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 开发应用程序的 IDE。它既可以用作IDE,也可以用作工具包,可用于使用React,React路由器和Redux开发Web应用程序。Rekit studio在节点服务器上运行,是一个npm包,因此,它在浏览器中运行。开发人员可以利用 Rekit Studio 的许多功能,包括代码编辑、代码生成、依赖关系图、重构、生成、单元测试以及更简单的代码导航方法。我们喜欢Rekit的主要功能是每个React应用程序都有自己的Rekit工作室,因此事情仍然简单可控。但是,我们不建议将 Rekit 用于企业级 React js 开发。
特征
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开发IDE,但看起来更像是一个源代码编辑器。它是主要为Web开发人员构建的IDE之一。支架具有巨大的插件支持,并且完全免费使用。由Adobe Systems创建,这个开源软件可以帮助您使用所有Web编程语言构建代码。Brackets 适用于 Mac、Windows 和 Linux。功能查找和快速项目切换是它提供的一些显着功能。
特征
优点
缺点
在 react 方面,有一些插件可用于增强 Brackets 功能,以便使用 React 组件进行快速开发。
括号是最好的Web IDE,如果你正在寻找一个理解网页设计的编辑器。它附带了一套很好的可视化工具,例如网站表单创建者或其他预处理器支持。它是由网页设计师为网页设计师创建的。
注意:Adobe 将于 2021 年 9 月 1 日结束对 Brackets 的支持。如果您想继续使用、维护和改进 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上开发一个Web应用程序,那么没有比Atom更好的IDE了。这个开源编辑器是由GitHub开发的,因此与该平台密切相关。Atom也是一个完全正常的Javascript编辑器,借助于可以实现的Web项目。Atom拥有广泛的社区支持,可以倾听并处理反馈。它可以在Windows,Linux和macOS上使用,并具有庞大的软件包存储库,以满足开发人员的需求。
特征
优点
缺点
Atom是真正可破解的,可以使用大量基于Node.js的插件进行定制,以扩展atom功能以满足您的需求。由于来自不同社区的大力支持以及令人敬畏的UI界面和功能,它吸引了很多开发人员。
包
选择正确的 IDE 将对您作为开发人员的性能产生非常大的影响。每个 IDE 都有自己的一组功能、优缺点,这些特性和优缺点是它们之间的区别。我们还讨论了用于开发 React 应用程序的所有最佳 IDE。如果你迁移到 IDE 来帮助你进行 React 开发,我们保证你不会回到普通的编辑器。
希望您能为下一个Web开发项目找到合适的一个。毕竟,编写代码的是开发人员,而不是IDE。
ngularJS 是一个开源的前端框架,用于开发动态网页,该框架使用 JavaScript 编程语言。借助 AngularJS,可以实现跨浏览器、交互式和用户友好的 Web 应用程序。此外,与其他框架相比,该框架分析页面 DOM 并有助于减少代码长度。因此,由于这些原因,AngularJS 受到许多公司的开发人员的青睐。
但是如果没有集成开发环境,就不可能用更少的代码开发出高质量的应用程序。因此,一些 IDE 应运而生。Angular IDE 简化了开发人员所需的工作,并且可以在短时间内提供最佳结果,这里是适合开发人员的最佳 IDE。
1. WebStorm
这个功能强大的代码编辑器由 Jetbrains 开发。借助其内置的 TypeScript,您可以轻松开发 Angular 2 应用程序。您不必依赖外部插件,因为它允许使用其纯 Vanilla JavaScript 编译代码。
WebStorm 支持 HTML、JavaScript、Node.js 和 CSS。您可以确保在使用 WebStorm IDE for AngularJS 开发的应用程序中进行稳健的导航和重构。此外,它还允许通过智能编码与 Visual Studio 代码集成。
2.Sublime Text
许多开发人员使用此文本编辑器,因为它可以灵活地适应任何编程环境。此外,它轻量级且稳定,允许开发人员自由有效地编码。 Sublime 能够一次运行多个文件并且不会导致任何问题。此外,它在检查正则表达式和区分大小写的字符时执行准确。
Sublime 支持 TypeScript 代码编辑并优化应用程序或网站中的自定义功能。开发人员不必为不同的平台编写代码,因为在 Sublime 的帮助下,他们可以轻松地进行跨平台编辑。
3. Brackets
Brackets 是开发人员中著名的源代码编辑器。它支持跨平台开发,并允许 HTML、CSS 和 JavaScript 编辑功能。除了支持多种语言外,它甚至对于新手程序员来说也是一个很好的 IDE。您可以在其中使用不同的插件来支持各种语言的附加功能。
您可以通过代码的实时预览进行实时编辑。因此,凭借许多有用的功能,此 IDE 使应用程序构建过程变得简单而富有创意。这就是为什么它也被称为具有可视化工具的现代编辑器。
4. Atom
Atom 由 GitHub 发布,它在这个 IDE 中为 Angular 开发人员带来了定期更新。您可以将它用于 Android、Mac、Linux 和许多其他操作系统。凭借其灵活的编程环境,开发人员可以实现他们的工作方式并有效地满足开发要求。
自动代码提示、静态类型检查和代码自省功能使开发人员的工作变得简单,以便他们可以更准确地改进代码。您还可以进行简单而有吸引力的修改,例如背景颜色。
5. Aptana Studio
它是一个开源 IDE,适用于许多最好的前端框架。 Aptana 是 Eclipse 的定制版本,专注于 JavaScript、CSS 和 HTML。它包含几个插件,以允许在应用程序开发中进行不同的扩展。您甚至可以将它们用于不同的框架和库。
许多开发人员将它用于 AJAX 应用程序,但现在他们也更喜欢它用于其他类型的应用程序。它由一个集成调试器组成,有助于节省开发人员使用外部调试器的时间。借助 Eclipse Marketplace,您可以轻松安装 AngularJS Eclipse 并将其用于开发。
6.Visual Studio 代码
它由 Microsoft 为 Linux、Windows 和 OS X 开发。Visual Studio 具有代码重构功能,它是一个功能强大的 AngularJS IDE,可为 Web 开发提供持续的帮助。
语法高亮和代码片段使许多新手开发人员的开发变得容易。此 IDE 支持多种语言,许多大型 AngularJS 开发公司选择它以进行快速调试和轻松定制。
7.ALM IDE
您可以使用它在 TypeScript 项目中快速开发,并且在单个 NPM 命令的帮助下,您可以完成它的安装。您可以使用 ALM IDE 避免常见的 UX 错误,因为它易于使用并消除了使用 TypeScript 的所有障碍。
ALM IDE 是轻量级的,专为 TypeScript 制作,您可以通过其功能理解。它基于云并支持许多浏览器。
这些是一些可以简化 AngularJS 开发人员工作的优秀 IDE。 对于按需应用程序,这种前端框架一直是至关重要的选择,因为它的 IDE 有助于通过简单的编码开发定制产品。
了解更多
020 年的技术热潮之下,我们该如何迎刃而上,需要具备哪些技术栈?如果你是一名前端开发者,不妨通过本文了解顶级的 JavaScript 框架以及未来趋势预探,来升级自己的技能吧!
作者 | Eric Elliott
译者 | 苏本如,责编 | 屠敏
头图 | CSDN 下载自视觉中国
出品 | CSDN(ID:CSDNnews)
以下为译文:
如果你想找到一份很棒的JavaScript工作,或者赶上2020年的重要技术,以及今后十年的重要技术,那么这篇文章就是为你准备的。本文的重点不是告诉你哪些技术堆栈和框架是“最佳”,最受大家喜爱或者最受欢迎的技术,而是告诉你哪些技术堆栈和框架能够为你提供在2020年及以后获得一份出色工作的最佳机会。
我们将研究以下不同来源的数据:
谷歌搜索的趋势:https://trends.google.com/trends/
State of JS调查报告:https://2019.stateofjs.com/
Stack Overflow调查报告: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上发布的空缺职位总数:https://www.indeed.com/
这些指标都不是完美的,但就本文的目的而言,npm下载次数和Indeed.com职位发布数量应该给予最大的权重,当我们综合考虑这些指标时,它们可以清晰、一致地描绘JavaScript技术的前景和趋势。根据这些指标选择一个学习框架是一个好主意吗?那首先要取决于你的目标是什么。
因为我们有一个明确的目标:求职者学习的投资回报率。这就使得这项任务比告诉你什么对每个人都是最好的要容易得多。虽然没有一种方法是万能的,但客观地定义什么可以最大程度地实现特定的具体目标是很容易的。让我们来看看一些数据。
首先,学习JavaScript
在你过多地担心技术堆栈之前,请先学习JavaScript以及如何使用它来编写软件。如果你无法解释什么是函数组合、对象组合和模块,请从这里开始。所有的软件开发都是某种组合:我们把一个大的、复杂的问题分解成一些小的问题,然后使用软件构建块(如函数、对象、模块等等)来解决它们。我们将这些解决方案组合起来形成我们的应用程序。从2020年开始,请充分理解JavaScript和软件组合。
React在2019年占据主导地位,2020年可能继续
我喜欢npm下载量这个指标,因为它很好地表明了框架的活跃使用情况(*)。行业常用框架统计给于npm下载量的权重非常之高,原因是因为用户需要在其本地机器上运行npm install。
此处jQuery被排除在外,原因是许多jQuery项目都是不使用npm的旧项目,因此无论如何它都会被严重低估。Svelte被包括进来,是为了提供一些有关其在市场上的相对地位的见解,并解释其在其他图表中的缺失。目前还没有足够的数据让Svelte在图表中显示有意义的内容。例如,在Google搜索趋势中,它还不是一个可用的主题。
空缺职位总数
下面这张图表显示了各特定框架的当前空缺职位总数统计(*):
2019年12月各UI框架空缺职位统计(数据来源:indeed.com)
与去年相比,React扩大了领先优势,而Angular和jQuery都输给了Vue。下面是一个饼图,显示了每个框架的相对就业市场份额:
顶级框架的就业市场份额
JavaScript开发人员的平均工资在2019年再次增长,从每年的11.1万美元增加到每年的11.4万美元(这里是数据来源)。
(*)统计方法:职位搜索是在indeed.com网站进行的。为了排除误报,我将搜索与关键字“software”配对,以增强其相关性,然后乘以~1.5(大致相当于使用“software”和不使用“software”的编程职位列表之间的差异)。所有搜索结果页(SERPs)都按日期排序并抽查其相关性。得到的数字并非100%准确,但对于本文中使用的相对近似值来说,它们已经足够好了。
谷歌搜索趋势
数据来源:https://trends.google.com/trends/explore?date=2017-01-01%202019-12-01&q=%2Fm%2F012l1vxv,%2Fg%2F11c6w0ddw9,%2Fg%2F11c0vmgx5d,%2Fm%2F0268gyp
正如你所料,搜索兴趣(*)反映了就业市场份额,但存在一些有趣的差异。我们可以清楚地看到,从2017年到现在,人们对jQuery的兴趣在减弱,并且Vue.js搜索兴趣正在强劲增长。以下是各框架在谷歌搜索统计中所占的份额:
上图与职位空缺的统计结果一致:React拥有强大的领先优势,吸引了36%的前端框架搜索量,其次是Angular(约占27%)和jQuery(约占25%)。对Vue.js的搜索兴趣远远大于它在就业市场的份额,但该数据与排名中的就业市场数据基本一致。看来我们已经成功地证实了这一点。
(*)统计方法:对于所有搜索,数据都是按主题收集的,而不是按搜索词收集,以便从无关的关键字匹配中剔除误报。
未来值得关注的框架
现在更多的职位需要具有React框架技能,而不是其他受欢迎但使用不那么广泛的框架,如Svelte或Vue,这两个框架都有很高的满意度,但行业采用率相对要小得多。
学习Svelte或Vue框架可能会很酷。但是如果你的目标是找到一份工作,那么如果先学习React,你会有更好的机会。
话虽如此,在《2019年JavaScript状态调查报告》中,Svelte和Vue的用户满意度得分都非常高。在过去,React框架的高用户满意度得分预示了它相对于Angular框架的快速增长。Angular框架在当时也占据了主导地位,但其用户满意度得分却相对较低。
在2019年,React框架的用户满意度排名最高,达到89%。紧跟其后的包括Svelte(88%)和Vue.js(87%,低于上一年的91%)。Svelte或Vue不太可能会抢走足够的React用户,但是许多仍在使用Angular和jQuery的用户,他们可能会转而使用Svelte或Vue,从而在2020年推动这两个框架的进一步强劲增长。
可以肯定的是,掌握React框架将会增加你的机会,帮助你在2020年找到并守住一份很棒的工作。
TypeScript vs JavaScript
毫无疑问,在过去几年中,TypeScript的发展非常迅速,根据JavaScript现状调查报告(State of JS Survey),89%的TypeScript用户会再次使用它,66%的调查对象要么使用TypeScript,要么对使用TypeScript感兴趣(比最低年份的71%略有下降)。
但是,尽管人们的兴趣确实很强,并且使用率似乎正在迅速增长,但在就业市场上,拥有TypeScript方面的经验还不是很抢手。只有大约7%的JavaScript空缺职位的职位描述中提到TypeScript(数据来源)。这个数字对TypeScript的职位需求可能有些低估,因为招聘经理们希望JavaScript开发人员能够轻松地使用TypeScript,因此他们有可能不会在工作岗位描述中提及TypeScript。
我坚持认为TypeScript语言的投资回报率可能较低甚至为负。它可能会损害而不是提高你的生产率,并且,如果你已经在使用诸如TDD,代码审查和设计审查等优秀的缺陷预防工具,那么使用TypeScript编写代码不太可能带来明显的降低缺陷的好处。
话虽如此,TypeScript有很多值得热爱的地方,你当然不应该害怕它,或者拒绝一份工作,仅仅因为它们使用的是TypeScript而不是JavaScript。另外TypeScript是JavaScript的超集,因此从JavaScript转到TypeScript并不像学习完全不同的语言那样具有挑战性。
你可能不需要学习TypeScript语言就可以在2020年的就业市场竞争中脱颖而出,但是TypeScript引擎非常有用,即使对于标准JavaScript也是如此。
我每天都使用TypeScript引擎为使用VS Code编写的标准JavaScript提供智能感知(Intellisense)。甚至可以使用JSDoc(TypeScript引擎能够理解和解释JSDoc,就像解释类型注释一样)或外部d.ts文件来增强这种智能感知,并且VS Code将自动获取你使用的模块的TypeScript定义。
多年来我一直使用并享受TernJS和Atom的组合带来的类似的好处,但是这种组合缺少TypeScript引擎 + VS Code的维护和社区支持。
如果您尚未尝试使用Visual Studio(VS) Code,你可能要从那里开始。顺便说一句,根据JS现状调查的受访者的反馈,VS Code占据了JavaScript IDE市场的主导地位,市场份额为57%,其次是WebStorm,市场份额为14%。
数据管理
Redux在状态管理器的竞赛中仍然处于领先地位,但是GraphQL和Apollo在满意度和兴趣上都有所提高。预计GraphQL在2020年将持续增长。
也就是说,即使你在使用GraphQL,我仍然认为有充分的理由来学习Redux状态管理,而且我认为每个人都会从学习Redux中受益,即使他们不使用这个框架。
GraphQL是近年来流行的一种查询语言。它具有简单的语法,但是因为它是跨整个堆栈使用的,并且学习它需要学习如何将它连接到数据存储层,因此集成起来可能令人生畏,但值得付出努力。
GraphQL不会在短期内完全取代JSON REST API,但是它在2019年的增长很快,我预计其强劲增长将持续到2020年。
后台框架
Express是占主导地位的Node框架,它的满意度非常高,到2020年也不会有强劲的挑战者,但是随着无服务器(serverless)的兴起,我希望随着新的十年的到来,Express的统治地位将逐渐下降。
Next.js是一个全栈React框架,最初是在Express之上构建的,但此后从Express切换到无服务器和静态优化,它像发疯似地快速增长起来。
当我们将EricElliottJS.com从Express切换到无服务器的Next.js时,我们的主机托管费用减少了90%,并且页面加载速度变得更快。所以我无论多么强烈推荐它都不过分。现在,对于所有的应用程序,我们都使用了Next.js和Zeit托管。
测试
Jest和Cypress分别在单元测试和功能测试中最受欢迎,但是我非常喜欢RITEWay和TestCafe。RITEWay是一个测试框架,它始终回答每个单元测试必须回答的5个问题。
TestCafe和Cypress一样,是一个功能测试工具。有了它,你就不再需要和Selenium抗争,它具有更好的跨浏览器支持和出色的测试记录器/集成开发环境(IDE)。我强烈建议QA团队尝试TestCafe。
功能性工具
Lodash,Ramda,Immer,Redux和RxJS是我经常使用的功能性工具。
Ramda在2019年取得了长足发展,并提供了Lodash所不具备的一些特性,包括lense和transducer。RxJS通过其管道化运算符提供了transducer样式功能。
Immer使得在JavaScript对象上操作因无需对其进行转换而变得更加容易。Redux是一个状态管理工具。
2020年的科技预览
在未来十年,有几项新兴技术将对人类生活产生巨大影响。以下是这些技术的最新概况:
人工智能
人工智能可能是有史以来最具变革性的技术。许多学者和自以为是的亿万富翁们都将人工智能描述成一个神奇的乌托邦,或者说是人类的末日。
正如我们所知,它当然可能是人类的终结,但也可能是人类和机器之间完美合作的开始。我们才刚刚开始对人工智能可能会变成什么样有了粗浅的一瞥。其中有些很吓人(比如deep fakes换脸术),有些则非常有用(比如Adobe Premiere为视频编辑新推出的自动重构(auto-reframe)功能)。到目前为止,事实是人工智能既令人难以置信的可怕,又非常有用。人工智能将继续产生一些令人恐惧的东西,但是通过人工智能改善人类生活的潜力也是巨大的。潘多拉的盒子已经打开,再也无法关闭了,所以我希望你能好好利用它来解决重要问题,改善我们的生活。
2019年人工智能领域有许多重要突破。近年来,研究团队一直在各种视频游戏中争夺超人的表现,但某些类别的游戏仍然对人工智能构成挑战,包括《星际争霸II》之类的长期战略游戏。DeepMind的AlphaStar程序(一种人工智能)已经在官方的Battle.net服务器上使用与人类玩家相同的资源,达到了顶级玩家的水平。《星际争霸》是一款复杂的游戏,涉及长期的战略思维,一度被认为超出了人工智能的能力。战略思维是走向通用人工智能的重要里程碑。
如果这些游戏看起来像是愚蠢地使用了资源,那么不妨考虑一下,像DeepMind这样的项目在文本到语音方面也取得了令人难以置信的进步,这可以让人工智能代理和私人助理发出更自然的声音,而且更重要的是,可以把声音还给失去它们的人类。
人工智能还被用于诊断癌症、预测蛋白质折叠(可用于了解疾病和发现新药)、恢复残疾人的肢体控制、生成逼真的照片等(资料来源:https://www.stateof.ai/)。
无人驾驶汽车在变革性的人工智能技术中应该有自己的一席之地。这个生态系统中的主要参与者包括Cruise、优步、Waymo、Nuro、Aurora、福特等。现在它还处于初期,过分乐观已经给这个行业带来了真正的问题,但毫无疑问,我们将在21世纪20年代看到超越人类的自动驾驶能力。在2015年的时候,我对无人驾驶做出了如下预测:
“到2045年,一个人驾驶的小车看起来就像一匹马拉着的轻便马车。”
5年后,我想我可能低估了无人驾驶汽车的上市速度。2018年,Waymo汽车的行驶里程超过100万英里,美国24个城市的公共道路上都有无人驾驶汽车在行驶。今天,我预计到2025年,来自多家制造商的多种车型将实现5级完全自动驾驶。请关注特斯拉、通用、福特和宝马。
在过去的十年中,人工智能研究论文的发表量增长了10倍,现在人工智能正把实用、有帮助的工具交到主流用户手中,预计这一趋势将持续到新的十年。
我们已经开始看到人工智能做了很多几年前大多数人都不敢相信的事情。期待人工智能在下一个十年创造出更加惊人的奇迹。
区块链和加密货币
2019年是区块链和加密货币领域具有里程碑意义的一年。区块链技术开始进入主流。我预计2020年会有更多的增长和主流采用。
DeFi(去中心化金融)爆炸式增长,实现了用户友好,无许可,无银行借贷。目前DeFi合同的总金额已经有6.5亿美元(包括4.5亿美元的无银行贷款),而2019年只是这项技术可用的第一年。随着越来越多的人投资于加密货币,我预测未来会有更多的加密货币支持的DeFi贷款。
人们可以在不牺牲其加密投资机会成本的情况下获得流动性,或使用DeFi贷款以杠杆效应投资加密货币(增加其投资的风险/回报)。
加密货币和区块链技术正在突破主流。比特币和以太坊的每日活跃地址在2018年1月达到峰值,随后一年由于市场低迷而兴趣减弱(每上涨10倍,加密货币的价格就会大幅回落,然后在下一个周期比之前的峰值再高出10倍)。
比特币和以太坊区块链上的每日活动地址统计(数据来源:https://coinmetrics.io/charts/#assets=btc,eth_log=false_roll=90_left=AdrActCnt_zoom=1279411200000,1577836800000)
Square的Cash App拥有超过1000万次的安卓版下载量。用户可以在一个拥有出色用户体验的简单应用程序中购买、出售、发送和接收比特币。
Coinbase的安卓版下载量超过1000万次。
Brave推出了内置以太坊钱包,每月活跃用户(MAU)的数量从10月的870万增加到11月底的1040万。
借助Sliver.tv和DLive,2000万视频游戏迷正在使用Theta网络进行分散流媒体播放。
2019年我最喜欢的变化是Fortmatic的引入。无论你是否正在构建加密应用程序,你都可以使用Fortmatic来替代你的用户身份验证并提高安全性、你还可以摆脱供应商锁定,并添加诸如端到端加密、签名事务等功能。
如果你打算在2020年构建一个新的应用程序,考虑使用Fortmatic,而不是重复使用你自己的用户名/密码认证(2020年应该没有人再这么做),或者将身份认证授权给谷歌、Facebook等。
我写过一篇文章,讨论如何利用加密技术来改善应用程序的身份验证和安全性。我很期待看到主流应用在2020年采用像Fortmatic这样的技术。
以太坊在2019年轻松赢得了智能合约平台竞赛。我预计它将在2020年继续占据主导地位。
扩展现实(XR)
从2015年开始,我每年都会写一篇关于对AR(增强现实)的期许的文章,从小我就一直梦想着它的实现。未来,扩展现实(XR)将取代手机。这只是时间问题。但是还需要多久是个悬而未决的问题。但现在看来这种转变可能在未来十年内出现。甚至可能在未来5年内开始。
由于虚拟现实(VR)和增强现实(AR)之间的界限已经模糊,因此业界现在将整个领域称为扩展现实(XR)。自推出以来,ARKit和ARCore(苹果和谷歌的增强现实SDK)增长量惊人。从2017年到2019年5月,每月活跃用户从4,700万增长到了1.5亿。
WebAR在2019年站稳了脚跟,并且有可能在2020年继续增长。如果你好奇的话,可以查看AR.js、React 360或Viro React。
硬件方面也有了长足进步。HoloLens 1在2016年首次发布开发者版本时,售价约为5,000美元。在那以后发生了什么?
HoloLens 2仍然只售3,500美元,而且还没有为消费者做好准备。剪辑、防抖动和漂移、视场等方面仍然存在问题,你不会想整天穿着这些东西。不过,由于99美元/月的定价,获得一个开发者版本变成了一个可能性,即使你不得不在等待名单等上一段时间。
无人机
大约200万架无人机已经在美国售出,它们已经改变了建筑、地理调查、测绘、电影、航空摄影、农业、环境科学和娱乐业。很有可能,商用无人机的交付最终将于2020年在美国实现。。
FPV无人机比赛是我最喜欢的观赏性体育运动,无人机比赛联盟的直播流比赛也是。如果你想了解它是什么样的,他们也有一个精心设计的模拟器。
所有这些新的无人机活动都需要很多软件,包括图像处理、无人机地图软件、交付飞行计划、遥测记录和处理、分析、工业应用集成等。
无人机和人工智能也有很多重叠之处。自动飞行的无人机需要图像处理、避免碰撞等。
结论
21世纪10年代给我们带来了许多变革性的技术,它们当中的许多我们已经视为理所当然,但是产生了巨大影响:
Spotify
优步
虚拟助理
无线耳塞
主流虚拟现实
增强现实(如在突破命中游戏“神奇宝贝”中所用)
价格合理的特斯拉
共享经济(汽车、踏板车、自行车)
主流平板电脑
主流生物识别技术(触摸识别、面部识别)
众筹
我迫不及待想看到你在新的十年里的发展。
让我们变魔术吧!
原文:https://medium.com/javascript-scene/top-javascript-frameworks-and-topics-to-learn-in-2020-and-the-new-decade-ced6e9d812f9
本文为 CSDN 翻译,转载请注明来源出处。
*请认真填写需求信息,我们会在24小时内与您取得联系。