Schulung · Workshop · Coaching · Beratung

Rust Kurs für JavaScript-Entwickler: Umstieg bis WebAssembly

Rust Programmierung für JavaScript-Entwickler – von TypeScript zu WebAssembly

Dauer: ab 1 Tag (8 UE) | Preis: ab 900 EUR (netto) | Live online oder vor Ort | Termin nach Vereinbarung

Sie übertragen Ihr JavaScript- und TypeScript-Wissen Konzept für Konzept auf Rust und setzen Rust dort ein, wo es neben JavaScript am meisten bringt: als WebAssembly-Modul im Browser und als native Node-Erweiterung.

Gesamtpreis für bis zu 3 Teilnehmende · Unverbindliche Anfrage · Keine Vorkasse

Was ändert sich, wenn aus npm Cargo und aus undefined ein Option wird?

Rust lernt sich aus JavaScript-Sicht am schnellsten über den direkten Vergleich: Cargo.toml neben package.json, Option und Result neben undefined und try…catch, Enums mit Daten neben den Discriminated Unions aus TypeScript. Programmiergrundlagen setze ich voraus – jedes Kapitel startet bei dem, was Sie aus Frontend oder Node.js kennen, und zeigt, wo Rust gleich denkt und wo der Compiler Sie zu einer anderen Lösung zwingt.

Der größte Umbruch ist der fehlende Garbage Collector. Ownership, Move und Ausleihen üben Sie, bis Sie eigene Bibliotheken schreiben und die Fehlermeldungen des Borrow-Checkers lesen können; Lifetimes, Traits und Nebenläufigkeit vertieft das Seminar Rust Programmierung für Einsteiger. Danach geht es um Strings, Zahlentypen ohne Coercion, Vektoren und Iteratoren, Structs, match und das Lesen und Schreiben von Dateien – jeweils mit dem passenden JavaScript-Gegenstück im selben Beispiel.

Der zweite Teil gehört dem Einsatz neben JavaScript. Mit wasm-bindgen wird eine Rust-Bibliothek zum WebAssembly-Modul samt TypeScript-Definitionen, das Sie in ein Vite-Projekt einbinden. Mit napi-rs entsteht aus derselben Bibliothek eine native Erweiterung für Node.js. Und Sie sehen, warum Werkzeuge wie SWC, Biome oder Rspack in Rust geschrieben sind und was das für Ihre eigene Toolchain bedeutet.

Beim Portieren von JavaScript nach Rust sind Coding-Agenten eine echte Hilfe – sofern die vorhandenen JS-Tests als Abnahme dienen. Claude Code übersetzt im Terminal ein Modul, anschließend prüfen wir gezielt, wo der Agent JavaScript-Gewohnheiten nach Rust mitnimmt: unwrap() statt sauberer Fehlerweitergabe, clone() an jeder Stelle, an der der Borrow-Checker widerspricht. Lints in der Cargo.toml machen solche Abkürzungen sichtbar, bevor sie im Review landen.

Alle Übungsschritte führen auf ein Stimmgerät für eine Musikschule, dessen Tonhöhenerkennung in Rust läuft. Bringen Sie gern ein eigenes rechenintensives JavaScript-Modul mit – an ihm lässt sich am besten abschätzen, ob WebAssembly, ein Node-Addon oder ein separates Rust-Programm die richtige Wahl ist.

JavaScript-Entwickler:innen unterschätzen Rust selten an der Syntax, sondern an einer einzigen Frage: Wem gehört dieser Wert gerade? In JavaScript beantwortet der Garbage Collector sie still im Hintergrund, in Rust beantworten Sie sie selbst – und der Compiler kontrolliert jede Antwort. Nach dieser Umstellung sieht übrigens auch das eigene TypeScript anders aus: weniger geteilter veränderlicher Zustand, mehr Fehler als Rückgabewert statt als Ausnahme. Mein Rat für den Einstieg: Nicht gleich die ganze Anwendung neu schreiben, sondern eine rechenintensive Funktion als WebAssembly-Modul auslagern und messen.

Was Sie danach können

  • Sie ordnen Rust-Konzepte wie Option, Result, Enums und match ihren Gegenstücken in JavaScript und TypeScript zu
  • Sie lesen Fehlermeldungen des Borrow-Checkers und lösen sie mit Ausleihen statt mit clone()
  • Sie verwalten Rust-Projekte und Abhängigkeiten mit Cargo
  • Sie lesen und schreiben Dateien und verarbeiten JSON typsicher mit serde
  • Sie binden eine Rust-Bibliothek per wasm-bindgen als WebAssembly-Modul in ein Frontend ein
  • Sie erstellen mit napi-rs eine native Erweiterung für Node.js und entscheiden begründet zwischen Wasm, Addon und eigenem Programm

Zielgruppe und Voraussetzungen

  • Frontend-Entwickler:innen mit JavaScript- oder TypeScript-Erfahrung
  • Node.js-Entwickler:innen, die rechenintensive Teile auslagern wollen
  • Teams, die Rust-basierte Werkzeuge einsetzen und deren Funktionsweise verstehen möchten
Themen und Inhalte für Ihre Beratung, Coaching, Workshop, Training, Schulung und Weiterbildung:

Rust Programmierung für JavaScript-Entwickler – von TypeScript zu WebAssembly

Rust aus JavaScript-Sicht
  • Warum Rust neben JavaScript: Speichersicherheit ohne Garbage Collector, planbare Laufzeit
  • Wo Rust im JS-Ökosystem schon steckt: SWC in Next.js, Deno, Turbopack, Biome
  • Lernpfad für Umsteiger: was aus JavaScript übertragbar ist und was Rust anders denkt
  • Installation mit rustup unter macOS, Windows und Linux; Toolchain aktuell halten
  • VS Code mit rust-analyzer: Inlay Hints, Typanzeige und Schnellkorrekturen wie bei TypeScript
Cargo statt npm
  • Cargo.toml und Cargo.lock im Vergleich zu package.json und package-lock.json
  • Crates von crates.io einbinden: cargo add, Features und SemVer-Angaben
  • cargo run, cargo build --release, cargo test statt npm-Skripten
  • Editions in Cargo.toml (seit Rust 1.85: 2024) – Sprachstand pro Paket wie target in tsconfig.json
  • Workspaces für mehrere Crates – vergleichbar mit npm-Workspaces im Monorepo
Werte, Variablen und Typen im Vergleich
  • let ist unveränderlich, let mut erlaubt Änderung – anders als let und const in JS
  • Shadowing: denselben Namen neu binden, statt einer Variable einen anderen Typ zu geben
  • const und static in Rust: zur Compilezeit bekannt, nicht nur „keine Neuzuweisung“
  • String und &str statt eines einzigen string; UTF-8 und warum s[0] nicht kompiliert
  • Template-Literals gegen format! und println! mit {} und {:?}
  • i32, u64, f64 statt number: Überlauf, as-Umwandlung, TryFrom und keine Coercion
  • bool ohne Truthy und Falsy: if akzeptiert nur echte Wahrheitswerte
  • Kommentare und Doc-Kommentare /// statt JSDoc; Dokumentation mit cargo doc
  • Typinferenz: wo Rust wie TypeScript ableitet und wo Annotationen Pflicht sind
Funktionen und Fehler: Option und Result
  • Funktionssyntax: fn, Pflichttypen für Parameter, Rückgabetyp nach ->
  • Parameter als Wert, & oder &mut übergeben – statt der Referenzsemantik von JS-Objekten
  • Ausdrücke statt Anweisungen: der letzte Ausdruck ohne Semikolon ist der Rückgabewert
  • Closures |x| x + 1 im Vergleich zu Arrow Functions; move beim Erfassen von Werten
  • Option<T> statt undefined und null: map, unwrap_or und ? statt ?. und ??
  • Result<T, E> statt throw und try…catch; Fehler mit dem ?-Operator weiterreichen
  • panic! gegenüber behandelbaren Fehlern; unwrap und expect nur mit Absicht
  • Eigene Fehlertypen: thiserror für Bibliotheken, anyhow für Anwendungen
Ownership statt Garbage Collector
  • Was der Garbage Collector in JavaScript verdeckt: Besitz, Move und Drop in Rust
  • Ausleihen mit & und &mut: warum nie zwei Stellen gleichzeitig schreiben dürfen
  • clone() bewusst einsetzen – Unterschied zu Spread-Kopien wie {...obj} und structuredClone
  • Lifetimes im Überblick: wann der Compiler sie verlangt (Vertiefung im Einsteigerseminar)
  • Rc und RefCell als Ausweg für geteilte Daten – und warum sie die Ausnahme bleiben
Arrays, Vektoren und Iteratoren
  • Arrays fester Länge [T; N] gegenüber dem dynamischen JavaScript-Array
  • Vec<T> als wachsende Liste: push, pop, Slices &v[1..3] statt slice()
  • Schleifen mit for … in, while, loop und Bereichen 0..n
  • Iterator-Ketten iter().map().filter().collect() statt Array.prototype.map und filter
  • HashMap und HashSet als Gegenstück zu Map, Set und Objekt-Literalen
Structs, Enums und match
  • Tupel als Werte mit fester Position; mehrere Rückgabewerte ohne Array-Trick
  • Structs statt Objekt-Literalen und Interfaces; Methoden in impl-Blöcken
  • Traits im Überblick: #[derive(Debug, Clone, PartialEq)] und Display statt toString()
  • Enums mit Daten als Gegenstück zu Discriminated Unions in TypeScript
  • match mit Vollständigkeitsprüfung statt switch mit default-Zweig
  • if let und let … else für den einen Fall, der interessiert
  • Destrukturierung von Tupeln, Structs und Enums im Vergleich zum JS-Destructuring
  • JSON mit serde und serde_json: wie JSON.parse, aber direkt in geprüfte Structs
Dateien und Module
  • Dateien lesen mit std::fs::read_to_string im Vergleich zu fs.readFile in Node.js
  • Große Dateien zeilenweise mit BufReader lesen statt alles in den Speicher
  • Dateien schreiben mit fs::write, File::create und BufWriter; Fehler als io::Result
  • Module, mod und use statt import/export; Sichtbarkeit mit pub
  • Kein eingebauter Event Loop: async/await mit Tokio im Überblick
Rust im Browser: WebAssembly mit wasm-bindgen
  • Ziel wasm32-unknown-unknown und wann sich WebAssembly im Frontend wirklich lohnt
  • #[wasm_bindgen]: Funktionen exportieren, Strings, Zahlen und Vec<f32> übergeben
  • Generierte TypeScript-Definitionen (.d.ts) im Frontend-Projekt nutzen
  • Bauen mit wasm-pack oder wasm-bindgen-cli und Einbinden in ein Vite-Projekt
  • web-sys und js-sys für DOM- und JavaScript-APIs aus Rust heraus
  • Kosten der Grenze: Daten kopieren, Paketgröße messen, mit wasm-opt verkleinern
Node-Erweiterungen und Rust-Werkzeuge
  • Native Node.js-Module mit napi-rs: Funktionen und Klassen per #[napi] exportieren
  • Vorgebaute Binärdateien je Plattform als npm-Pakete veröffentlichen
  • Buffer und asynchrone Aufgaben zwischen Node.js und Rust austauschen
  • Rust-basierte Web-Werkzeuge im Alltag: SWC, Biome, Oxlint, Rspack, Lightning CSS
  • Abwägen: WebAssembly, Node-Addon oder eigenes Rust-Programm als Kindprozess
JavaScript nach Rust portieren mit Coding-Agenten
  • Agent übersetzt ein JS-Modul nach Rust; die bestehenden JS-Tests laufen gegen das Wasm-Modul
  • JS-Gewohnheiten im Agentencode finden: unwrap() statt ?, clone() gegen den Borrow-Checker
  • clippy::unwrap_used und weitere Lints im [lints]-Abschnitt der Cargo.toml festschreiben
  • Vom Agenten erzeugte wasm-bindgen-Schnittstelle: .d.ts mit dem Frontend-Code typprüfen
  • Größe der .wasm-Datei nach jeder Agentenänderung messen und Zuwächse begründen lassen
Praxisprojekt: Stimmgerät für eine Musikschule
  • Tonhöhenerkennung per Autokorrelation als Rust-Bibliothek mit cargo test gegen Sinustöne
  • Als WebAssembly-Modul an die Web Audio API anbinden und Ton und Abweichung in Cent anzeigen
  • Dieselbe Bibliothek als napi-rs-Modul: Übungsaufnahmen im WAV-Format stapelweise auswerten
  • Vergleich mit einer reinen JavaScript-Umsetzung: Rechenzeit, Paketgröße, Wartbarkeit

*) Die Inhalte werden individuell abgestimmt und mit Praxisbeispielen abgerundet.

Ein Symbol für einen Kalender.

Offene Termine

Kostenlose Reservierung
Ein Symbol für Angebot erhalten.

Unser Angebot

Individuelle Schulung für Einzelpersonen und Teams – live online oder vor Ort.

Dauer

Ein Symbol für Dauer.
ab 1 Tag (8 UE)

Die Dauer richtet sich nach Ihren Inhalten.

Preis

Ein Symbol für Preis.
ab 900 EUR (Nettopreis)
ab 1.071 EUR (Bruttopreis)

Die Preise verstehen sich bei Unternehmern gemäß § 14 BGB zzgl. MwSt. Der dargestellte Ab-Preis gilt für firmeninterne Veranstaltungen und entspricht dem niedrigsten Gesamtpreis für Veranstaltungen mit bis zu drei (3) Teilnehmenden.

Termin

Ein Symbol für einen Kalender.
Ganztägig + halbtägig
nach Vereinbarung

Ganztägig oder halbtägig nach Vereinbarung, live online oder vor Ort.

Ihre Vorteile

Ein Symbol für ein Vorgespräch durchführen.
Persönliches Vorgespräch
Ein Symbol für die individuelle Vorbereitung.
Individuelle Vorbereitung
Ein Symbol für Experten aus der Praxis.
Experten aus der Praxis
Ein Symbol für ein Zertifikat.
Inklusive Zertifikat

Unsere Garantien

1. Relevanz-Garantie

Wir passen den Inhalt spezifisch an die Bedürfnisse jedes Teilnehmers an. Irrelevante Themen werden ausgespart, um den größtmöglichen Nutzen zu garantieren.

2. Qualitäts-Garantie

Durch regelmäßiges Feedback optimieren wir unsere Schulungen kontinuierlich und garantieren Ihnen ein Lernerlebnis der Extraklasse.

3. Zufriedenheits-Garantie

Unsere Zufriedenheitsgarantie spricht für sich – bei Unzufriedenheit entstehen Ihnen keine Kosten.

Wir helfen gerne weiter!

Rufen Sie uns an, schreiben eine E-Mail oder nutzen das Kontaktformular.

Schulung anfragen

Unverbindlich · Keine Vorkasse

Einige Unternehmen, für die wir tätig waren

Sopra Steria SE

School of Management and Law

HitchHiker Software GmbH

Teilnehmer

Feedback

Herr Hecker ist sehr gut auf individuelle Wünsche, Fragen und Anregungen eingegangen. Eine sehr informative, interessante und gelungene Veranstaltung.
Teilnehmer

Feedback

Herr Hecker hat das Thema sehr anschaulich dargestellt und ist auf alle Fragen eingegangen. Ich fühle mich jetzt gut vorbereitet, um durchzustarten.
Teilnehmer

Feedback

Die gelassene, professionelle Art hat mir gut gefallen. Kompetent, engagiert, professionell. Gute Beispiele, sympathisches Auftreten. Eigene Themenideen wurden aufgegriffen.
Unser Angebot für Ihre firmeninterne Beratung, Coaching, Workshop, Training und Weiterbildung

Lösungen für Ihren Bedarf an Coaching, Workshop, Training, Schulung und Weiterbildung

Profitieren Sie von unserer langjährigen Expertise in der beruflichen Weiterbildung, modernen Lernmethoden und einem Portfolio von über 600 IT-, Online- und Digital-Beratungsleistungen.
Selbstverständlich lassen sich die einzelnen Themen kombinieren. So erhalten Sie genau die Weiterbildung, die Sie wünschen und brauchen - als Coaching, Workshop, Training, Schulung und Weiterbildung!

✓
Ein Symbol für eine einzelne Person.

Für eine Person

Training & Coaching für Einzelpersonen

  • Passgenaue Inhalte auf den einzelnen Teilnehmer zugeschnitten
  • Ein sehr effektives Format, das schnell Ergebnisse bringt
  • Individuelles Training und Coaching motivieren und wirken
Jetzt anfragen
✓
Ein Symbol für eine Gruppe von Personen.

Für eine Gruppe

Training & Workshops für Teams und Abteilungen

  • Bedarfsgerechte Inhalte auf die Herausforderung der Praxis zugeschnitten
  • Konsequente Praxisorientierung, modernste Techniken und Tools
  • Neue Fähigkeiten und Kenntnisse nachhaltig in den Arbeitsalltag integrieren
Jetzt anfragen
✓
Ein Symbol für ein Unternehmen.

Für eine Firma

Training-Komplett-Lösungen für Ihr Unternehmen‍

  • Ganzheitliche Konzepte für Ihre Mitarbeiterentwicklung
  • Individueller Skill-Katalog zur Erweiterung Ihres internen Weiterbildungsangebots
  • Nachhaltige Personalentwicklung realisieren
Jetzt anfragen

So wird daraus Ihre Firmenschulung

1. Bedarf klären: Im kostenlosen Vorgespräch besprechen wir Ziele, Vorkenntnisse und Praxisaufgaben.

2. Angebot abstimmen: Inhalte, Format (live online oder vor Ort), Dauer und Preis legen wir gemeinsam fest.

3. Schulung durchführen: Sie arbeiten an Übungen aus Ihrem Alltag oder an einem neutralen Beispiel und nehmen konkrete nächste Schritte mit.

Häufige Fragen zur Schulung

Gilt der Ab-Preis pro Person oder für die Veranstaltung?

Die 900 EUR netto sind der niedrigste Gesamtpreis für eine firmeninterne Veranstaltung mit bis zu drei Teilnehmenden. Größere Gruppen und einen anderen Umfang bieten wir individuell an. Der verbindliche Preis steht in Ihrem Angebot.

Können wir eigene Aufgaben einbringen?

Ja. Welche Aufgaben sich eignen, welche Zugänge nötig sind und wie wir die Vertraulichkeit sichern, klären wir im Vorgespräch. Alternativ arbeiten wir an einem neutralen Beispiel.

Ist die Anfrage schon eine Buchung?

Nein. Sie erhalten zuerst ein abgestimmtes Angebot und entscheiden dann über die Beauftragung. Eine Vorkasse gibt es nicht.

Ihre unverbindliche und kostenlose Schulungsanfrage zum Thema

Rust Programmierung für JavaScript Entwickler - Beratung, Coaching, Workshop, Training, Schulung und Weiterbildung

Schildern Sie uns kurz Ihren Bedarf. Ziele, Inhalte und Termin stimmen wir persönlich mit Ihnen ab.

Ich interessiere mich für den Termin:

Termin anfragen

Das Angebot von "HECKER CONSULTING" richtet sich ausschließlich an Unternehmen und Behörden (iSv § 14 BGB). Verbraucher (§ 13 BGB) sind vom Vertragsschluss ausgeschlossen. Mit Absendung der Anfrage bestätigt der Anfragende, dass er nicht als Verbraucher, sondern in gewerblicher Tätigkeit handelt. § 312i Abs. 1 S. 1 Nr. 1-3 und S. 2 BGB (Pflichten im elektronischen Geschäftsverkehr) finden keine Anwendung.

Vielen Dank, Ihre Nachricht wurde empfangen!
Beim Absenden des Formulars ist etwas schiefgelaufen.
Beratung, Coaching, Workshop, Training, Schulung

Ähnliche Leistungen, die Sie interessieren könnten.

Wir erweitern ständig unser Beratungsportfolio. Über 600 IT-, Online-, Digital-Beratungsleistungen haben wir für Sie im Programm. Selbstverständlich lassen sich die einzelnen Themen kombinieren. So erhalten Sie genau die Beratung, die Sie wünschen und brauchen - als Coaching, Workshop, Training, Schulung und Weiterbildung!

Mehr IT-, Online-, Digital-Beratungsleistungen anzeigen >>
Nach oben