< 返回版块

c5soft 发表于 2020-06-20 09:51

Tags:deno,nodejs,rust,tokio,typescript

你知道Ryan Dahl在2007年用C++开发了Nodejs, 火了,现在仍然热。但你可能不知道还是这个Ryan Dahl,这个大神,2017年用Rust重新写了一个Nodejs++, 当然新产品不叫Nodejs++, 叫Deno, Deno=Destroy Nodejs, 就在上个月,2020-05-13, Deno 正式进入1.0时代。

跟 Node.js 一样,Deno 也是一个服务器运行时,但是Deno不仅支持js, 可以直接运行TypeScript 和 WebAssembly 程序。

它内置了 V8 引擎,用来解释 JavaScript。同时,也内置了 tsc 引擎,解释 TypeScript。它使用 Rust 语言开发,由于 Rust 原生支持 WebAssembly,所以它也能直接运行 WebAssembly。它的异步操作不使用 libuv 这个库,而是使用 Rust 语言的 Tokio 库,来实现事件循环(event loop)。

在Windows10下让Deno跑起来:

第一步,下载Deno.exe

第二步, 写一段Typescript源代码server.ts:

import { serve } from "https://deno.land/std/http/server.ts";

for await (const req of serve({ port: 8000 })) {
  req.respond({ body: "<h1>Hello Deno World !</h1>" });
}

第三步,进入cmd命令行,输入下列命令:

d:\programs\deno\deno --allow-net server.ts 

d:\programs\deno是deno.exe的文件位置,按你的情况修改,运行当前目录为server.ts所在目录

Deno的官网地址 deno.land

评论区

写评论
Mike Tang 2020-06-21 17:29

所以不知道这东东对 Rust 的带动如何。

--
👇
Ge777: 性能和nodejs一样 都是基于v8

IWANABETHATGUY 2020-06-21 15:38

你要这样说的话 ts-node 不是一样的吗?

Ge777 2020-06-20 18:50

性能和nodejs一样 都是基于v8

作者 c5soft 2020-06-20 14:46

Deno的性能如何?

Deno介绍中有这样一段:

HTTP服务器性能 我们不断跟踪Deno的HTTP服务器的性能。问候世界的Deno HTTP服务器每秒处理约25,000个请求,最大延迟为1.3毫秒。一个可比的Node程序每秒处理34,000个请求,最大延迟介于2到300毫秒之间。

Deno的HTTP服务器是在本机TCP套接字顶部的TypeScript中实现的。Node的HTTP服务器使用C语言编写,并作为对JavaScript的高级绑定公开。我们一直拒绝将本地HTTP服务器绑定添加到Deno的冲动,因为我们要优化TCP套接字层,更常见的是优化op接口。

Deno是一个合适的异步服务器,每秒25k请求足以满足大多数目的。(如果不是,那么JavaScript可能不是最佳选择。)此外,由于普遍使用Promise(如上所述),我们期望Deno通常表现出更好的尾部延迟。综上所述,我们确实相信该系统还有更多的性能优势,我们希望在将来的版本中实现这一目标。

作者 c5soft 2020-06-20 13:35

Rust工具链支持用Rust语言来写WebAssembly, 将hello.rs编译为hello.wasm 对以下内容的回复:

lineCode 2020-06-20 11:47

rust 原生支持WebAssembly?

1 共 6 条评论, 1 页