2022年是否有必要用Deno代替Node选择以及Deno的资源大全

2022年是否有必要用Deno代替Node选择以及Deno的资源大全

我的答案是:没有。以下内容纯属心得和体验,无技术点,记录今天了解的deno和它目前生态等发展

  • deno官网:https://deno.land/
  • deno中文翻译网:https://deno-cn.vercel.app/

什么是Deno?

Node作者Ryan Dahl在2018年8月23日发布了第一个版本v0.1.0的deno,为什么Ryan Dahl要革自己的命创造一个新的运行时呢?

  1. 模块导入规则太多且不兼容:ES模块、CommonJs…
  2. node_modules黑洞
  3. 有callback ES5、Promise ES6和async/await(基于Promise)ES7的两种写法
  4. 工具太多(webpack、vite、babel、tsc…)
  • 阮一峰大佬对deno的讲解:https://www.ruanyifeng.com/blog/2020/01/deno-intro.html

deno的含义:deno ?= de + no(destory node.js?),近几年是不可能的,如下面所述…

学习成本

  • 学习deno更关心的肯定是语言,deno的定位任然是runtime运行时,但是特别的是它是TypescriptJavaScript的运行时,也就是能直接运行Typescript(内部任然会将ts编译成js)和Javascript

  • 所以说使用node的同学可以ECMAscript语法上无缝迁移到node

  • 学习点:

    1. deno工具命令:因为没有了npm,包管理都是deno在帮助我们
    2. deno一些特例语法:因为最上乘用promise构建,比较少。
    for await(const conn of listener) {
    	// ...
    }
    

工作

因为deno才v1.18.2版,想尝试找不找得到deno相关开发
2022-02-14 21点56分记录

  • 某oss:无相关工作
  • 某钩:无
  • 某联:无

如果你为了找工作,还不如去学node,搞企业级微服务开发必须学Typescript,目前很有思想的框架都在用,如支持Ioc DIAop…的框架midwayjsnestjsdarukjsmalagujs,如果你很喜欢serverless推荐使用malagujs

搞企业级的框架在deno中不存在吗?存在,请看生态

生态

  • 目前优质的deno库:https://github.com/hylerrix/awesome-deno-cn

  • 支持deno的发现源(不确定一定是deno的,它也支持node):https://www.skypack.dev/

  • 官方发现源(一定支持deno):https://deno.land/x

思考点:node能干的web应用、构建vue、react项目工具

  1. web应用的库/框架:
    • 仿koa的:https://github.com/ako-deno/ako
    • 仿express的:https://github.com/cmorten/opine
    • 受nest启发的typescript库(开发中…):https://github.com/SampaioLeal/destjs

2022年是否有必要用Deno代替Node选择以及Deno的资源大全_第1张图片

  1. 构建前端项目的库/框架:
    • 受next.js(react)启发的SSR框架:https://alephjs.org/docs
    • 在deno下运行的构建Vue2/3的工具:https://github.com/mggower/vno

很不错,有点心动不是吗?❤️‍但是让我暂且放一放的是nest官方的话。

为什么nest目前不准备迁移到deno?

  • 官方打算看看deno的发展再做打算 issue:https://github.com/nestjs/nest/issues/4495

原话:“Deno 还不够成熟,甚至无法在当前尝试将 NestJS 移植到它。我建议我们首先看看“更小”的 Node.js 项目它是如何随着发展的——无论它们是被移植还是重写。根据社区设定的趋势和“标准”,我们将考虑与 NestJS 一起移动。”

  • deno有了Compat Mode兼容node.js但是不支持typescript issue:https://github.com/nestjs/nest/issues/8867

因为兼容不支持typescript,那等同于把项目写好了用deno跑,意义不大

想法与感受

现在最需要的是沉下心去用typescriptnode去写一些工具,比如一些Vue、React、Nestjs的模板用脚手架去封装。

至于deno如果它随着它的生态越来越好,等到时候再去了解他使用它也不迟,deno说实话还是有很多路需要走的,因为刚出所以很多serverless是不支持的,除非自定义deno环境,目前工作基本也没有,而且企业级框架deno也没有很完善。
总的来说目前deno没有压倒性的理由让我去用,反而给我带来的是一些缺点,如:生态,资源没npm中心源清晰等,deno正在一个发展期的小恐龙,也希望有朝一日,也能再企业内体会到它的风采。

deno分析:

  • 我们并不需要deno:https://segmentfault.com/a/1190000040122104

deno教程:

Deno入门手册:https://chinese.freecodecamp.org/news/the-deno-handbook-with-examples/

了不起的 Deno 入门与实战:https://juejin.cn/post/6844904162321252360

异步函数在deno中的超时:https://medium.com/deno-the-complete-reference/timeout-for-async-functions-in-deno-52cee16e6e92

你可能感兴趣的