写点什么

Deno:来自 Node 之父的 V8 TypeScript 运行时

  • 2019-01-02
  • 本文字数:797 字

    阅读完需:约 3 分钟

Deno:来自Node之父的V8 TypeScript运行时

Deno是 Node.js 原作者 Ryan Dahl 重新思考服务器端 JavaScript 运行时的产物,旨在解决 Node.js 中存在的遗憾和挑战。


Node.js 是迄今为止使用最广泛的服务器端和命令行 JavaScript 运行时。随着它的广泛普及,如果不做出重大的兼容性变更,Node.js 可能带来的变化将非常有限。


几年前,Dahl 在离开 Node.js 和 JavaScript 之后,由于对机器学习的兴趣日益增加,又回到了 JavaScript 生态系统。2009 年,在 JSConf.eu 上初次宣布 Node.js 之后,Dahl 又回到了今年的 JSConf.eu 上,他表达了 Node.js 存在的遗憾,并介绍了 Deno——尝试解决 Node.js 问题的早期方案。


Dahl 对 Node.js 的几个重要方面感到遗憾,包括不提供异步模式、Node.js 的整体安全架构、内部构建系统、包管理以及模块处理。


尽管 Node.js 大获成功,并且非常受欢迎,但这些批评始终如影随形。很多早期的努力试图将一些替代方案纳入 Node.js,但都遭到了来自核心 Node.js 团队的阻力。由于 Promise 和模块被引入到语言标中,所以它们在 Node.js 中也发生了变化,但即使到了今天,Node.js 内部也未能充分利用它们的全部功能。


Deno 提供了一个安全的 V8 运行时引擎,以 TypeScript 为基础,提高了代码的准确性,并将编译器内置到 Deno 可执行文件中。


Deno 致力于更好地利用 JavaScript 安全沙箱,以及简化模块和构建系统。


Dahl 的批评者还指出,Dahl 在演讲中没有提到 Node.js 的其他一些问题,人们担心历史会重演。例如,Dahl 将 Node.js 的原始版权给了 Joyent,这导致了之前的冲突以及昙花一现的IO.js。IO.js 的 fork 问题通过 Node.js 基金会和当前的项目治理模型得到了解决。目前,Deno 版权属于 Ryan Dahl。


Deno 初步定位为 Node.js 的替代品,但还不成熟,也不稳定,所以也还没有繁荣的生态系统。Deno 是基于 MIT 许可的开源软件,可以通过Deno GitHub项目进行贡献和反馈。


英文原文:https://www.infoq.com/news/2018/12/deno-v8-typescript


2019-01-02 14:058235
用户头像

发布了 731 篇内容, 共 455.0 次阅读, 收获喜欢 2003 次。

关注

评论 1 条评论

发布
暂无评论
发现更多内容

产品需求文档必须消亡

ShineScrum

Scrum 敏捷 产品开发 PRD

Linux系统安装配置jdk

Centos 7 jdk8 9月月更

如何使用Postman调试HMS Core推送接口?

HarmonyOS SDK

移动推送

「趣学前端」骨架屏,分享一波前端UI组件开发的经验

叶一一

JavaScript 前端 组件 9月月更

SAP UI5 ManagedObject 的 Association 讲解

汪子熙

JavaScript typescript SAP UI5 ui5 9月月更

【iOS逆向】某营业厅算法分析

小陈

「工作小记」多个批量操作的链式实现

叶一一

前端 设计思维 React Hooks 9月月更

中文稀疏GPT大模型落地——通往低成本&高性能多任务通用自然语言理解的关键里程碑

阿里云大数据AI技术

自然语言处理 多任务 企业号九月金秋榜 GPT

FreeRTOS记录(二、FreeRTOS任务API认识和源码简析)

矜辰所致

源码分析 FreeRTOS 9月月更 任务API

C语言_2 变量

泾箐

c 9月月更

数据治理的内核:数据标准

Taylor

数据治理 大数据平台 数据管理平台 数据标准 大数据仓库

源于加速,不止加速-阿里云加速引擎的10年演化之路

阿里云CloudImagine

CDN CDN加速 CDN技术

易周金融分析 | 多家银行试水特色网点揽客;自动驾驶颠覆传统车险模式

易观分析

自动驾驶 金融 银行 网点

软件测试 | 测试开发 | Jenkins 踩坑(三)| Email 配置与任务邮件发送

测吧(北京)科技有限公司

测试

TOP 5!望繁信科技获评WAIC2022全球创新项目路演优胜项目

望繁信科技

WAIC2022

i++需要多少QPS才能测出BUG

FunTester

软件测试 | 测试开发 | 数据持久化技术(Java)

测吧(北京)科技有限公司

测试

阿里云林小平:如何实现资源高效运维及成本分析

阿里云弹性计算

运维 资源管理

P8大佬私藏的:微服务与分布式系统实践详解,YYDS!

程序知音

Java 分布式 SpringCloud 后端技术 微服务架构师

C语言_1 背景,和Hello world

泾箐

c 9月月更

蒙特卡洛方法与蒙特卡洛搜索树(一)

Joshua

机器学习 算法 蒙特卡洛

C语言_3 选择结构

泾箐

c 9月月更

阿里云弹性计算技术专家樊毅伟:云上成本优化实践

阿里云弹性计算

自动化运维 资源利用

Netty高并发处理架构设计介绍

孙大卫

架构 Netty 开发框架 9月月更

Java网络编程之InetAddress类详解,URL和URI的区别,URLDecoder和URLEncoder,IPv6和IPv4区别,IPv6的三种表示方法

共饮一杯无

Java 9月月更 URL和URI

OpenHarmony中的HDF单链表及其迭代器

OpenHarmony开发者

Open Harmony

长沙!《学习的学问》长沙分享会

博文视点Broadview

行业案例|长安汽车质量管理数据分析实践

Kyligence

质量管理 数据管理 长安汽车

找准风口,如何从运维转向 DevOps?

飞算JavaAI开发助手

软件测试 | 测试开发 | 想测试入门就必须要懂的软件开发流程

测吧(北京)科技有限公司

测试

LeetCode-27. 移除元素(java)

bug菌

9月日更 Leet Code 9月月更

Deno:来自Node之父的V8 TypeScript运行时_大前端_Steef-Jan Wiggers_InfoQ精选文章