Dart (ursprungligen kallad Dash) är ett programspråk för webben, ursprungligen utvecklat av Google och släppt som öppen källkod. Målet med Dart är att ersätta JavaScript som det största inbyggda scriptspråket i webbläsare. Dart ska försöka lösa problem med JavaScript, samtidigt som språket ska ge bättre prestanda.

Dart
ParadigmObjektorienterad, Klassbaserad
Gavs ut2011
UtvecklareGoogle
Senaste version3.2.6 (24 Januari, 2024)
DatatypsdisciplinValfri
Influerat avJavaScript, Smalltalk, Erlang, Strongtalk, C#, Java
LicensBSD-licens
Webbplatshttps://www.dartlang.org/

Projektet grundades av Lars Bak och Kasper Lund.

Användning redigera

Det finns tre huvudsakliga sätt att köra Dartkod:

Kompilerat till JavaScript: I nuläget när man kör Dartkod i en webbläsare kompilerar man Dartkoden till JavaScript med hjälp av dart2js-kompilatorn. JavaScriptkoden kan sedan köras på alla större webbläsare, och det krävs inget specifik stöd för Dart av webbläsaren, utan koden körs som vanlig JavaScript-kod. Genom automatiskt optimering av den kompilerade JavaScriptkoden, där bland annat onödiga kontroller och operationer tas bort, kan kod som från början är skriven i Dart och sedan kompilerad till JavaScript i vissa fall köra snabbare än handskriven JavaScript kod.[1]

I Dartium Webbläsaren: Dart SDK:n kommer med en version av webbläsaren Chromium, modifierad så att den har tillgång till en Dart VM. Denna webbläsare kan exekvera Dartkod direkt utan att först kompilera den till JavaScript. I nuläget används webbläsaren mest som ett utvecklingsverktyg när man utvecklar Dartapplikationer.[2] När man använder sig av Dartkod i webbapplikationer, så rekommenderas det att man har med en JavaScript fil, "dart.js", som kontrollerar om webbläsaren kör en Dart VM, och laddar i så fall antingen Dartkod eller kompilerad JavaScript-kod.[3] På så sätt garanteras att webbläsaren kan köra koden, oavsett om den har stöd för Dart eller inte, vilket gör att man redan idag kan skriva och köra Dartappar på alla stora webbläsare.

Självständigt: Dart SDK:n tillhandahåller även en självständig Dart VM, som inte är kopplad till en webbläsare. Detta tillåter Dart-kod att köras i exempelvis en kommandotolk. De flesta av verktygen i Dart SDK:n är skrivna i just Dart, vilket gör att den självständiga Dart VM är en viktig del av SDK:n. Dessa verktyg består inte enbart av dart2js kompilatorn, men också av ett pakethanteringssystem kallat pub. Dart kommer även med ett komplett standardbibliotek, så att utvecklare kan skriva fullt fungerande vanliga applikationer, såsom webbservers.[4]

Exempel redigera

Hello World exempel:

main()
{
  print('Hello, World!');
}

En funktion för att räkna ut det n:te Fibonaccitalet:

int fib(int n) => (n > 1) ? (fib(n - 1) + fib(n - 2)) : n;
main() {
    print('fib(20) = ${fib(20)}');
}

Influenser från andra programspråk redigera

Darts syntax är typisk för språk från ALGOL-familjen[5], såsom C++, Java, C#, JavaScript och andra. Darts syntax för att utföra flera metodanrop efter varandra på samma objekt kommer från språket Smalltalk.

Externa länkar redigera

Referenser redigera