Fresh 1.1 正式发布,Deno 全栈 Web 框架


Fresh 1.1 稳定版已发布,新版本包含许多重要的改进,使 Fresh 更易于使用、更快,并且更实用。

Fresh 是 Deno 的全新全栈 Web 框架。默认情况下,使用 Fresh 构建的网页不会向客户端发送 JavaScript。该框架没有构建步骤,可以将部署时间缩短一个数量级。

Fresh 使用了一种不同的模型:默认情况下,开发者会将 0 KB 的 JS 发送给客户端。因为大多数渲染在服务器上完成,客户端只负责重新渲染交互性的小模块。这是一个开发者明确选择客户端渲染特定组件的模型。早在 2020 年,Jason Miller 在他的 Islands Architecture 博客文章中就描述了这个模型。

Fresh 核心是路由框架和模板引擎的组合,支持在服务器上按需渲染页面。除了在服务器中提供的即时 (JIT) 渲染之外,Fresh 还提供了一个接口,用于在客户端上无缝渲染某些组件,以实现最大的交互性。该框架使用 Preact 和 JSX(或 TSX)在服务器和客户端上进行渲染和模板化。客户端渲染在每个组件级别上是完全可选的,因此许多应用程序根本不会向客户端发送任何 JavaScript。

由于 Fresh 没有构建步骤,因此开发者编写的代码直接就是在服务器和客户端上运行的代码。将 TypeScript 或 JSX 转换为纯 JavaScript 的任何必要转换都是在需要时即时完成的。这允许通过即时部署实现非常快速的迭代循环。

因为 Fresh 非常依赖动态服务器端渲染,所以速度必须快。Fresh 非常适合在 Deno Deploy、Netlify Edge Functions 或 Supabase Edge Functions 等边缘 runtime 场景运行。由于渲染过程在物理上非常靠近用户,从而可以最大限度地减少网络延迟。

Fresh 亮点特性

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

Fresh 1.1 更新亮点:

  • 支持自动默认使用 JSX 模式
  • 插件
    • 增加官方twind插件
  • 支持 Preact Signals
  • 支持 Preact DevTools
  • 显式渲染 404 页面
  • 支持叠加中间件
  • 实验性支持 Deno.serve
  • 增加 Showcase & "Made with Fresh" 徽章

详情查看发布公告。


相关文章

2022-06-30

构建步骤,可以将部署时间缩短一个数量级。近日,Fresh 发布了第一个稳定版本。 Fresh 使用了一种不同的模型:默认情况下,开发者会将 0 KB 的 JS 发送给客户端。因为大多数渲染在服务器上完成,客户端只负责重新渲染交互

2022-06-14

Deploy 这样的边缘运行时可获得最佳体验。目前 Fresh 尚未正式发布,仍处于频繁更改核心功能的阶段,请勿在生产环境使用。 延伸阅读 Node.js 之父谈 JavaScript 容器

2022-06-18

Deno 1.23 已发布,值得关注的更新包括: 默认不进行类型检查 当要求执行一个程序时,Deno 总是运行一个类型检查。然而,评估和类型检查是完全不同的操作,涉及完全不同的编译器,每个编译器的执行速度也完全不同。评估代

2022-06-12

引言 凡是可以用 JavaScript 来写的应用,最终都会用 JavaScript 来写 | Atwood 定律 目前市面上出现的大多数与 NodeJS 相关的框架,基本都将 NodeJS 定位在工具层、中间层、代理层,很少在业务层面进行深耕,认为这是 JAVA 的领域

2022-09-24

更新内容 去除user全文索引 修正订单确认页优惠券列表错误 修正编辑器内容图片上传 调整notice目录结构 更新默认图片 更新直播名称格式 优化专题信息 优化router扫描 升级layui v2.7.6 增加用户协议和隐私政策

2022-07-21

宣布开源量子编程框架 Cirq 的第一个完整版本 :Cirq 1.0 正式发布。 Cirq 是一个 Python 框架,用于编写、操作和优化量子电路。它专为近期的量子计算机设计,这些计算机具有几百个量子比特和几千个量子门,而 Cirq 1.0 版本支持

2021-12-02

时面临的一些棘手问题,如今 Remix 关闭付费订阅模式,正式开源。 众所周知,在使用 React 开发单页面时,最常见的问题就是如果在 React 中使用客户端渲染(CSR,client-side rendering),就很难有好的 SEO。这是因为在 CSR 之下

2022-08-29

TypeScript 的运行时,它使用 V8 并以 Rust 构建。 Deno 1.25 已发布,值得关注的更新包括: deno init 子命令 用 Deno 启动一个新的项目一直很简单:你只需要一个文件就可以开始了。不需要任何配置文件、依赖清单或构建脚本。来自

2022-08-15

Erupt  通用后台管理框架 Erupt 是一个低代码 全栈类 框架,它使用 Java 注解 动态构建页面,及增、删、改、查、权限控制等功能。 零前端代码、零 CURD、自动建表,仅需 一个类文件 + 简洁的注解配

2022-05-20

Deno 1.22 已发布,主要变化如下: 更新默认的类型检查模式 移除不稳定的Deno.emit(), Deno.formatDiagnostics()和Deno.applySourceMap()API Deno 命名空间在 worker 中默认可用 新增--no-config flag Navigator.userAgent 升级Deno.resolveDns()

2022-06-23

Deno 运行时背后的同名开发商 Deno 于昨日宣布,它已完成了由红杉领导的 2100 万美元的 A 轮融资,使其融资总额达到 2600 万美元。Deno 首席执行官 Ryan Dahl 表示,此轮融资将帮助他们用于构建 Deno 的商业产品 —— Deno Deploy,并同

2022-07-23

TypeScript 的运行时,它使用 V8 并以 Rust 构建。 Deno 1.24 已发布,值得关注的更新包括: 类型检查和发射的性能改进 以前,当指定 --check 标志时,Deno 内部使用 TypeScript 编译器将 TypeScript 代码转换为 JavaScript,否则就使用 swc。在

2022-09-05

Erupt  通用后台管理框架 Erupt 是一个低代码 全栈类 框架,它使用 Java 注解 动态构建页面,及增、删、改、查、权限控制等功能。 零前端代码、零 CURD、自动建表,仅需 一个类文件 + 简洁的注解配

2022-08-13

peScript 的运行时,它使用 V8 并以 Rust 构建。 Deno 1.24.3 已发布,值得关注的更新包括: fix(ext/fetch): 添加 socks 代理支持 (#15372) feat(unstable/ext/ffi): 为 Deno.UnsafePointerView 添加静态方法变体 (#15146) fix(cli): 允许配置文件也成为 jso