Rust

Wir haben uns in der Programmiersprache Rust spezialisiert. Rust ist eine moderne Programmiersprache, welche es ermöglicht schnelle, sichere und effiziente Programme zu schreiben. Wir unterstützen Sie Ihre Projekte in Rust zu implementieren und stehen Ihnen mit unserer Expertise zur Verfügung.

Kontaktieren

Unsere Dienstleistungen

Wir sind Ihr erster Ansprechpartner rund um Rust.

Entwicklung

Wir entwickeln Ihre Projekte agil in Rust:

  • Greenfield
  • Refactoring
  • Portieren von Legacy Software
  • Wartung von bestehenden Projekten
  • Game-Engine Entwicklung
  • Async Network Services

Beratung

Wir beraten Sie gerne in allen Themen rund um Rust und seines Ökosystems.

  • Optimale Software Architektur
  • Performance-Optimierung
  • Hilfe bei der Auswahl von Bibliotheken
  • Verbesserung der Wartbarkeit
  • Lösung von schwierigen Problemen

Schulung

Alle unsere Schulungen werden digital angeboten und gerne erarbeiten wir auf Sie zugeschnittene Schulungsthemen:

  • Grundlagenschulung
  • Borrow-Checker
  • Einführung in ‘unsafe’ Rust
  • Async Networking
  • Alternativen zur vererbungsbasierten Objektorientierung

Was macht
Rust besonders

Rust verfügt standardmäßig zur Compile-Zeit Garantien, die bisher keine andere Programmiersprache unter den gleichen Performance Bedingungen bereitstelle konnte. Hier ein paar Punkte die in unseren Augen für Rust sprechen.

Performance

Rust ist eine komplierte Sprache welche ohne Garbage Collector auskommt. Das LLVM Backend von Rust erzeugt optimalen und effizienten Maschinencode. Durch verschiedene ‘Zero Cost’ Abstraktionen werden Programmierkonzepte höherer Ebenen ohne eine Verschlechterung der Laufzeitkosten effizient implementiert (z.B. Traits oder Static Dispatch).

Memory safety

Rust besitzt keinen Garbage Collector. Jedoch stellt Rust durch Verwendung des ‘Borrow Checker’ schon zur Compile-Zeit die Speichersicherheit her. In Rust können Sie immer sicher sein ob Daten auf den Stack oder auf den Heap gespeichert werden und Referenzen zeigen garantiert immer auf validen Speicher.

Fearless Concurrency

Der ‘Borror Checker’ von Rust verhindert Data Races zur Compile-Zeit. Sie können sich deshalb schon beim Komplieren Ihres Projekts sicher sein, dass ihr Programm frei von Data Races ist. Der Compiler unterstützt Sie beim Schreiben von sicheren und gleichzeitig schnellen Multi-Threaded Programmen.

Tooling

Rust hat ein erstklassiges Tooling. Programme wie ‘cargo’ (Build System und Packet Manager), ‘clippy’ (Linting), ‘rustfmt’ (Code Formatierer) oder ‘miri’ (Undefined Behavior Tester für ‘unsafe’ Rust) werden von der Rust Community bereitgestellt und sind in ihren Gebiet erstklassig. Außerdem gibt es sehr gute Unterstützung für IDE (rust-analyzer oder das Rust Plugin von Jet Brains). Mithin ist es möglich auch Debugger und Profiling Tools für C / C++ für Rust zu benutzen.

Async Networking

Das Async-Ökosystem von Rust ermöglicht es sicheres, effizientes und performante Web- und Networkservices zu erstellen. Projekte wie Tokio werden von den großen Cloud Platformen (z.B. AWS oder Azure) benutzt um Ihren Kunden erstklassige Services zur Verfügung zu stellen. Auch Netzwerprotokolle der nächsten Genration (z.B. QUIC) werden in Rust implementier, um die besonderen Eigenschaften von Rust zu nutzen (z.B. quinn, quiche oder neqo).

Game Development

Spieleentwickler aus der ganzen Welt schreiben Ihre Spiele in Rust um diese auf ein sicheres, effizientes und performantes Fundament zu setze. Native Bibliothekten können sehr einfach über FFI eingebunden und mit einer sicheren API abstahiert werden. Auch moderne Grafikbibliotheken wie z.B. DX12, Metal, Vulkan oder WebGPU können einfach und effizient aus Rust angesprochen werden. Außerdem gibt es viele Frameworks und Engines die mit Hilfe von Rust entwickelt werden (z.B. Bevy, Dims oder Geez).

Linux

Rust wird neben C die zweite Programmiersprache werden, die zur Entwicklung des Linux Kernel benutzt wird. Der Code des ‘Rust for Linux’ Teams wird bald seinen Weg in den Linux Kernel Tree finden und schon bald werden die ersten Treiber in Rust geschrieben werden können. Es wird erwartet, dass die Verwendung von Rust eine Erhöhung der Sicherheit und ein einfacheres onboarding neuer Entwickler ermöglichen wird.

Web Assembly

Web Assembly (WASM) ist die neue Ausführungsschicht der Webbrowser, die es Entwicklern ermöglicht High-Performance Code auf den Client auszuführen. Rust eignet sich für WASM vor allem deshalb, weil es keinen Garbage Collector verfügt und sich zu sehr effizienten WASM Code compilieren lässt. Auch gibt es Frameworks um Single-Page-Applications (SPA) in Rust zu schreiben (z.B. Yew).

Bereit mit Rust durchzustarten?

Dann kontaktieren Sie uns noch heute!
Kontaktieren