2003 年,保罗·格雷厄姆(Paul Graham) 曾撰文提到,他的公司决定使用 Lisp。在该文章中他将 Lisp 描绘成计算机语言界的法语,它独特、深邃,能够表达难以描述的事物。
如果 Lisp 像法语,那么现如今的 JavaScript 就像英语一般。尽管二者的语法不一致,但英语是世界上最广泛使用的语言,JavaScript 是最广泛应用的计算语言。
然而,JavaScript 似乎没有得到相应的尊重。很多大公司的高级工程师声称它不是一门「真正的」编程语言,不知道它除了操作像素外它还有什么用途...
但其实除了样式效果外,JavaScript 也被越来越多地应用于软件开发,例如后端任务、Web 服务器以及数据处理。Zeit 首席执行官 Guillermo Rauch 指出,JavaScript“不是人为设计出来的,它是在进化过程中得到的结果。是市场的力量改造了这门语言。
借着这次 State Of JS 发布的第四版「JavaScript 现状调查报告」,我们一起来看一看 JavaScript 现在到底是个什么情况?
JavaScript 是什么?
JavaScript(通常缩写为JS)是一种高级的、解释型的编程语言。JavaScript 是一门多范式的,基于原型、函数先行的语言,它支持面向对象编程,命令式编程,以及函数式编程。目前已被世界上的绝大多数网站所使用,也被世界主流浏览器(Chrome、IE、Firefox、Safari、Opera)支持。
虽然 JavaScript 与 Java 这门语言不管是在名字上,或是在语法上都有很多相似性,但这两门编程语言从设计之初就有很大的不同,JavaScript 的语言设计主要受到了 Self(一种基于原型的编程语言)和 Scheme(一门函数式编程语言)的影响。在语法结构上它又与 C 语言有很多相似(例如 if 条件语句、switch 语句、while 循环、do-while 循环等)。
在客户端,JavaScript 在传统意义上被实现为一种解释语言,但在最近,它已经可以被即时编译(JIT)执行。随着最新的 HTML5 和 CSS3 语言标准的推行它还可用于游戏、桌面和移动应用程序的开发和在服务器端网络环境运行,如 Node.js。
2019 年 JavaScript 现状调查报告
State Of JS 方面表示,因 JavaScript 的生态系统发展未能尽如人意的原因,其又发布了 2019年的 JavaScript 现状调查报告。今年的 JavaScript 状态是该调查的第四版,覆盖了21,717位受访者。客户数据可视化专家 Amelia Wattenberger 针对 JavaScript 生态系统进行了全面的概述。
2016年 - 2019年 趋势图
1.JavaScript 现状
“风味(Flavors)”
截止到 2019 年度,排名第一的为 TypeScript。此外,背后有着 Facebook 支持的Reason 也值得关注,但关注度层面,TypeScript 一枝独秀。
前端框架
截止到 2019 年度,排名第一的为 React,但前三名的竞争依然很激烈,
资料层
排名第一的依然是 graphql,但 Redux 是目前使用最广泛的工具。同时,Apollo 的用户数也在持续上涨,已从 2018 年的 11.1% 增加到了 24.9%。
后端框架
JavaScript 在后端领域近年来似乎没有取得任何重大突破唯一比较亮眼的是 Next.js 表现良好,用户数已从 2018 年的 8.6% 上升到了 24.7%。
测试
移动和桌面
React Native 和 Electron 仍是使用 Web 技术构建移动和桌面应用的两个主要解决方案。
2.其他工具
您经常使用哪些实用程序库?
其他实用程序
您经常使用哪种文本编辑器?
在初始开发过程中,您主要使用哪种浏览器?
您还使用其他哪些编程语言?
3.JavaScript 相关意见汇总
JavaScript 朝着正确的方向发展
现在构建 JavaScript 应用程序过于复杂
JavaScript在线使用过多
我喜欢构建 JavaScript 应用程序
我希望 JavaScript 成为我的主要编程语言
JavaScript 生态系统变化太快
4.结论
您知道有时候您有时会开始在这里和那里调整几行代码,然后意识到几个函数可以使用一些重构,然后在建立全新堆栈的几天后发现一件导致另一件事情的事情。完成数据库和GraphQL API?
这就是我们今年发生的事情。虽然这导致了很多紧张的夜晚,但我们试图总结一下并在2019年发布JavaScript 2019状态报告; 这也意味着我们现在有了一个功能更强大,更灵活的堆栈,可以收集和分析以后的数据。
这将有助于分析所有新工具的发展,这些新工具开始引起轰动,例如Svelte,Stencil,Sporky,Nest或Flutter。是的,我只是组成了那五个中的一个,但是承认了:您有片刻的怀疑不是吗?
但是不用担心。无论社区不断向您扔出多少个怪异的库,我们都会在那里帮助您解决所有这些混乱情况……也就是说,如果我们不忙于进行另一次重构以使我们的代码完美无缺!
–萨莎和拉斐尔
官方表示,他们将发布自己的JavaScript T恤,以资助之后的工作。这件衬衫的特征是“ JavaScript周期表”,其中列出了按类别分组的最受欢迎的库,以及它们的 GitHub 星级数(以千计)。
不得不说,这件衬衫是熟悉 JavaScript 生态系统的路径之一,也是个充值信仰的好方法哈哈哈哈~
查阅 《The State of Javascript 2019》 完整报告,请扫码关注下方 SegmentFault 官方微信,回复关键字「javascript」即可。