Rust gebruiken
ServBay biedt een toegankelijke toolchain-ondersteuning voor ontwikkelaars die op macOS willen werken met Rust. Met het pakketbeheersysteem van ServBay kun je eenvoudig de Rust-ontwikkelomgeving installeren en beheren, waaronder de compiler rustc
en het bouw- en pakketbeheersysteem cargo
.
Overzicht
Introductie tot de taal Rust
Rust is een moderne systeemprogrammeertaal die zich richt op prestaties, geheugensveiligheid en gelijktijdigheid. De taal werd oorspronkelijk ontworpen door Graydon Hoare van Mozilla Research en werd in 2010 voor het eerst gepresenteerd. De stabiele 1.0-versie verscheen in 2015. Het ontwerpdoel van Rust is om de prestaties en controle van C++ te bieden, maar met een innovatieve ownership- en borrowingsysteem dat geheugensveiligheid al tijdens het compileren waarborgt. Zo worden veelvoorkomende valkuilen van C/C++, zoals null-referenties, dangling pointers en dataraces, voorkomen zonder de noodzaak van een garbage collector.
Dankzij de veiligheid, snelheid en krachtige mogelijkheden voor gelijktijdigheid, is Rust razendsnel populair geworden binnen de ontwikkelaarsgemeenschap. Het wordt jaarlijks uitgeroepen tot "meest geliefde programmeertaal" in de Stack Overflow Developer Survey. Rust wordt breed toegepast bij systeemontwikkeling, backend webdiensten (zoals Actix Web, Rocket), WebAssembly, command-line tools, game engines, embedded systemen en meer.
ServBay's ondersteuning voor Rust
ServBay beheert de Rust-toolchain als een los pakket. Dit houdt in:
- Vereenvoudigde installatie: Het is niet meer nodig om handmatig installatiepakketten te downloaden of
rustup
te gebruiken voor een complexe installatie; met de grafische interface van ServBay is alles met één klik geregeld. - Integratie met de omgeving: Na installatie worden de commando's
rustc
encargo
automatisch opgenomen in de door ServBay beheerde terminalomgeving. - Uniform beheer: Je beheert Rust, samen met andere programmeertalen, databases en tools, via de geconsolideerde ServBay-interface.
Dit biedt een handig startpunt voor ontwikkelaars die aan systeemprogrammering doen, met WebAssembly werken, krachtige webservices bouwen of andere Rust-applicaties willen ontwikkelen.
Toegang tot het Rust-pakket
- Open de ServBay-applicatie.
- Klik in de navigatiebalk links op
Pakketten (Packages)
. - Scroll op de
Pakketten
-pagina naar beneden of selecteer onder het kopje linksLanguages
->Rust
. - In het rechtergedeelte verschijnt nu het beschikbare Rust-pakket. ServBay biedt doorgaans één stabiele versie van de Rust-toolchain aan.
Rust installeren
In de pakketlijst zie je de status van de Rust-toolchain:
- Pakketnaam: Bijvoorbeeld
Rust
. - Versie: Het versienummer van de Rust-toolchain in dit pakket (bijv. 1.86.0).
- Status: Geeft aan of het pakket
Installed
(geïnstalleerd) ofNot Installed
(niet geïnstalleerd) is. - Bediening: Knoppen voor de gewenste acties.
Rust installeren doe je als volgt:
- Controleer of de status
Not Installed
is. - Klik helemaal rechts op het Download/Installeren-icoon (meestal een neerwaartse pijl).
- ServBay gaat nu automatisch Rust downloaden en installeren.
- Na een succesvolle installatie verandert de status naar
Installed
en verschijnt het Verwijderen-icoon (prullenbakje).
Geïnstalleerde Rust beheren
- Geïnstalleerde versie bekijken: Kijk in de lijst naar de status
Installed
en het versienummer om te zien welke Rust-versie is geïnstalleerd. - Rust verwijderen: Wil je de door ServBay beheerde Rust-omgeving niet meer gebruiken? Klik dan op het Verwijderen-icoon (prullenbakje) en bevestig je keuze.
Rust gebruiken (Cargo & rustc)
Na installatie kun je in de door ServBay geactiveerde terminalomgeving de commando's cargo
en rustc
gebruiken.
Veelgebruikte commando's:
Rust-compiler versie controleren:
bashrustc --version
1Cargo-versie controleren:
bashcargo --version
1Nieuw Rust-project aanmaken (met Cargo): Cargo is de officiële buildtool en pakketmanager voor Rust; het wordt aanbevolen voor het aanmaken en beheren van projecten.
bash# Maak een nieuw binair project aan genaamd hello_servbay cargo new hello_servbay --bin cd hello_servbay
1
2
3Dit genereert een standaard projectstructuur:
Cargo.toml
: Configuratiebestand van het project (metadata, afhankelijkheden, etc.).src/main.rs
: Toegangspunt voor de broncode van het project.
Bekijk
src/main.rs
(standaardinhoud):rustfn main() { println!("Hello, world!"); }
1
2
3Het project bouwen en uitvoeren:
bash# Cargo compileert de code en plaatst het uitvoerbare bestand in target/debug, en voert het daarna uit cargo run
1
2Je zou nu de output
Hello, world!
in de terminal moeten zien.Alleen project bouwen (Debug-modus):
bashcargo build
1Het uitvoerbare bestand staat in
./target/debug/hello_servbay
.Project bouwen (Release, geoptimaliseerde modus):
bashcargo build --release
1Het geoptimaliseerde uitvoerbare bestand staat in
./target/release/hello_servbay
.Afhankelijkheden toevoegen: Bewerk het bestand
Cargo.toml
en voeg in het gedeelte[dependencies]
de gewenste bibliotheken (zogenaamde "crates") toe, bijvoorbeeld de populaire webframeworkactix-web
:toml[dependencies] actix-web = "4" # Specificeer de gewenste versie
1
2Voer vervolgens
cargo build
ofcargo run
uit; Cargo downloadt en bouwt de afhankelijkheden automatisch.
Webserver integreren (Rust Web-app deployen)
Webapplicaties gebouwd met Rust (bijvoorbeeld met Actix Web, Rocket, Axum, Tokio, e.a.) worden meestal gecompileerd tot zelfstandige, krachtige uitvoerbare bestanden.
Je kunt het gecompileerde binaire bestand direct in de terminal uitvoeren. Om deze via een standaardpoort (80/443) bereikbaar te maken en te profiteren van de domein- & SSL-beheerfuncties van ServBay, volg je deze aanbevolen methode:
- Maak in ServBay een website aan voor je Rust-webapplicatie.
- Configureer de webserver van ServBay (Nginx, Caddy, Apache) als reverse proxy en stuur inkomende verzoeken vanuit het domein van je website door naar de interne poort van je Rust-applicatie (bijv.
http://127.0.0.1:8080
).
Samenvatting
Dankzij de gemakkelijk te installeren en te beheren Rust-pakketten van ServBay wordt de drempel voor Rust-ontwikkeling op macOS lager. Je krijgt toegang tot de kerncompiler rustc
en de krachtige buildtool cargo
, waarmee je je volledig kunt richten op het schrijven van betrouwbare, hoogwaardige Rust-code. Met de reverse proxy van ServBay wordt het lokaal deployen van Rust-webdiensten bovendien bijzonder eenvoudig.