发布于 2026-01-05 4 阅读
0

Deno是什么?为什么大家都在谈论它?

Deno是什么?为什么大家都在谈论它?

Deno 是一个炙手可热的新型运行时环境,它有可能取代 Node.js。每个人都在谈论它,仿佛它就是下一个重大突破。它很可能就是。原因如下。

什么是Deno?

什么是Deno

手册原文:

Deno 是一个 JavaScript/TypeScript 运行时环境,具有安全的默认设置和出色的开发者体验。

它基于 V8、Rust 和 Tokio 构建。

Deno旨在取代我们挚爱的 Node.js,它由 Ryan Dahl 领导,他早在 2009 年就启动了 Node.js 项目。该设计源于他对 Node.js 的 10 个遗憾之处。

所以 Deno 的目标是挑战 Node.js,如果没有 Ryan 的领导,这简直就是一项不可能完成的任务。以下是关注 Deno 的几个原因:

  • 它是由Node.js的创始人创建的。
  • 它直接解决了Node.js的不足之处。

所以,目前看来开局不错。但让我们来看看它背后的一些技术,看看这是否重要。

是什么赋予了迪诺力量

什么是Deno

手册里提到了V8、Rust和Tokio。如果你不知道这些是什么,手册就没什么用了。

V8是谷歌的高性能 JavaScript(现在也支持 WebAssembly)引擎。Node.js 和 Chrome 目前都在使用它。V8 可以独立运行,速度极快。过去几年,该引擎的开发取得了巨大的成功。注意:V8 会将 JavaScript 编译成原生机器代码,以实现超快的性能。以下是关于 V8 的一些更精彩的信息。

Rust是一种速度极快的系统编程语言。它没有运行时库或垃圾回收器。它的主要关注点是性能和内存安全。以下是 Rust 的其他一些优点。

Tokio是 Rust 的异步运行时环境。它是一个事件驱动平台,用于构建快速、可靠且轻量级的网络应用程序。它速度极快,并且能够很好地处理并发任务。

所以你看出其中的规律了吗?Deno 由快速、轻便、安全的技术组成。我们已经有了一个良好的开端。

那么,为什么要推陈出新呢?

什么是Deno

自 2009 年以来,JavaScript 已经发生了很大的变化。开发、性能和功能在这段时间里都发生了翻天覆地的变化,而 Node.js 也尽力跟上时代的步伐。或许从头开始才是更好的选择。

Dahl 指出,以下是他发现的 Node.js 的一些设计问题。

  • 模块系统及其分布
  • 必须支持的旧版 API
  • 安全问题

Deno旨在解决所有这些问题。

如果你使用Node.js有一段时间了,你肯定了解 NPM 及其一些特性。就我个人而言,我觉得它还不错,当然还有改进的空间。它采用的是中心化仓库模式 (npmjs.com),这种模式也存在一些问题。

Deno 模块可以托管在任何地方。此外,它们还会缓存在本地。除非你想更新,否则无需更新它们。非常棒。

Deno 的安全机制是集成式的。除非明确启用,否则它无法访问文件或网络资源。如果出现未捕获的错误,程序会崩溃。

TypeScript 是内置的——这完全是为开发者准备的。您可以充分利用 TypeScript 进行开发,并使用所有那些高级的显式类型和其他语言特性。

最大的潜在收益是什么?

什么是Deno

Deno 承诺提供卓越的性能和安全性。这固然是一大优势,但它最大的优势在于开发者体验。它旨在让你的工作更轻松。具体来说:

您可以使用:

  • ES6
  • TypeScript
  • 远程存储库

太棒了,这些都很好。但你也可以:

  • 使用 Deno 进行测试- 无需费力寻找各种工具或争论哪个最好,核心中内置了测试运行器。
  • 格式化代码- 你可以使用“deno fmt”来格式化文件。这是我喜欢 Go 的原因之一。在过于注重规范的环境下工作固然有其弊端,但它也能为开发者节省大量时间。
  • 调试- Deno 内置了调试功能,因此您无需在互联网上苦苦寻找最好的调试器。
  • 编译和打包- 据我所知,这项功能尚未完成,但它有一个相当不错的打包器,而且未来还会有更多改进。

这些都是以开发者为中心的改进。虽然人们可能会对速度和安全性赞不绝口,但更令人欣慰的是,开发者使用 Deno 创建应用程序不会再遇到太多难题。

哦,而且它只有一个可执行文件。这真是个好消息。任何经历过依赖关系和破坏性变更的人都知道,拥有一个稳定可靠的可执行文件是多么令人欣慰。你可以随时更新它,而不用担心依赖关系的问题。

结语

什么是Deno

Deno 将会掀起一场变革。它将带来:

  • 表现
  • 安全
  • 减少开发者的痛苦

这里蕴藏着巨大的潜力。迪诺还承诺:

  • 遵守网络标准
  • 防止 API 被弃用
  • 包含 TypeScript
  • 内置工具

Deno 的未来一片光明,我迫不及待地想深入研究并用它来创造一些东西。它看起来非常有前途。

从这里开始

你用Deno做过什么东西吗?你觉得怎么样?快告诉我吧!

如果你想提升你的 JavaScript 技能,不妨看看这些很棒的课程

文章来源:https://dev.to/pluralsight/what-is-deno-and-why-is-everyone-talking-about-it-336d