إعداد Rust لـWebAssembly
اضبط بيئة تطوير Rust لاستهداف WebAssembly وبادئ مشروع WASM جديدًا
إعداد Rust لـWebAssembly درس مجاني في WebAssembly (WASM) for High Performance Apps على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في WebAssembly (WASM) for High Performance Apps، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة WebAssembly (WASM) for High Performance Apps 4 دروس في المجموع.
بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.
Rust & WebAssembly Setup
Welcome! Rust is a fantastic language for building high-performance WebAssembly (WASM) modules.
Its focus on speed, memory safety, and control makes it ideal for web applications needing native-like performance.
In this lesson, we'll configure your environment and create your first Rust-WASM project.
Verify Rust & Cargo
Before we dive into WASM, ensure you have the Rust toolchain installed. This includes Rustc (the compiler) and Cargo (the package manager).
- You can check by typing
rustc --versionandcargo --versionin your terminal. - If not installed, visit rustup.rs to get rustup, the official Rust installer.
First Rust Program
Let's confirm your Rust setup is working. Create a file named main.rs and add this code. Then run it using cargo run.
fn main() {
println!("Hello from Rust!");
}Install WASM Target
WebAssembly isn't a default target for Rust. You need to explicitly add it to your toolchain.
The wasm32-unknown-unknown target is a generic WASM target that doesn't assume any specific host environment (like a browser or Node.js).
Run this command in your terminal:
rustup target add wasm32-unknown-unknownMeet wasm-pack
Building Rust code for WebAssembly can involve several steps. That's where wasm-pack comes in!
wasm-pack is a powerful command-line tool that streamlines the entire workflow: compiling your Rust code, generating JavaScript bindings, and packaging it for web usage.
Install wasm-pack Tool
Since wasm-pack is a Rust application, you can install it using Cargo, Rust's package manager.
Run this command in your terminal:
cargo install wasm-packThis might take a moment as it compiles the tool.
Initialize WASM Project
Now let's create a new Rust project specifically for WebAssembly. wasm-pack can scaffold this for you.
Navigate to your desired projects directory and run:
wasm-pack new my-first-wasm-appThis command creates a new directory, my-first-wasm-app, with a basic Rust library structure ready for WASM.
Explore Project Files
Inside your new my-first-wasm-app directory, you'll find:
Cargo.toml: Rust's manifest file, defining project dependencies and metadata.src/lib.rs: This is where your Rust code for the WASM module will live. Unlike traditional Rust applications, WASM modules are usually libraries..gitignore: Standard Git ignore file.
Simple WASM Function
Open src/lib.rs. You'll see some boilerplate. Let's add a simple function that can be called from JavaScript:
The #[wasm_bindgen] attribute tells wasm-bindgen (which wasm-pack uses) to generate JavaScript glue code for this function.
use wasm_bindgen::prelude::*;
#[wasm_bindgen]
pub fn greet(name: &str) -> String {
format!("Hello, {}!", name)
}
// You might also find a #[wasm_bindgen]
// macro for a `start` function or other
// initial setup in a new project.Compile to WASM
With your Rust WASM code ready, it's time to compile it into a WebAssembly module and its JavaScript bindings.
Navigate into your project directory (my-first-wasm-app) and run:
wasm-pack buildThis command compiles your Rust code, generates the necessary .wasm and .js files, and places them in a new pkg directory.
WASM Setup Quiz
You've learned about the essential tools for Rust WebAssembly development. Which of the following commands are crucial for setting up a Rust environment for WASM and creating a new project?
Recap: Rust WASM Setup
Great job! You've successfully set up your Rust environment for WebAssembly development.
We covered:
- Verifying your Rust toolchain.
- Adding the
wasm32-unknown-unknowntarget. - Installing and using
wasm-packto initialize and build your first WASM project. - Understanding the basic project structure and a simple
#[wasm_bindgen]function.
Next, you'll learn how to load and run your compiled WASM module in a web browser using JavaScript!
الأسئلة الشائعة
هل درس «إعداد Rust لـWebAssembly» مجاني؟
نعم — نص درس «إعداد Rust لـWebAssembly» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة WebAssembly (WASM) for High Performance Apps، انتقل إلى CoddyKit PRO. تتضمن دورة WebAssembly (WASM) for High Performance Apps 4 دروس في المجموع.
ماذا ستتعلم في «إعداد Rust لـWebAssembly»؟
اضبط بيئة تطوير Rust لاستهداف WebAssembly وبادئ مشروع WASM جديدًا تتمرن على WebAssembly (WASM) for High Performance Apps مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ WebAssembly (WASM) for High Performance Apps؟
لا تُشترط خبرة سابقة. WebAssembly (WASM) for High Performance Apps على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «إعداد Rust لـWebAssembly»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس WebAssembly (WASM) for High Performance Apps هذا؟
نعم. كل درس في WebAssembly (WASM) for High Performance Apps يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- إعداد Rust لـWebAssembly
- كتابة دوال Rust لـWASM
- التكامل الفعّال بين JS و`wasm-bindgen`
- معالجة الأخطاء عبر حدود WASM