NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

框架的游戏:2019 年 JavaScript 流行趋势

  • 2019-05-17
  • 本文字数:3455 字

    阅读完需:约 11 分钟

框架的游戏:2019年JavaScript流行趋势

JavaScript 生态系统复杂多变,各种框架让人眼花缭乱。究竟孰优孰劣,如今的发展趋势是怎样的,用人单位又需要怎样的人才?本文站在一个中立者的角度,客观分析了当前这场“框架的游戏”中,JavaScript 的流行趋势。


Javascript 的生态环境让我想到了战场。TypeScript 对战 ES6,React 对战 Angular,Jest 对战 Mocha……就像在看热播的电视剧一样,这些激烈的冲突让 JS 的粉丝们焦急地等待着更新,并不禁扪心自问:我下一步究竟该学什么?与此同时,每种技术的粉丝军团仅仅是在火上浇油而已。


我们在 CV Compiler 平台每周帮助几十个 JS 开发者完善他们的简历,所以我们也在持续跟进着“框架的游戏”,定期分析着用人单位的需求。但在这篇文章中,我不会去支持或反对任何一种技术——只会站在一个中立的角度,来分析一下当前 JavaScript 的流行趋势。

当今 JS 开发者需要具备的能力:我们基于数据的研究

我们从 AngleList、StackOverflow、LinkedIn 和一些全世界范围内发展很快的科技公司的招聘页面等多个平台上选取了 300 个 JavaScript 开发岗的招聘要求。我们利用自己的文本分析工具,计算出了这些要求中最常提到的一些术语,如下图所示(图中数字表示各术语被提及的频率)。



注意:上图可以代表以 JavaScript 为主要语言的职位的一般技能等级。当然,我并没有说后端开发人员应该完全了解 React 之类的,因为该图表仅反映了当前的市场需求,这可能与 JS 开发者自身的偏好不同(关于这点我们将在下一节详细讨论)。

主要收获

在我们的评级中没有被展示出的非 JS 语言中,提及频率最高的是 C#和 PHP。至于数据库管理系统,MySQL 和 MongoDB 也马上要冲进评级榜单了。令人惊讶的是,常见的 Express.js 被提及的频率较低,Flow 也是如此。


虽然图表中没有提到 Agile(敏捷)这个术语,但它比 Git 或 Redux 被提及的频率更高,这说明 JS 开发者们除了要获得开发岗位必须的硬技能,软技能同样不可忽视。UX 也是如此。当然,你没有必要为此专门参加一个高级的 UX(User experience)课程(如果可以参加的话自然就更好了),但作为一个前端开发者,你需要知道如何在技术层面为用户提供更流畅的体验,而不是在设计层面。


我们还遇到了可扩展性(Scalability)、云计算(Cloud Computing)和安全性(Security)这样的术语。这一事实表明,JS 继承了开发人员行业的趋势。


你可能已经注意到,在我们的技能评级中,Vue.js 的排名并不高。我估计这有几点原因。首先,很多公司还没有准备好将产品迁移到 Vue.js 而放弃他们目前很稳定、常规的前端解决方案。其次,可能有些用人单位想要让员工在工作过程中学习 Vue.js,所以他们在招聘要求里并没有提到这个词。


无论如何,基于全球范围内的调研,Vue.js 是十分流行的——28.8%的受试者在 JavaScript 2018 问卷调查中使用 Vue.js,并表示愿意再次使用它。另外一个有趣的结论是:34%的受试者在同一份问卷中表示使用过 Angular,但不愿意再次使用。然而,这并不表示这三种技术(React,Angular 或 Vue.js)中的任意一个会举手投降。选择哪种前端框架取决于很多因素,如项目的规模、架构以及企业特征。


对于 GraphQL 来说同样如此。虽然它在表中排名并不靠前,但确实增长飞快。在 2018 年 Node.js 用户调查问卷中,21%的受试者已经在工作中使用它了。2018 年 4 月 30 日,52 个用户下载了 Apollo(GraphQL 的客户端)。而在此后正好一年的时间里,有 10794 个用户下载了它。


在编译工具方面,也有一个很有趣的竞争关系:Parcel 和 Webpack。2018 年 JavaScript 新星调查中显示,Parcel 越来越流行,其热度已经逐渐超过了 Webpack。然而,虽然 Parcel 具有几个很有吸引力的内置功能,如开箱即用的配置、开发服务器和热模块替换,它仍然没有取代优秀的 Webpack。在 JS 2018 问卷调查中,超过 16000 名受试者使用 Webpack 来编译他们的项目。而在我们的调查中,300 份招聘说明中没有见到 Parcel 的影子。


调查链接:


专家对 JS 开发未来趋势的看法

对我来说,React 将在未来几年保持强势地位。 GraphQL 也是如此,而 REST API 将会下降。另外,TypeScript 可能超过 ECMAScript。至于新术语,我认为最终能够看到 ReasonML、Parcel 和 Design Systems 的技能等级。 (但也许不到 2020 年就能看到)。


还有一个观察 - 我认为 Redux 将在未来五年内下降,因为开发人员正在积极研究前端的替代方法。


——JuhoVepsäläinen,SurviveJS、React Finland 创始人,蓝箭奖得主。


Twitter:https://twitter.com/bebraw


个人网站:https://survivejs.com/


此列表显示了 JavaScript 生态系统中 React、Angular 和 Node.js 等前端框架的持续优势。优势很可能会持续下去,并且我建议开发人员深入学习这些框架中的至少一个。TypeScript 和 GraphQL 也在不断增长,并且可能会继续增长。


对于后端工程师,Node.js 的普及率持续上升。但是,许多公司仍然希望 JavaScript 开发人员能够使用 Java 和 Python 等语言来处理多语言环境。列表的其余部分证明将 JavaScript 作为一种语言是不够的。另外,使用 Git、CI 和 TDD 等常见的行业惯例是必须的。


——Kevin Ball,Web 前端顾问、培训师,ZenDev 创始人。


Twitter:https://twitter.com/kbal11


博客:https://zendev.com/blog.html


Express.js 居然没有在这个图表中排名靠前,我很惊讶,怎么说它也是编写 Node.js 后端应用程序的主要框架。也许这是因为大多数 JavaScript 的职位都是针对前端开发人员的,但技术本身绝对不是不受欢迎的。


至于前端领域,我认为 React 将长期保持其主导地位。该框架可以快速响应用户的需求,定期将新想法推向市场,并得到了 Facebook 的大力支持。 TypeScript 是另一个大趋势——我想在 3 年内,如果不使用 TS,我们将看不到任何大项目。由于它与 React 密切相关,因此这两种技术将继续繁荣发展。


现在亟待改变的是项目建设过程的复杂性。更有可能的是,我们很快就会看到这个问题的有效解决方案,例如 codesandbox 或 Parcel。


总的来说,JavaScript 已经成为一种“成熟”且稳定的语言,所以我认为我们不会在很近的将来观察到激烈的“技术战”。


——Denis Radin,FocusReactive 技术主管。


Twitter:http://twitter.com/pixelscommander


GitHub:http://github.com/pixelscommander


JavaScript 号称“快速移动的语言”,拥有极高声誉,每周都会有一个新的框架出现。虽然这曾经是真实的,但它肯定会放慢速度,尽管最近我们已经看到了更多像 Gatsby 这样的“框架的框架”。


深入理解 ES6 中的基础语法非常重要。了解 JavaScript 的解释方式以及各种浏览器的局限性也很重要。最后,PWA 和服务工作者的崛起也值得关注。 JavaScript 应用程序的潜在市场遍布全球,了解如何为这些客户构建是至关重要的。


——Laurie Barth,演讲家、博主、教师,Ten Mile Square Technologies 顾问。


Twitter:https://twitter.com/laurieontech


博客:https://dev.to/laurieontech


个人网站:https://laurieontech.com/


从我们在 Cypress.io 的需求来看,GraphQL + TypeScript 占据了 2020 年所需技能的列表。另外,我预测像 Next.js、Nuxt.js 和 Gatsby.js 这样的混合框架将占据很大一部分项目,因此 JavaScript 开发人员必须了解这些工具。


——Gleb Bahmutov,Cypress.io 工程副总裁。


Twitter:https://twitter.com/bahmutov


个人网站:https://gleb.dev/


JavaScript 生态系统不断增长,而且可能会让人不堪重负。但是,我认为这是学习和扩展自己知识的好机会。同时,它是语言演变的一个重要标志。拥有 React.js 和 Node.js 对你的简历来说是一个巨大的优势,也是获得体面工作的关键点之一。


——Tanya Butenko,Hireup(澳大利亚)软件工程师,Muses Code JS Inc.创始人兼首席执行官。


Twitter:https://twitter.com/ButenkoMe


个人网站:https://musescodejs.org/


总的来说,现在是成为 JavaScript 开发者的最佳时机。 JS 及其框架位于全球最受欢迎、使用最广泛的技术榜榜首。虽然框架之间的战斗异常激烈,JS 的常用工具集却非常稳定,因此你可以专注于利用喜欢的技术,而不用非要选择类似框架。


英文原文:


https://hackernoon.com/game-of-frameworks-javascript-trends-of-2019-1a303fa3aaa7



公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2019-05-17 18:008216

评论

发布
暂无评论
发现更多内容

Git分支教程:详解分支创建、合并、删除等操作

小万哥

git Linux 程序员 C/C++ 后端开发

龙蜥白皮书精选:开源 RISC-V 技术支持软硬件全栈平台

OpenAnolis小助手

开源 操作系统 risc-v 龙蜥社区 龙蜥sig

软件测试/测试开发丨学习笔记之Allure2测试报告

测试人

程序员 软件测试 自动化测试 测试开发 Allure

2天时间3个面试,百度进了3面!

王中阳Go

golang 职场 面经 求职面试 提高效率

开源赋能 普惠未来|ZTDBP诚邀您参与2023开放原子全球开源峰会

开放原子开源基金会

开源 开放原子全球开源峰会 开放原子

开源赋能 普惠未来|中软国际寄语2023开放原子全球开源峰会

开放原子开源基金会

开源 开放原子开源基金会 开放原子全球开源峰会 开放原子

如何基于G6进行双树流转绘制? | 京东云技术团队

京东科技开发者

双数组trie树 CRM系统 企业号 6 月 PK 榜 复杂树

玩转服务器之数据传输篇:如何快速搭建FTP文件共享服务器

京东科技开发者

数据传输 云服务器 ftp服务 企业号 6 月 PK 榜

从0到1搭建自己的脚手架(java后端) | 京东云技术团队

京东科技开发者

Java 后端 脚手架 Java脚手架 企业号 6 月 PK 榜

开源赋能 普惠未来|TKEStack诚邀您参与2023开放原子全球开源峰会

开放原子开源基金会

开源 开放原子开源基金会 开放原子全球开源峰会

标签系列:标签的两大行业应用实践

Taylor

CDP 精细化运营 标签体系 DMP 精准营销

六一新玩法!AI涂鸦秒变精美艺术画

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 6 月 PK 榜

M2M场景之客户端凭证模式|OIDC & OAuth2.0 认证协议最佳实践系列 【4】

Authing

OAuth 2.0 Oauth OIDC

GPT现状终于有人讲清楚了!OpenAI大牛最新演讲爆火,还得是马斯克钦点的天才

Openlab_cosmoplat

开源 AI ChatGPT

设计模式详解之策略模式

阿里技术

设计模式 策略模式

RustChinaConf 2023官网上线,精彩议题早知道

Mike Tang

XMind2023思维导图软件 完美永久激活版 支持M1/M2

魔仙苹果mac堡

XMind下载 XMind思维导图 XMind2023新功能 XMind永久激活版

玖章算术NineData荣获信通院“生成式人工智能技术和应用优秀案例”奖

NineData

人工智能 信通院 SQL开发 NineData 生成式AI

PS图像无损放大插件 Blow Up 3最新激活版

真大的脸盆

Mac Mac 软件 图片无损放大 无损放大插件

分而治之--浅谈分库分表及实践之路 | 京东云技术团队

京东科技开发者

数据库 后端 分库分表 SaaS 平台 企业号 6 月 PK 榜

编写Java代码时应该避免的6个坑

越长大越悲伤

Java

ShareSDK iOS端合规指南

MobTech袤博科技

UniFi USW-Flex 室内-室外 POE 交换机

HoneyMoose

PWA结合小程序:为用户带来原生应用体验

Onegun

小程序 PWA

Tomcat 安装与启动

Andy

华秋硬创 | 全国科技工作者日,致敬每一位科技创新者!

华秋电子

深度学习进阶篇[8]:对抗神经网络GAN基本概念简介、纳什均衡、生成器判别器、解码编码器详解以及GAN应用场景

汀丶人工智能

人工智能 深度学习 GAN 博弈论 生成对抗网络

深度学习进阶篇[9]:对抗生成网络GANs综述、代表变体模型、训练策略、GAN在计算机视觉应用和常见数据集介绍,以及前沿问题解决

汀丶人工智能

人工智能 深度学习 计算机视觉 GAN 生成对抗网络

开源赋能 普惠未来|UBSICE诚邀您参与2023开放原子全球开源峰会

开放原子开源基金会

大数据 开源 开放原子

ChunJun FTP Connector 功能扩展解读

袋鼠云数栈

开源 企业号 6 月 PK 榜

OpenMLDB v0.8 新功能:离线引擎数据源支持 Amazon S3

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

框架的游戏:2019年JavaScript流行趋势_语言 & 开发_Andrew Stetsenko_InfoQ精选文章