作者 | Yanique Andre
译者 | Arvin,责编 | 屠敏
头图 | CSDN 下载自东方 IC
出品 | CSDN(ID:CSDNnews)
以下为译文:
JavaScript被淘汰了吗?
我在许多不同的网站(最近是在Quora)上多次阅读到这个问题,我一直在想这是不是真的。我在2018年才开始web开发,所以我不了解JavaScript的历史,也不了解它在开发领域的现状。
因此,我进行了一些研究去了解JavaScript的过去和现在,我发现的结果相当令人震惊。
我们曾经认识的JavaScript确实已经死了。
自1995年首次建立JavaScript以来,JavaScript一直存在很多问题。尽管进行了一些更新,但许多主要问题仍然没有得到解决。
JavaScript的一些问题包括:
缺少模块系统
弱类型
高度依赖全局变量
由于语法的原因很难找到错误
在过去的十年中,用该语言很难创建框架。AngularJS最初是基于JavaScript的框架,直到遇到扩展框架的问题,所以他们决定使用TypeScript(JavaScript的一种变体)重新编码整个框架,并将其重命名为Angular。
人们对JavaScript的兴趣似乎也在下降。通过查看过去5年“JavaScript”一词在google上的搜索频度,似乎也能看到这门语言正在慢慢走向衰落。
这意味着什么呢?JavaScript真的要死了吗?
我当时也这么想。当我在2018年第一次学习JavaScript时,JavaScript已扩展为不仅仅面向客户端应用程序,已经扩展出许多涉及应用程序不同周期的框架。
基于js的框架包括下面这些:
前端应用程序(Angular,React,Vue.js)
后端应用程序(Node.js,Express.js,Meteor.js)
Android / iOS(React Native,NativeScript,Ionic)
机器学习(TensorFlow)
您可以在这里找到JavaScript库的完整列表:
https://en.wikipedia.org/wiki/List_of_JavaScript_libraries
上面列表中的大部分JavaScript库是在过去10年中创建的。这些库有很多社区支持,并保持步调一致的更新(Angular平均每6个月更新一次)。开发人员对这些库进行了大量修改(尤其是前端框架),并在保持JavaScript的相关性方面发挥了巨大作用。
这也可以解释为什么上面显示的谷歌趋势图是向下的。对术语“JavaScript”的实际搜索呈下降趋势,但对JavaScript库的搜索呈上升趋势。
随着JavaScript库的兴起,也有越来越多的用户提出与这些库有关的问题。StackOverflow趋势记录了他们的问题与某个标签相关的百分比。看看在过去的十年中有多少关于JavaScript的问题:
这解决了涉及JavaScript的问题,
但是否解决了这门语言本身的问题呢?
多年来,人们对JavaScript的抱怨主要集中在其糟糕的语言特性上。值得庆幸的是,我们正在看到一个旧标准的复苏,这有助于使语言更加具体和有效。
ECMAScript是一种编程语言,根据Ecma International创建的ECMA-262文档进行标准化。该文档包含JavaScript作为编程语言必须遵循的标准列表。
ECMAScript创建于1997年,从1997年到2011年仅进行了5次更新。这使JavaScript在21世纪的前十年一直保持着陈旧和过时的标准。直到2015年ECMAScript 6发行,这是对JavaScript的重大更改,允许许多类似的库对其进行修改。
自此ECMAScript已发布了5个版本,从2015年到2020年每年发布1个版本,并且现在还没有停止。随着发布版本步调的一致性,JavaScript开始不断接收更新,变得更加健壮、高效,并且适应性更强。
说了这么多,JavaScript真的死了吗?
有些人会怀疑现在开始学习是否为时已晚。正确的答案是JavaScript从未像现在这样活跃。
随着对该语言的贡献和支持达到前所未有的高度,学习该语言对开发者来说将是一笔巨大的财富。因为有如此多的库可以选择,你可以只使用JavaScript框架组成整个堆栈。
要求开发人员具有React和Angular经验的公司数量正在大幅增加,并且没有放缓的趋势。
我建议你花些时间学习JavaScript。无论你打算从事该行业还是只是想学习它,我认为将来需要在应用程序中使用JavaScript的地方有很多。该语言将被用在越来越多的框架中。它是未来的趋势,而且发展得很快。
原文:
https://medium.com/dev-genius/is-javascript-development-dying-1dbce0094fc0
本文为 CSDN 翻译,转载请注明来源出处。