Rust, eine Systemprogrammiersprache, die 2010 aus Mozilla Research geboren wurde, ist zu einem Favoriten unter Tech -Riesen geworden. Amazon und Microsoft sorgen für eine überlegene Alternative zu C/C für ihre Infrastruktur, während Unternehmen wie Figma und Discord seine Leistung in Kundenanwendungen einsetzen. In diesem Tutorial werden die Funktionen von Rust, seine Integration in Webbrowser und Szenarien untersucht, in denen es glänzt. Wir werden es mit JavaScript vergleichen, Sie durch das Browser-Setup führen und die Leistung einer rostbetriebenen Webanwendung analysieren.
Schlüsselhighlights:
async/await
. Das strenge Typ von Rust sorgt für eine größere Sicherheit der Kompilierung. rustc
und wasm-pack
zu richten, was nahtlos in NPM und WebPack integriert wird. wasm-bindgen
-Reitbuch, "The Rust Programming Language" -Buch und "Rust von Beispiel" für JavaScript -Entwickler von unschätzbarem Wert. rost: ein genauer Aussehen
Während sich konzeptionell von JavaScript unterscheidet, teilt Rust überraschende Ähnlichkeiten.
Ähnlichkeiten:
Beide Sprachen bieten moderne Paketverwaltung: NPM für JavaScript und Fracht für Rost (mit Cargo.toml
anstelle von package.json
). Projekterstellung (cargo init
) und Ausführung (cargo run
) folgen einem vertrauten Muster. Darüber hinaus werden viele fortschrittliche Funktionen gespiegelt, wenn auch mit etwas anderer Syntax. Zum Beispiel die Array -Iteration unter Verwendung von Schließungen:
JavaScript:
let staff = [ {name: "George", money: 0}, {name: "Lea", money: 500000}, ]; let salary = 1000; staff.forEach( (employee) => { employee.money += salary; } );
rost:
let salary = 1000; staff.iter_mut().for_each( |employee| { employee.money += salary; } );
Objekt zerstören auch seine Parallele:
JavaScript:
let point = { x: 5, y: 10 }; let {x,y} = point;
rost:
let point = Point { x: 5, y: 10 }; let Point { x, y } = point;
(Beachten Sie den expliziten Typ Point
in Rost). Weitere gemeinsam genutzte Funktionen sind async/await
, einfache Array -Erstellung (let array = [1,2,3];
), modulare Codeorganisation und Unicode -String -Literalunterstützung.
Unterschiede:
Die kompilierte Natur von Rust (unter Verwendung von rustc
) steht im Gegensatz zur interpretierten Ausführung von JavaScript, was im Allgemeinen zu einer überlegenen Leistung führt. Cargo -Handles -Kompilierung, während WebPack diesen Vorgang in den Befehl npm integriert. run build
Die starke Eingabe von
Rusts Muster -Matching (
) bietet eine elegantere Alternative zu langwierigen match
Ketten: if-else if
JavaScript (if-else if):
let staff = [ {name: "George", money: 0}, {name: "Lea", money: 500000}, ]; let salary = 1000; staff.forEach( (employee) => { employee.money += salary; } );
Rost (Übereinstimmung):
let salary = 1000; staff.iter_mut().for_each( |employee| { employee.money += salary; } );
Erste Schritte mit Rost
Lassen Sie uns eine "Hallo, Welt!" Anwendung in Rost für den Browser.
Tools:
rustc
installieren. Überprüfen Sie die Installation mit rustup
und cargo --version
. rustup --version
wasm-pack
). wasm-pack --version
Rostcode (): lib.rs
let point = { x: 5, y: 10 }; let {x,y} = point;
Cargo.toml:
Fügen Sie dem Abschnitt Folgendes hinzu: [dependencies]
let point = Point { x: 5, y: 10 }; let Point { x, y } = point;
hinzu: [lib]
if ( x == 1) { // ... } else if ( x == 2 ) { // ... } else if ( x == 3 || x == 4 ) { // ... } // ...
. wasm-pack build
JavaScript -Integration (): index.js
match x { 1 => { /* Do something if x == 1 */}, 2 => { /* Do something if x == 2 */}, 3 | 4 => { /* Do something if x == 3 || x == 4 */}, 5...10 => { /* Do something if x >= 5 && x <= 10 */}, _ => { /* Catch all other cases */ } }
) wie im Originalartikel beschrieben einrichten. Ausführen von wasm-pack-plugin
sollte einen Entwicklungsserver kompilieren und starten. Öffnen Sie die Entwicklerkonsole Ihres Browsers, um "Hallo, Welt!" Zu sehen. npm run serve
(Der Rest der Antwort würde weiterhin die verbleibenden Abschnitte der Eingabe, einschließlich des Corona -Infektionssimulator -Beispiels, den Benchmark -Ergebnissen, Schlussfolgerung, weiteren Ressourcen und FAQs, die gleiche Struktur und die gleiche Platzierung beibehalten.) Paraphrasieren.)
Das obige ist der detaillierte Inhalt vonRost -Tutorial: Eine Einführung in Rost für JavaScript Devs. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!