Rust — мощный язык системного программирования, известный своей безопасностью, производительностью и параллелизмом. С появлением WebAssembly (WASM) Rust теперь можно использовать для создания высокопроизводительных веб-приложений. В этой статье мы рассмотрим различные методы добавления элементов DOM с помощью Rust WebAssembly, попутно предоставляя примеры кода.
Метод 1: использование крейта web_sys
Крейт web_sys предоставляет привязки Rust для веб-API, включая манипуляции с DOM. Вот пример добавления элемента <div>в тело документа:
use wasm_bindgen::JsCast;
use web_sys::{window, document, Node, Element};
fn add_div_element() {
let window = window().unwrap();
let document = window.document().unwrap();
let body = document.body().unwrap();
let div = document.create_element("div").unwrap();
div.set_inner_html("Hello, Rust WebAssembly!");
body.append_child(&div).unwrap();
}
Метод 2: использование контейнера web-dom
Крейт web-dom предоставляет высокоуровневый API для управления DOM в Rust. Вот пример добавления элемента <h1>с текстом «Привет, Rust!» к телу документа:
use web_dom::*;
fn add_h1_element() {
let document = Document::new();
let body = document.body();
let h1 = Element::new("h1");
h1.set_text_content("Hello, Rust!");
body.append_child(&h1);
}
Метод 3: использование крейта webapi
Крейт webapi упрощает манипулирование DOM в Rust. Вот пример добавления элемента <button>с прослушивателем событий в тело документа:
use webapi::*;
fn add_button_element() {
let document = Document::new().unwrap();
let body = document.body().unwrap();
let button = document.create_element("button").unwrap();
button.set_text_content("Click me!");
button.add_event_listener(|_| {
console::log_1(&"Button clicked!".into());
});
body.append_child(&button).unwrap();
}
Rust WebAssembly открывает потрясающие возможности для создания высокопроизводительных веб-приложений. В этой статье мы рассмотрели различные методы добавления элементов DOM с помощью Rust, включая крейты web_sys, web-dom и webapi. Используя возможности Rust и WebAssembly, разработчики могут создавать эффективные и надежные веб-приложения.