Deno 新推出 Fresh 框架:从编辑器到边缘计算,无需构建
Deno Inc 是为 TypeScript 和 JavaScript 提供开源运行时 Deno 项目的开发商,它正在为其产品添加一个无服务器平台和 Web 应用程序框架。
Deno 使用 Rust 编写。使用 Google Chrome 使用的 V8 运行时,由 Node.js 的作者 Ryan Dahl 创建。
Deno 支持 TypeScript 作为其主要语言,并支持包括 ES 模块在内的现代 Web API 作为标准。
2021 年 6 月,Deno 推出了Deno Deploy的第一个测试版,这是一种无服务器托管服务,目前在全球 33 个数据中心运行。
“Deploy 不在 AWS Lambda 上运行,也不使用 Cloudflare Workers;这是一个具有独特设计的新系统,”Ryan Dahl 解释道。
Deno的Deploy 与 GitHub 集成,每次推送到链接存储库时都会立即更新应用程序。Deno原生支持 TypeScript、JSX(React 组件使用的 JavaScript 扩展)、ES 模块和远程 HTTPS 导入。
Deno Deploy 现在处于 beta 4 阶段,上个月末Deno提供了新的更新。
Ryan Dahl 最初的意图,现在被描述为“过于乐观”,他的想法在去年年底前实现全面上市。
“建立一个完整的无服务器系统有很多细节,我们不想急于求成,” Ryan Dahl 团队说。对通用可用性的最新估计是“2022 年第三季度”。
Deno 的付费计划与免费计划一起推出,每月 10 美元,最多可处理 500 万个请求,每个请求最多 50 毫秒的 CPU 时间。
伴随 Deploy 的是一个名为Fresh的新框架。Fresh 基于 Deno 和Preact,这是比 React 更小、更高效的版本。
与典型的 Node.js 项目不同,Fresh 不需要构建或转译步骤。
它的文档说,开发人员编写代码,将其推送到 Deno Deploy,然后“从那里一切都由框架处理”。
我们快速浏览了一下,很快就遇到了一些比较粗糙的问题:安装了 Deno 1.13,根据文档,需要 Deno 1.12 或更高版本,但直到我们升级到最新的 1.22 才有效。文档比较比较粗略,提供了入门教程,但“概念”部分中的关键主题(如样式和数据获取)是空白的。
当然,如果综其所述,一旦配置了编写代码、将其推送到 GitHub 并在 Deno Deploy 上几乎即时自动更新的体验,这是非常棒的体验。
值得开发者注意的是,Fresh 目前将此功能标记为“请勿用于生产”,因为一切都可能发生变化!
Fresh 与 Deploy 的结合与 Next.js 和其他 Jamstack 和Node框架有很多共同点——Netlify 的 Matt Biilmann 上个月很好地解释了其基本原理。Netlify 使用 Node.js 和 React 而不是 Preact,但也使用了 Deno for Edge 功能。
人们将 Next.js 定位为更成熟的方法是合理的,而 Fresh 则更激进但仍处于早期阶段。
“开发体验更像或接近于 PHP 的早期,” Hacker News 的一位开发人员说。他巧妙地表达了 Fresh 在简化体验方面的优势,以及旧方法在新的和“新鲜”时同样出色的事实。
作者:场长
相关阅读:
使用 Deno、WebSockets、Chart.js 和 Materialize 构建实时图表