每个人一生中至少有一次用 JavaScript 编写过代码。有些人说他们喜欢它,有些人则说他们不喜欢。这只是一封小小的“信”,写给那些对 JS 生态系统有遥远感情的人们,无论好坏。
在开始之前我们需要了解 Javascript 的历史。 Javascript 不是一种语言,而是一个生态系统。 Java 或 C 是一种语言 Javascript 不是,ECMAScript 是该语言的实际名称。当我们责怪 Javascript 时,我们实际上是在责怪生态系统。
JavaScript 的历史
编程涉及很多事情,如果我们将编程想象成一个大球体,那么 Web 占据了最大的部分。
当我们谈论编程时,80%都是与网络相关的技术。这就是为什么 Javascript 在 1995 年开始纯粹作为一种 Web 语言,并在 1997 年得到 IE4 支持。因此,为了我们的理解,我们需要知道 Javascript 从来就不是为了在服务器上使用而设计的。 Netscape 实际上是第一个支持 Javascript 的浏览器,它使用 Mocha 作为 Javascript 引擎,但直到 V8 之前的所有内容都还不够好。
随着需求的增长,人们开始尝试让 Javascript 变得更强大、更快,但 Google 团队创造了奇迹,实际上让 Javascript 变得足够快,不仅对客户端来说足够快,而且随着 Ryan Dahl 引入 V8 和 Node.js,Javascript 开始了也可以在服务器上使用。
其他语言,如 C 或 Java,它们旨在处于机器级别并创建较低级别的程序。要了解服务器上的 Javascript 是多么神奇,想象一下尝试将 Java 放在客户端上。该语言的目的不是用于与 DOM 和 Web API 交互,因此需要进行很多技巧。
ECMAScript 1 是用于 Web 浏览器的语言,旨在仅在其中运行。如果我们将其性能归咎于语言,我们需要知道它不是语言,而是语言背后的引擎
JavaScript 开始增长
差不多十年后的 2009 年,随着 ECMAScript 需求的增长,ES5 终于出现了。这就是大繁荣发生的地方。实际上,ECMAScript 语言的用途远不止于简单的前端应用程序。仅仅几年后,React 和其他框架开始出现在地平线上,不仅适用于前端,也适用于后端以及 Express.js 的引入
Javascript 必须有自由,因为前端不像后端开发那样严格和严格,React 和之前的客户端繁荣的艺术需求创建了一个相当宽松的生态系统,没有太多规则和限制。
如果其他语言在服务器上已经存在了十多年了,Javascript 想要进入,由于其简单的语法性质,很容易使用该语言,而且前端和后端开发使用相同的编程语言很方便.
一个代码库
这是我想谈谈的事情。在 2009 年 Shopify 正式推出其平台之前,我们与后端服务没有太多交互。 Javascript 的坏本质对于当时的 Web 来说已经足够好了,而且当时存在的少数大型 Web 平台,使用 PHP 作为后端,像 Facebook 这样的前端,如果他们有更多的需求,他们就使用 Java 作为后端。与 API 的交互性很差,需要进行一些更改。
Node.js 帮助开发人员做他们想做的事,使 Web 成为无缝的开发体验,而不必为同一组功能使用不同的语言。最初 Nodejs 的性能很差,扩展很困难,需要发生一些事情。
Javascript 有很多问题需要解决。它必须解决的第一个问题是性能,并且 Nodejs 也提高了性能。
一个代码库可以解决所有问题,但可扩展性无法满足行业标准。类型安全是必须的,就像 Facebook 创建了 Hack,微软引入了 Typescript。
现代问题
Javascript解决了性能问题,它可能不如Go或Rust快,但也不是必须的。您不需要 Web 标准的疯狂性能,如果需要,只需使用 Go 或 Rust 创建一项服务即可。让我告诉你,我们所知道的互联网的核心是 PHP 和 Ruby。它们比 Javascript 慢得多,而且资源消耗更大。
Javascript 解决了类型安全问题,因此可以在更大的项目中使用,但最后一个问题一直困扰着 Javascript,直到几天前我们才取得了重大突破。
因为 Javascript 不是一种语言,而是一个生态系统,新功能和工具不是以该语言构建的,而是围绕它构建的。您最终需要 20 个配置文件来运行一个后端有 3 个端点的小型 SPA 应用程序。我们需要的改变是将所有内容捆绑在一个东西中。
将 ECMAScript、类型、Linting、安全性和格式放在一个包中。因为现在你不仅迷失在依赖地狱中,而且编码也很困难,因为没有关于如何做事的单一标准。其他语言,如 Java、Ruby、Go、Rust 或 Perl,一切都在语言障碍之内。
JavaScript 的未来
Ryan Dahl 介绍了 Deno,Deno 开始做的就是将所有东西捆绑在一起。这是非常有前途的。
Typescript 现在的性能、库数量、围绕语言和资源存在的 SDK,包括 Deno 所做的承诺,它将接管整个 Web 行业。
想象一个世界,所有这些文件及其命令都捆绑在一个 Javascript 引擎中。
eslintrc.json
tsconfig.json
vite.config.js
package.json
postcss.config.js
.prettierrc
ecosystem.config.js
.哈士奇
根据我的浅薄理解,Javascript 非常接近成为 Web 领域的明智选择,只需 3-4 年。您想要构建微服务、微前端、整体架构、扩展到每秒 5K 请求或只是创建一个简单的 SPA,Javascript 将是唯一的解决方案。
给 Javascript 一些时间,PHP、Ruby 或 Go 等 Web 替代品将会倒退。因为现在每个人都有反对 Javascript 的合理论点,但未来还是充满希望的。
结论
总之,JavaScript 已经从最初作为 Web 浏览器的简单脚本语言的卑微发展到能够处理客户端和服务器端应用程序的强大生态系统。它的历程以性能、可扩展性和类型安全性的不断改进为标志,使其成为现代 Web 开发的多功能选择。
Node.js 等工具和 React 等框架的引入扩展了其功能,而 Deno 等创新承诺通过将各种工具和配置集成到一个有凝聚力的环境中来进一步简化开发流程。
随着不断的进步和强大的社区,JavaScript 的未来看起来充满希望,为开发人员提供了一个统一且高效的平台来构建未来的 Web 应用程序。
以上是JavaScript——祝福还是诅咒?的详细内容。更多信息请关注PHP中文网其他相关文章!

JavaScript框架的强大之处在于简化开发、提升用户体验和应用性能。选择框架时应考虑:1.项目规模和复杂度,2.团队经验,3.生态系统和社区支持。

引言我知道你可能会觉得奇怪,JavaScript、C 和浏览器之间到底有什么关系?它们之间看似毫无关联,但实际上,它们在现代网络开发中扮演着非常重要的角色。今天我们就来深入探讨一下这三者之间的紧密联系。通过这篇文章,你将了解到JavaScript如何在浏览器中运行,C 在浏览器引擎中的作用,以及它们如何共同推动网页的渲染和交互。JavaScript与浏览器的关系我们都知道,JavaScript是前端开发的核心语言,它直接在浏览器中运行,让网页变得生动有趣。你是否曾经想过,为什么JavaScr

Node.js擅长于高效I/O,这在很大程度上要归功于流。 流媒体汇总处理数据,避免内存过载 - 大型文件,网络任务和实时应用程序的理想。将流与打字稿的类型安全结合起来创建POWE

Python和JavaScript在性能和效率方面的差异主要体现在:1)Python作为解释型语言,运行速度较慢,但开发效率高,适合快速原型开发;2)JavaScript在浏览器中受限于单线程,但在Node.js中可利用多线程和异步I/O提升性能,两者在实际项目中各有优势。

JavaScript起源于1995年,由布兰登·艾克创造,实现语言为C语言。1.C语言为JavaScript提供了高性能和系统级编程能力。2.JavaScript的内存管理和性能优化依赖于C语言。3.C语言的跨平台特性帮助JavaScript在不同操作系统上高效运行。

JavaScript在浏览器和Node.js环境中运行,依赖JavaScript引擎解析和执行代码。1)解析阶段生成抽象语法树(AST);2)编译阶段将AST转换为字节码或机器码;3)执行阶段执行编译后的代码。

Python和JavaScript的未来趋势包括:1.Python将巩固在科学计算和AI领域的地位,2.JavaScript将推动Web技术发展,3.跨平台开发将成为热门,4.性能优化将是重点。两者都将继续在各自领域扩展应用场景,并在性能上有更多突破。

Python和JavaScript在开发环境上的选择都很重要。1)Python的开发环境包括PyCharm、JupyterNotebook和Anaconda,适合数据科学和快速原型开发。2)JavaScript的开发环境包括Node.js、VSCode和Webpack,适用于前端和后端开发。根据项目需求选择合适的工具可以提高开发效率和项目成功率。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

SublimeText3 Linux新版
SublimeText3 Linux最新版

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

SublimeText3汉化版
中文版,非常好用

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。