来自:众成翻译,译者:摩诘
链接:http://zcfy.cc/article/3545.html(点击尾部阅读原文前往)
原文:https://medium.com/@D4Software/javascripts-evolution-to-a-first-class-language-fd771f6eb3eb
JavaScript (JS)和HTML、CSS一样都是万维网(WWW)核心技术之一,每个浏览器都会默认支持这三者。 对于很多技术人员或者非技术人员来说,JS长久以来被视为前端开发相关的技术,一种在网页中额外添加的“小东西”。但在过去十年中,JS 已经逐渐成长为一种全能型的语言。
▲ ▲ ▲ 随时间变化开发语言流行度增减趋势图(2017,Stack Overflow调查报告)
现在,JS可以用于前端和后端软件开发的任何地方,它能在服务端和客户端共享代码,并且有非常好的性能和稳定性,这真的很棒!前后端的开发者们合作更加简单,减少了bug和沟通误解。毫无疑问,在Google 和 Facebook 等大公司对 JS 大力支持下,JS 社区每天都在不断成长。
▲ ▲ ▲ 开发者在使用哪种语言? (2017,Stack Overflow调查报告)
JS 的全面性是其近年来受到欢迎的主要原因。StackOverflow 的 2017 年开发者调查展现出目前使用 JS的开发者数量。无论是 Web,桌面端,开发运营,甚至数据科学领域,JS 都排在最流行语言的前两位。JavaScript正逐渐成为一级编程语言。
▲ ▲ ▲ 2017,Stack Overflow调查报告
一级编程语言?
不要把一级编程语言和“一级函数” 或 “一级公民”等概念混淆。
当我们说起“一级编程语言”,我们指的是那些可以用于各式各样的、不同目标、规模及行业的核心技术语言。换句话说,就是定位于各种软件相关任务的通用语言。
为什么会有这样的转变?
JS 最早是通过单页应用程序(SPA)开始发展壮大的。这在当时还是个新奇玩意儿 - 不需要刷新整个页面就能更新数据,这让很多人看到了JS在前端领域的能力。
之后,Google 和 Facebook 等公司开始越来越重视JS语言,也花费了大量的时间来帮助改进相关的内部工具。随着更好的运行环境(runtimes)被研发出来,比如 V8就促成了Node.js的产生,使得JS从单纯地只能在浏览器运行转变为也能在硬件上运行的语言。如 Angular 和 React 之类的框架和库的出现,让你仅仅通过JS就能开发具有路由功能、与web服务器可交互的、功能完整的应用程序。
现如今,JS已经被用于如下领域:
有统计显示:相对于Python或Java,有更多的公司选择使用JS作为后端语言。JS也是在GitHub上拥有最多开源项目的语言。而且,随着JS的广泛使用,JS也被用于越来越复杂的场景。比如 NASA 甚至开始用JS来管理宇航服相关的重要数据。对于NASA来说,花很少的成本就能构建出一个简单的、端到端的应用,是他们选用JS的缘由。如果这还不算是最好的使用选择,那什么才是呢?
大放异彩
JS的灵活性和实用性,使得它在多方位表现优异。这可以从片刻之间就有数百个新增JS的框架数量上显而易见。就在不久之前,Google 还推出了一个新的移动 UI 框架Flutter。 (以作者写这篇文章的时间为准)
▲ ▲ ▲ 开发者使用哪种框架?(2017.Stack Overflow调查报告)
凭借V8引擎,Node.js快速成为了目前最流行的框架之一。当它进入前端领域,我们为有如此高质量的选择惊叹。看看Facebook在JS中的成就吧,他们创造了React、管道模型、Electron等多种框架库。
但这并不意味着你被这一小部分的框架和类库所限制。库本身是多样化的,它们为构建软件项目提供灵活性和能力。
随着语言的不断改进,无论是全段还是后端,围绕着JS开发的框架和技术更加巩固了JS的优势地位。JS的广泛适用性再也不是我们可以忽略的了。
Windows,这个原生Windows应用程序的王者,甚至用JS创建了一个完整的编辑器,并发布了React套件,让开发者更容易的使用JS开发windows应用。Google的无需服务器的函数功能也全部使用node.js来运行。JS甚至成为解决 IoT物联网互操作性的巨大障碍的有效选择之一。
从网络到桌面到移动端到物联网以及后端服务, JS可以用于一切。
JavaScript的未来
技术、语言和框架都瞬息万变,但是似乎JavaScript会存在很长时间。用单一语言所能达到的巨大的多样性将很快被忽视,但它本身却是在不断成长发展的。
JS比较先进的用例非常多(比如NASA),随着生态系统继续增长和硬件发展,计算机的速度越来越快,JavaScript也将领跑一切。
●本文编号2572,以后想阅读这篇文章直接输入2572即可
●输入m获取到文章目录
前端开发
更多推荐《18个技术类公众微信》
涵盖:程序人生、算法与数据结构、黑客技术与网络安全、大数据技术、前端开发、Java、Python、Web开发、安卓开发、iOS开发、C/C++、.NET、Linux、数据库、运维等。