百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Deno 生态中的联盟框架(倡导联盟框架理论)

ccwgpt 2025-06-08 19:38 4 浏览 0 评论

大家好,我是Echa。

说到Deno,让小编联想到 2020年5月13日 Node.js 的作者Ryan Dahl 对外宣布 Deno 1.0 版本正式发布并面世大众,圈内一片哗然。都在讨论一个话题:#Deno 会取代Node.js吗?#

一传十,十传百。这一晃快三年了。结果很显然,Deno 和 Node.js 出生同一个作者Ryan Dahl之手,都还活着,而且越活越壮大了。



小编先从下面几个维度进行分析当前这个结果,看看有没有道理,欢迎粉丝们评论下面讨论。

  1. 成熟度维度:Node已经在大量商业应用中,Deno只是还在商业试验阶段
  2. 生态维度:Node已经有丰富的生态,包含各种框架和库,并且都已经广泛应用。Deno的框架和库基本上都是刚刚起步
  3. 学习成本维度:如果你已经了解Node,Deno也还是需要不少时间去熟悉,而且现代程序员普遍感觉到学习疲劳了。如果从零开始熟悉JS服务端编程,Deno相对来说会容易些,因为使用的现代JS语法。
  4. 流行程度维度:Node基本上是人尽皆知,但是Deno在很短时间内,获得了大量几乎和Node一样GitHub点赞数。

结论

从实际的产出价值(公司和个人)来说,不管是JS服务端初学者还是已经会Node开发的程序员,学Deno的路还很长。为了考虑到新学者,小编先看看上图的2019前javascript的发展简史,然后介绍Deno 生态中的联盟框架讲解。

全文大纲

  1. Deno 介绍
  2. Fresh
  3. Aleph
  4. oak
  5. Hono
  6. Ultra
  7. Lume
  8. Alosaur
  9. Deno 下一步计划

Deno 介绍

官网:https://deno.land/

Github:https://github.com/denoland

Deno 是一个简单、先进且安全的 JavaScript 和 TypeScript 运行时环境,其基于 V8 引擎并采用 Rust 编程语言构建。

特性

  1. 默认安全设置。除非 显式开启,否则不能访问文件、网络,也不能访问运行环境。
  2. 天生支持 TypeScript。
  3. 只有一个唯一的可执行文件。
  4. 自带实用工具,例如依赖检查器 (deno info) 和代码格式化工具 (deno fmt)。
  5. 有一套经过审核(审计)的标准模块, 确保与 Deno 兼容: deno.land/std
  6. 有大量的 企业对使用 Deno 感兴趣



Deno 的作者是 Ryan Dahl,他是 Nodejs 背后的策划者。Deno 建立在 V8、Rust 和 Tokio 的基础上,它的架构如下:

  • Rust 是由 Mozilla 主导开发的通用、编译型编程语言。设计准则为 “安全、并发、实用”,支持函数式、并发式、过程式以及面向对象的编程风格。Deno 使用 Rust 语言来封装 V8 引擎,通过 libdeno 绑定,我们就可以在 JavaScript 中调用隔离的功能。
  • Tokio 是 Rust 编程语言的异步运行时,提供异步事件驱动平台,构建快速,可靠和轻量级网络应用。利用 Rust 的所有权和并发模型确保线程安全。Tokio 构建于 Rust 之上,提供极快的性能,使其成为高性能服务器应用程序的理想选择。在 Deno 中 Tokio 用于并行执行所有的异步 IO 任务。
  • V8 是一个由 Google 开发的开源 JavaScript 引擎,用于 Google Chrome 及 Chromium 中。V8 在运行之前将JavaScript 编译成了机器代码,而非字节码或是解释执行它,以此提升性能。更进一步,使用了如内联缓存(inline caching)等方法来提高性能。有了这些功能,JavaScript 程序与 V8 引擎的速度媲美二进制编译。在 Deno 中,V8 引擎用于执行 JavaScript 代码。

如下图:






Fresh 介绍

官网: https://fresh.deno.dev/

Github: https://github.com/denoland/fresh

Fresh 是面向 JavaScript 和 TypeScript 开发者的全栈现代 Web 框架,可帮助他们轻松创建高质量、高性能、稳定性好,以及支持定制的 Web 应用。

Fresh 核心是路由框架和模板引擎的组合,支持在服务器上按需渲染页面。除了在服务器中提供的即时 (JIT) 渲染之外,Fresh 还提供了一个接口,用于在客户端上无缝渲染某些组件,以实现最大的交互性。该框架使用 Preact 和 JSX 在服务器和客户端上进行渲染和模板化。

一句话描述 Fresh:在服务器端渲染并将 HTML 推送到客户端。

Fresh 亮点特性

  • 无构建步骤
  • 零配置
  • 边缘 JIT 渲染
  • 轻量且快速(框架不需要客户端 JS)
  • 单个组件支持可选的客户端 Hydration
  • 由于采用渐进式增强和使用原生浏览器功能而具有很强的适应性
  • 开箱即用的 TypeScript
  • 文件系统路由采用 Next.js

Fresh最显著的优点之一是它不需要任何构建步骤。您编写的代码是在服务器和客户端上运行的代码,任何必要的TypeScript或JSX到普通JavaScript的转换都是在运行中完成的。这允许非常快速的迭代循环和部署。

Fresh的关键区别在于,它可以及时运行所有内容,而不需要任何构建、包装、捆绑或运输。这不仅节省了时间,而且消除了复杂性,因为你可以准确地看到你得到了什么。这将大大减少代码占用,只向访问您网站的用户发送0-3kb的代码(加上您选择发送的任何客户端JS),而不是预绑定、传输、聚合、预构建的10mb JavaScript。

如下图:



Aleph 介绍

官网: https://alephjs.org/

Github: https://github.com/alephjs/aleph.js

Aleph.js是一个web框架,它提供了一种简单而灵活的方式来构建服务器渲染的web应用程序。Aleph的一个关键特性是它的零配置方法,它消除了开发过程中构建步骤的需要。这意味着模块只需要编译一次,并且可以使用热模块替换(HMR)和快速刷新在浏览器中立即更新更改。

Aleph依赖项使用URL导入,并由Deno的缓存系统管理,从而无需使用package.json文件或node_modules目录。

Aleph.js的其他功能包括文件系统路由、实时服务器端渲染(SSR)、流式SSR、用于自动CSS的内置Unocss、对Deno中TypeScript/JSX的开箱即用支持、导入映射、中间件支持以及MDX等自定义模块加载程序。

目前,Aleph.js处于测试版,不建议用于生产。它支持几个流行的框架,包括React、React with MDX、Vue、SolidJS(实验性)和Yew(在Rust中),并计划在未来支持Svelte和Lit等其他框架。

如下图:

oak 介绍

官网: https://oakserver.github.io/oak/

Github: https://github.com/oakserver/oak

Oak是一个中间件框架,用于在Deno、Deno Deploy和Node.js中构建服务器端web应用程序。它提供了一个用于处理HTTP请求和响应的最低限度API,以及一个中间件路由器,可以轻松地为应用程序添加附加功能。

Oak的一个关键特性是它使用了中间件功能,可以将应用程序的逻辑分解为可以轻松管理和测试的离散功能。Oak包括用于日志记录、错误处理和CORS支持等常见任务的几个内置中间件功能,以及用于创建自定义中间件功能的简单API。

Oak的极简主义设计和对简单性的关注使其成为希望快速轻松地构建简单web应用程序的开发人员的绝佳选择。它与Deno的核心库集成,并支持async/await语法,使其成为构建服务器端web应用程序的强大而灵活的工具。

如下图:


Hono 介绍

官网: https://hono.dev/

Github: https://github.com/honojs

Hono是一个快速、轻量级的web框架,专门为边缘计算环境设计。它支持多种平台,包括Cloudflare Workers、FastlyCompute@Edge、Deno、Bun、Vercel、Lagon和Node.js。

Hono与众不同的是其超快路由器,它使用RegExpRouter和TrieRouter等先进技术提供高性能路由,而无需线性环路的开销。这使得Hono成为需要快速响应时间和低延迟的开发人员的首选。

此外,Hono还提供一流的TypeScript支持和内置中间件,用于身份验证、验证和缓存等常见用例。它建立在Web标准API之上,具有零依赖性,是边缘计算环境的有效选择。

总的来说,Hono是一个很有前途的框架,可以在Deno和其他平台上构建快速高效的web应用程序。它对性能、灵活性和易用性的关注使它成为那些希望以最小开销构建高性能应用程序的开发人员的绝佳选择。

如下图:


Ultra 介绍

官网: https://ultrajs.dev/

Github: https://github.com/exhibitionist-digital/ultra

Ultra是一个React/Deno框架,专为Suspense服务器端渲染而设计。它提供了一种非规范性的web应用程序开发方法,让您可以自由使用自己喜欢的库或编写自己的库,目的是简化开发过程并精简工具链。

Ultra利用了最新的浏览器功能,如导入地图和ESM,使您能够编写ESM并运送ESM。使用Ultra,您可以利用服务人员缓存ESM源代码,并从上到下受益于本机导入映射。

该框架不那么固执己见,并通过自定义服务器/客户端控件支持React生态系统的大部分内容,使您能够灵活地使用自己的路由、样式、数据获取和头库。如果您喜欢使用TypeScript和JSX,Ultra也支持它们。

如下图:

Lume 介绍

官网: https://lume.land/

Github: https://github.com/lumeland

Lume是一个基于Deno运行时环境的静态站点生成器,支持多种语言,如Markdown、Nunjucks、TypeScript和JavaScript。有了Lume的智能插件,可以搜索和分页内容,从Lume中的数据生成页面变得简单明了。

Lume提供了许多开箱即用的功能,如代码语法高亮显示、SEO支持、Windi CSS支持、分页和组件支持、关系支持、内置搜索功能以及图像和SVG支持。

尽管与其他网站生成器相比,Lume是一个新的静态网站生成器,但它提供了很多配置选项,您几乎可以用它做任何事情。有了Lume处理器和预处理器,您可以使用JavaScriptDOMAPI轻松地操作HTML代码。

如下图:


Alosaur 介绍

官网: https://alosaur.com/

Github: https://github.com/alosaur/alosaur

Alosaur是一个使用Deno运行时构建快速且可扩展的服务器端应用程序的框架。它提供了一组工具和功能,使开发和维护web应用程序变得容易,包括强大的路由系统、中间件支持和内置的依赖注入。

Alosaur强调性能和简单性,采用轻量级和模块化架构,允许您根据需要定制和扩展框架。它还支持广泛的第三方库和工具,使其成为web应用程序项目的绝佳选择。

如下图:


Deno 下一步计划

虽然与Node.js相比,Deno的框架生态系统较小,但需要注意的是,Deno是一个相对较新的运行时环境,于2018年推出。因此,它仍处于开发的早期阶段,并在对构建优先考虑安全性、性能和易用性的应用程序感兴趣的开发人员中迅速流行起来。

Deno项目有一个路线图,其中概述了一些即将推出的功能和改进。一些重点领域包括:

  • 稳定性-Deno团队希望确保平台坚如磐石,没有漏洞。这包括改进测试基础设施和解决任何悬而未决的问题。
  • 性能-Deno已经表现良好,但仍有改进的空间。该团队计划优化运行时间并提高各种操作的速度。
  • 安全性-Deno在设计时已经考虑到了安全性,但该团队计划通过实现内置沙箱系统等功能使其更加安全。
  • 工具-Deno团队希望通过改进工具生态系统,让开发人员更容易使用Deno。这包括开发更好的IDE集成以及创建更多的库和模块。
  • 兼容性-该团队计划提高与现有Node.js模块和包的兼容性,使开发人员更容易将代码迁移到Deno。正如我们在文章开头所看到的,在这一领域已经取得了很多进展。
  • 总的来说,Deno项目的重点是继续改善开发人员的体验,使其成为构建现代web应用程序的更具吸引力的平台。考虑到Deno的受欢迎程度有多快,随着越来越多的开发人员使用Deno而不是Node开始他们的新项目,Deno很有可能会取代Node.js。

最后

一台电脑,一个键盘,尽情挥洒智慧的人生;几行数字,几个字母,认真编写生活的美好;

一 个灵感,一段程序,推动科技进步,促进社会发展。

创作不易,喜欢的老铁们加个关注,点个赞,打个赏,后面会不定期更新干货和技术相关的资讯,速速收藏,谢谢!你们的一个小小举动就是对小编的认可,更是创作的动力。

相关推荐

go-admin开源项目,快速搭建一个管理后台系统,直接二次开发上线

#头条创作挑战赛#目录1,关于go-admin2,使用go-admin进行构建3,使用go-admin进行数据库,后端初始化4,下载前端代码,进行node编译5,总结1,关于go-admingithu...

【开源】一款高效优雅的 Vite+Vue3 中后台管理模板——Arco-Admin

今天给大家分享一款开源的基于Vite、TypeScript和Vue3的中后台前端框架,结合了ArcoDesign提供的优雅设计与强大功能。值得一提的是,ArcoDesign是字节跳...

看看这样的Dotnet后台管理,那真是叫一个清新优雅高颜值!!!

MalusAdmin基于Vue3/TypeScript/NaiveUI和NET7&Sqlsugar开发的后台管理框架。采用最原生最简洁的方式来实现,前端清新优雅高颜值,后端结...

NET 7 + Vue.js 的前后端分离的通用后台管理系统框架

DncZeus项目简介DncZeus是一个基于.NET7+Vue.js的前后端分离的通用后台管理系统框架。后端使用.NET7+EntityFrameworkCore构建,UI则...

后台管理系统这么受欢迎吗?又 Go 一个开源项目

大家好,我是欧盆索思(opensource),每天为你带来优秀的开源项目!之前推荐过两款后台管理系统,都是Go语言实现的。十分钟内构建数据可视化和管理后台:还同时支持众多框架基于Go语言Gi...

支持AI + 低代码!一款开箱即用的强大权限管理系统

写在前面大家好,这里是IT学习日记。今日推荐项目:cool-admin,获取方式在文后!1000+优质开源项目推荐进度:51/1000。如需更多类型优质项目推荐,请在文章后留言。项目简介如果你在为设计...

使用 Flask-Admin 快速开发博客后台管理系统:关键要点解析

一、为什么选择Flask-Admin?Flask-Admin是Flask生态中高效的后台管理框架,核心优势在于:-零代码生成CRUD界面:基于数据库模型自动生成增删改查功能-高度可定制...

通用后台管理系统需求及原型设计(后台管理系统需求分析)

编辑导读:后台管理系统,会根据不同公司、不同业务的要求做出改变。那么,有没有通用的功能和和需求设计模版呢?有的。本文作者基于自身工作经验,总结了一套通用的后台管理系统需求及原型设计,与你分享。网上很多...

基于 Vue3 后台管理平台Vue3.x-Admin

今天给大家分享一个Vue3.0框架搭建的后台管理模板Vue3.xAdmin。vue3.x-admin使用vue3开发的后台管理系统。主要包括CSS3特效、可拖拽的div、图表、益智小游戏、vuex4...

火爆全网:后台管理系统源码分享(项目部署+前后端手册+运维)

这是一款基于SpringBoot2.1.0、Jpa、SpringSecurity、redis、Vue的前后端分离的后台管理系统,项目采用分模块开发方式,权限控制采用RBAC,支持数...

好多程序员都在用的通用管理后台—likeadmin

前言作为一个程序员,最害怕的就是每次开新项目时,总是要从用户、角色、菜单、接口等一系列功能从头开始写代码,重复的工作实在是太多了,即耗费时间,又耗费精力,这个时候就需要一些能提高效率的工具,例如一个通...

Axure无限级导航菜单(axure导航栏左右滑动怎么做)

在Axure设计中,树组件是展示层级结构数据的关键UI组件,广泛应用于文件管理、导航菜单和数据分类等场景。本篇文章将详细解析如何在Axure中构建一个实用的无限级导航菜单,帮助你高效管理和...

三星调整HBM团队组织架构 押宝定制化HBM

【三星调整HBM团队组织架构押宝定制化HBM】《科创板日报》27日讯,消息称,三星电子DS(设备解决方案)部门负责人全永铉正在进行内部组织大幅调整。他将三星HBM开发团队细分为标准HBM、定制化HB...

北森组织架构一览(北森总部地址)

北森的职级组织架构和职级名称都很有意思。可以作为企业参考。1)培养路径:森小白(BeisenNewcomer):新入职员工。森小贤(BeisenSage):L1层级森大侠(BeisenWarri...

高手正在使用的四个PLC编程思路,吃透让你少走20年弯路

在工业自动化领域,PLC(可编程逻辑控制器)编程是核心技能之一。掌握高效的编程思路不仅能提升工作效率,还能减少调试过程中的错误。以下是四条经过PLC工程师实践检验的编程思路,理解并运用这些思路可以让你...

取消回复欢迎 发表评论: