每个人一生中至少有一次用 JavaScript 编写过代码。有些人说他们喜欢它,有些人则说他们不喜欢。这只是一封小小的“信”,写给那些对 JS 生态系统有遥远感情的人们,无论好坏。
在开始之前我们需要了解 Javascript 的历史。 Javascript 不是一种语言,而是一个生态系统。 Java 或 C 是一种语言 Javascript 不是,ECMAScript 是该语言的实际名称。当我们责怪 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 浏览器的语言,旨在仅在其中运行。如果我们将其性能归咎于语言,我们需要知道它不是语言,而是语言背后的引擎
差不多十年后的 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,一切都在语言障碍之内。
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中文网其他相关文章!