Rust_core 1.0: Vil ha alle fordelene til Rust i Dart

Rust-utviklere mente Dart hadde for mange mangler. Nå er versjon 1.0 av Dart-implementasjonen av Rust Core klar.

Dart har mye å lære av Rust, mente selskapet Voyver, og lagde rust_core (illustrasjonsfoto). 📸: NTB / Shutterstock
Dart har mye å lære av Rust, mente selskapet Voyver, og lagde rust_core (illustrasjonsfoto). 📸: NTB / Shutterstock Vis mer

Programmeringsspråket Dart er kanskje mest kjent som programmeringsspråket som brukes i Flutter, Googles rammeverk for kryssplattformutvikling. Google kaller det for et "klient-optimalisert" språk, men det kan også brukes til å skrive backendtjenester.

Men ikke alle er fornøyd med alt i Dart. Det amerikanske oppstartsselskapet Voyver mener Rust løser en del ting bedre enn Dart, skriver The New Stack.

Derfor har selskapet nå implementert hele kjernebiblioteket til Rust i en Dart-versjon som har fått navnet rust_core. Denne ble lansert i versjon 1.0 denne uken.

– Fra et språkperspektiv mener vi Dart dessverre har mangler på en del områder, som denne pakken løser, skriver selskapet i en FAQ.

«Vi fant ut at vi manglet et felles API.»

Sømløs integrasjon

Voyvers utviklere bruker både Rust og Dart, og i november i fjor annonserte Henry McMahon, som vedlikeholder biblioteket, at selskapet hadde utviklet rust_core for at du skal kunne "programmere i Dart som du ville gjort det i Rust".

– Vi fant ut at vi manglet et felles API for vårt team av i hovedsak Rust-utviklere, og i hovedsak Rust-kode. Rust_core løste dette for oss, sa McMahon til The New Stack da.

I forbindelse med lanseringen av rust_core v1.0.0 er det også laget dokumentasjon til biblioteket: Rust Core Book.

Der står det blant annet at "rust_cores" primære mål er å bringe Rusts funksjonalitet og ergonomi til Dart.

Reddit skriver selskapet at det å ha ett felles API på tvers av to ulike språk gjør at det blir enklere for Rust- og Dart-utviklere å jobbe sammen, og at utvikling går raskere blant annet på grunn av mindre "kontekst-svitsjing".

I dokumentasjon er det en kort gjennomgang for Dart-utviklere som ikke har erfaring med Rust, og vice versa. Som denne tabellen som viser hvilke typer Dart-utviklere får tilgang til ved å bruke rust_core i Dart:

📸: Rust Core Book
📸: Rust Core Book Vis mer

Bedre feilhåndtering

De som vil lese mer om alt som ligger i rust_core for Dart kan lese FAQ-en, der det er en punktliste med oversikt over Rust-funksjonalitet som Dart-brukere nå også kan få glede av.

Noen av fordelene går på enklere og bedre feilhåndtering, og redusert risiko for bugs eller at programmet krasjer.

For eksempel bruker Dart "try/catch exceptions", men med rust_core vil du nå kunne håndtere feil som verdier gjennom Result-typen. Det vil si at i stedet for å "kaste" en feil, vil du enten få returnert "ok" eller "err" med en tilhørende verdi.

McMahon har skrevet et blogginnlegg der du kan lese mer om hvorfor han mener Result-typen som brukes i Rust er en bedre måte å håndtere feil på enn Darts try/catch.

spørsmål fra en utvikler på Reddit, innrømmer McMahon at det kanskje kan være en liten terskel for Dart-utviklere å begynne å kode på en helt ny måte:

– Fra det jeg har sett, det eneste utviklere har slitt med å lære seg er det å bruke Result. Utviklere synes det er tungvint i starten, helt til de ser at kodekvaliteten øker og at det hjelper dem med å håndtere og debugge vanskelige problemer, skriver McMahon.