Deno 生态中的联盟框架

大家好,我是Echa。

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

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


Node 和Deno 的star


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

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

javascript的发展简史

结论

从实际的产出价值(公司和个人)来说,不管是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的组成


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

如下图:


Deno 官网



主流浏览器API支持图



Fresh 介绍

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

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

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

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

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

Fresh 亮点特性

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

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

如下图:


Fresh 官网


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项目有一个路线图,其中概述了一些即将推出的功能和改进。一些重点领域包括:

最后

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

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

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

展开阅读全文

页面更新:2024-05-01

标签:框架   维度   路由   服务器端   应用程序   中间件   客户端   生态   快速   代码   功能   联盟

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top