Dart (programspråk)

Från Wikipedia
Hoppa till: navigering, sök
Dart
Paradigm Objektorienterad, Klassbaserad
Gavs ut 2011
Utvecklare Google
Senaste version 1.3 (2014-04-09)
Datatypsdisciplin Valfri
Influerat av JavaScript, Smalltalk, Erlang, Strongtalk, C#
Licens BSD-licens
Webbplats https://www.dartlang.org/

Dart (ursprungligen kallad Dash) är ett programmeringsspråk för webben, ursprunglingen 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.

Projektet grundades av Lars Bak och Kasper Lund.

Användning[redigera | redigera wikitext]

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, så 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, så 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 SDKn 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 iså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 SDKn 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 SDKn är skrivna i just Dart, vilket gör att den självständiga Dart VM är en viktig del av SDKn. 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 | redigera wikitext]

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 | redigera wikitext]

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 | redigera wikitext]

Referenser[redigera | redigera wikitext]

  1. ^ ”JavaScript as a compilation target : Making it fast”. Dartlang.org. http://www.dartlang.org/slides/2012/10/jsconfeu/javascript-as-compilation-target-florian-loitsch.pdf. Läst 2013-08-18. 
  2. ^ ”Dartium”. http://www.dartlang.org/tools/dartium/. Läst 2013-07-21. 
  3. ^ ”Embedding Dart in HTML”. http://www.dartlang.org/articles/embedding-in-html/. Läst 2013-07-21. 
  4. ^ ”An Introduction to the dart:io Library”. http://www.dartlang.org/articles/io/. Läst 2013-07-21. 
  5. ^ http://c2.com/cgi/wiki?AlgolFamily