查看原文
其他

TypeScript 5.4 带来的新工具类型,非常实用;Rust 全栈开发,未来可期!

小懒 FED实验室 2024-02-12
关注下方公众号,获取更多热点资讯

今天是坚持日更的第137天,如果文章对您有帮助,点击关注、点赞、在看支持我

TypeScript 新的实用工具类型:NoInfer

TypeScript 5.4 将带来一种新的实用工具类型:NoInfer,对于有多个候选推断类型的泛型函数来说,这将非常有用。

在下面的示例中,我们使用 NoInfer 来确保 "initial" 必须是传递的状态之一。

Rust 全栈开发,未来可期

推友 CodeToTheMoons 发布了一个视频,阐述了对 Rust 全栈开发的愿景,他认为 Rust 作为全栈开发利器,会有一个光明的未来。作者还列举了一些目前来说比较常用的框架, 对比了 Dioxus 和 Leptos 这两个框架。

视频地址:https://www.youtube.com/watch?v=tq3-M7QJiWg

Dioxus

https://github.com/dioxuslabs/dioxus

Dioxus 是一款基于 Rust 的、用于构建跨平台用户界面的框架(生态系统)。

  • 多平台:Dioxus 是一个支持多平台的开发包,这意味着它的核心代码可以在任何平台下被使用。与许多其他 Rust 前端工具包不同,Dioxus 与 Web-Sys 并没有本质上的联系。事实上,每个元素和事件监听器都可以在编译时被更改。
  • Web 支持:网页端是 Dioxus 最为重要的支持平台,要想让你的项目能够在 Web 中运行,首先会将其编译为 WebAssembly 并启用 Dioxus-Web 功能。WASM 有很多系统限制,这导致你的代码不能包含任何原生的系统调用(计时器,IO 等)
  • SSR 支持:Dioxus 支持 SSR 的服务端渲染。

Leptos

https://github.com/leptos-rs/leptos

Leptos 是一个全栈、同构的 Rust Web 框架,利用细粒度的反应性来构建声明式用户界面。

  • 全栈:Leptos可以用来构建在浏览器(客户端渲染)、服务器(服务器端渲染)中运行的应用程序,或者通过在服务器上渲染HTML,然后在浏览器中添加交互性(hydration)。这包括支持数据(资源)和HTML的HTTP流(<Suspense/>组件的失序流)。
  • 同构性:Leptos提供了编写同构服务器函数的基元,即可以在客户端或服务器上以 "相同的形式 "调用的函数,但只在服务器上运行。
  • Web:Leptos是建立在Web平台和Web标准之上的。路由器被设计为使用Web的基本要素(如链接和表单)并建立在它们之上,而不是试图取代它们。
  • 框架:Leptos提供了你构建现代Web应用所需的大部分东西:一个反应式系统、模板库和一个在服务器和客户端都能工作的路由器。
  • 细粒度的反应性:整个框架是由反应式基元构建的。这允许以最小的开销实现极高性能的代码:当一个反应式信号的值发生变化时,它可以更新一个文本节点,切换一个类,或从DOM中删除一个元素,而无需运行任何其他代码。(所以,没有虚拟DOM!)。

大家都在看

继续滑动看下一个

TypeScript 5.4 带来的新工具类型,非常实用;Rust 全栈开发,未来可期!

小懒 FED实验室
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存