Deno First Release 计划

Deno 1.0 first release 功能计划:

Deno概述

Deno是一个基于v8引擎、Rust&Tokio构建的安全的JavaScript/TypeScript运行时。

Deno旨在为现代程序员提供高效,安全的脚本环境。

它将始终作为单个可执行文件分发 - 并且该可执行文件将是运行任何deno程序的足够软件。给定一个deno程序的URL,你应该能够用50M左右大小的deno可执行文件执行它。

Deno明确地承担了运行时和包管理器的角色。它使用标准的浏览器兼容协议来加载模块:URL。

Deno提供有关程序如何访问系统的安全保证,默认情况下是最严格的安全沙箱。

Deno提供了一组经过审核的标准模块可以保证与Deno一起使用。

Deno First Release 计划_第1张图片
架构

历史回顾(废话)

从2018年5月14日第一次提交。
再然后就是到7月11才最终结束的“求别更新了,老子学不动了”盖楼事件。

说实话当时我作为一个中国技术人,感到很羞耻,这群人对技术毫无敬畏之心。一件事物的出现应当理性去看待。我不知道他们怀着什么样的想法,但显然不能阻止Deno的出生,反而将中国技术人的脸丢到国外了。

姑且不论其他,Deno一出生就饱受关注了,迅速在几个月时间达到了2W+star数量。可见Ryan Dahl的个人影响力还是非常大的。
Deno并非是想搞一个大新闻,而是专注且低调的成长,弥补ry在Node.js上的一些遗憾之外,Deno有着不一样的目标和使命。我在此不得不感谢一下盖楼事件的发生,才让我有幸注意到这个有趣的项目。从2018年6月开始,我watch了它。

经过长达13个月的开发,Deno终于快要和大家见面了!他的first release 1.0 已经有了计划。或许将在一到两个月之后,发布第一个正式版本。

1.0 计划

  • [ ] "deno --debug" 支持通过ChromeDevtools进行调试。
  • [x] import maps 导入地图功能。导入的模块路径映射配置。
    因为deno的模块系统是兼容浏览器的url方式。通过url加载,为了便于路径的书写,版本的管理等等,可以定义import maps配置。
// importmap.json
{
  "imports": {
    "moment": "./moment.ts",
    "mysql": ["https://deno.land/x/mysql/"]
  }
}

// main.ts
import { Client } from "mysql/mod.ts";
import moment from "moment";
  • [ ] 动态引入。目前已经完成50%。
  • [ ] 优化 deno fmt 格式化速度。(目前第一次运行比较慢,因为加载了比较大的prettier依赖)
  • [ ] 支持 d.ts 文件
  • [x] deno bundle ,输出单个amd模块文件,这有利于网站之间共享代码。该功能已完成早期版本
  • [ ] deno compile,这是一个很棒的功能,将所有代码和运行时打包在一起,输出单个可执行文件。该功能用于部署、交付、Serverless等都非常棒。该功能也可能不会含该在1.0
  • [] deno install,通过少量的shell脚本将程序安装到$PATH环境变量之下。类似于node.js的npm install -g
  • [] dlopen / plugins / 扩展模块。我们需要某种方式来调用Rust代码,Pracel的方式非常棒https//parceljs.org/rust.html。但我们需要用低级原语来构建它,因为我们需要通过Op抽象小心的集成一些内容。@ afinch7 有一个用于在DLL #2385加载Op的工作补丁,我们仍在迭代具体的API。我会允许一个真正的FFI模块过渡到1.0 - 我们最终会得到一个建立在ops上的版本。
  • [ ] 支持 TLS
  • [ ] web server 应该更快
  • [ ] 一些API的重构。
  • [ ] 当直接在Web浏览器中访问deno.land脚本URL时(示例https://deno.land/std/http/server.ts),应该做的比直接重定向更好,应该查看Accept头并提供漂亮的HTML。如果您使用“docs.deno.land”,将获得自动生成的文档。

后语

Deno目前已经3.5w star啦。1.0版本也快了,各位感兴趣的赶紧来玩一玩。
官网:https://deno.land/
欢迎加入我建的QQ群,一起交流Deno:https://shang.qq.com/wpa/qunwpa?idkey=ad90a297e52feae2abf4b3d8760d8f979156983875abe34a534a43d82e72033b
群号:698469316

同时也欢迎给我写的deno mysql driver数据库驱动库star。https://github.com/manyuanrong/deno_mysql

你可能感兴趣的:(Deno First Release 计划)