入门实战,Dioxus Rust 用户界面开发框架,哇真香!

2024年 4月 17日 88.9k 0

大家好,我是渔夫。

今天分享主题,近期收到了许多伙伴私信,对这个框架表现出了浓厚的兴趣,并希望了解更多关于如何学习以及如何应用这个框架的知识,咱们简单聊聊!

什么是 Dioxus 框架?

Dioxus 它就是使用 Rust 编程语言构建的跨平台用户界面(UI)框架,是个可移植、高性能的框架,用于在 Rust 中构建跨平台的用户界面,是个非常棒的框架。

fn app() -> Element {
    let mut count = use_signal(|| 0);

    rsx! {
        h1 { "High-Five counter: {count}" }
        button { onclick: move |_| count += 1, "Up high!" }
        button { onclick: move |_| count -= 1, "Down low!" }
    }
}

Dioxus 可以做什么?

Dioxus 作为一个跨平台 UI 框架,拥有其高性能和跨平台的特性,特别适合于那些对性能要求较高且需要在多个平台上运行的应用程序如:

  • 桌面应用程序:制作网页程序桌面应用、静态站点、移动端应用,图像编辑工具、文本编辑器。
  • Web应用程序:比如电子商务平台、电子商务平台等。

如果,你之前熟悉了 React,那么会发现 Dioxus 的学习曲线相对平缓,因为 Dioxus 在设计上借鉴了许多 React 的设计理念和模式。

如果像我一样新手,不过有 GPT 的时代,应该不会那么难,学习成本很低了。

Dioxus 入门

首先,学习任何语言框架,推荐去翻开官网或 Github 上的案例,然后模仿几个小 Demo 辅助 AI 工具,学习会事半功倍!

Hello world 开始吧!

创建项目:cargo new --bin Hello-dioxus

添加依赖库:cargo add dioxus --features desktop,根据自己需求来添加 Feature

use dioxus::prelude::*;

fn main() {
    dioxus::desktop::launch(App);
}

fn App(cx: Scope) -> Element {
    cx.render(rsx! (
        div { "Hello, 你好!" }
    ))
}

运行项目:cargo run

解释:

  • dioxus::desktop::launch(App),来启动桌面应用程序,这时App 函数将在启动时被调用。
  • fn App(cx: Scope) -> Element { ... }: 接受 Scope 参数并返回 Element 的函数。在 dioxus 中,Scope 是一个用于构建 UI 的上下文对象,Element 则是 UI 元素的抽象表示。提供显示的数据处理、获取方法,提供了渲染等功能
  • cx.render(rsx! ( div { "Hello, 你好!" } )): 该代码使用了一个宏 rsx!,它提供了类似于 React 中 JSX 的语法来描述 UI,并且它创建了一个 div 元素,其中包含了文本 "Hello, 你好!"。简单点说,使用 cx.render() 去渲染了一个页面。

好了,今天就扯这么多,下期聊聊 UI 设计及一些基本用法

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论