JavaScript已进化为一级语言
2017-08-17 09:08:04 1724 0
分类: 网站开发
【摘要】 2017-8-17 小B
JavaScript已进化为一级语言
2017-8-17 小B
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已经被用于如下领域:
RESTful API服务,可进行数据库操作、图片存储和接入认证等。
服务器通信。
数据处理。
应用和网站的整体UI构建
有统计显示:相对于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也将领跑一切。
相关阅读推荐
-
怎么学 JavaScript?
2017-9-13 小B
-
七个不可错过的React组件库与开发框架
2017-9-12 小B
-
帮你提升 Python 的 27 种编程语言
2017-9-7 小B
最新资讯
网站开发文章推荐阅读
-
怎么学 JavaScript?
2017-9-13 小B
-
七个不可错过的React组件库与开发框架
2017-9-12 小B
-
帮你提升 Python 的 27 种编程语言
2017-9-7 小B
-
25个最基本的JavaScript面试问题及答案
2017-9-6 小B
-
Python 这么热,要不要追赶 Python 的热潮?
2017-9-4 小B
文章排行
-
-
甲骨文正式宣布将 Java EE 移交给 Eclipse 基金会
2017-9-15 小B
-
装逼必备:大型分布式网站术语分析
2017-9-5 小B
-
每个JavaScript开发者都该懂的Unicode
2017-8-30 小B
-
为什么我们选择使用 React 而不是 Angular 构建新 UI
2017-8-18 小B
-
没那么难,谈CSS的设计模式
2017-8-12 小B
-
JavaScript 从0自定义封装企业插件原来这么简单
2017-7-28 小B
-
-
-
甲骨文正式宣布将 Java EE 移交给 Eclipse 基金会
2017-9-15 小B
-
深度学习入门
2017-9-14 小B
-
数据显示仍有16%的Android手机运行的是 Android KitKat
2017-9-8 小B
-
安卓开发的小技巧
2017-4-22
-
中国和印度双驾马车拉动亚太地区应用生态超过西方
-
2017年最好用的Android渗透工具合集
-
应用程序进入开发阶段后,您需要执行哪些步骤
-