Dart (programovací jazyk)
Author
Albert FloresDart (výslovnost [daːt]) je programovací jazyk vyvíjený společností Google, publikovaný jako otevřený software. Převážně se využívá pro web či mobilní aplikace, nicméně lze využít i na serveru nebo desktopových aplikacích.
Jedná se o objektově orientovaný, garbage collection jazyk se syntaxí podobnou jazykům Java nebo C. Dart lze kompilovat jak do strojového kódu tak do JavaScriptu.
Historie
Dart byl představen na GOTO konferenci v Aarhus, v Dánsku 10. října 2011. +more Tento projekt založili Lars Bak a Kasper Lund. Verze 1. 0 byla publikována 14. listopadu 2013.
V srpnu 2018 byla publikována verze 2. 0, kdy hlavní novinkou byla silná typovost. +more Další novinka přišla s verzí 2. 6 kdy díky dart2native, bylo už konečně možné kompilovat přímo do strojového kódu a nebylo potřeba mít Dart SDK pro běh programu. V roce 2021 přišla verze 2. 12 ve které se Dart stal plně sound null-safe jazykem, což do té doby byl poslední velký nedostatek v porovnání s ostatními výššími programovacími jazyky.
Použití
Jsou tři způsoby jak spouštět Dart kód
* Kompilovaný jako JavaScript * Samostatně díky Dart SDK * Ahead-of-time kompilace
Editory
Doporučené editory pro Dart jsou hlavně VSCode nebo vývojová prostředí od JetBrains (například Android Studio či IntelliJ IDEA) díky velice udržovaným pluginům pro tento jazyk. Pro rychlé prototypování a zkoušení Dart team udělal online editor [url=https://dartpad. +moredev/]DartPad[/url] který také nabízí i zvýrazňování kódu, statickou analýzu kódu a doplňování.
Isolates
Pro současný běh několik částí programu Dart využívá isolates, což jsou samostatné jednotky, které nesdílí paměť a komunikují přes zprávy. Každý Dart kód má minimálně jeden hlavní isolate. +more Od verze 2. 0 Dart na webu nepodporuje více isolates a doporučuje použít spíše Web Workers.
Příklady
Hello World. příklad: void main { print('Hello, World. +more'); } Funkce na výpočet n-tého čísla Fibonacciho posloupnosti: int fib(int n) => (n > 2) . (fib(n - 1) + fib(n - 2)) : 1;.
void main { print('fib(20) = ${fib(20)}'); } Ukázka třídy: import 'dart:math' as math;
class Point { final num x, y;
Point(this.x, this.y);
Point.origin : x = 0, y = 0;
num distanceTo(Point other) { var dx = x - other.x; var dy = y - other.y; return math.sqrt(dx * dx + dy * dy); }
num get magnitude => math.sqrt(x * x + y * y);
Point operator +(Point other) => Point(x + other.x, y + other.y); }
void main { var p1 = Point(10, 10); print(p1.magnitude); var p2 = Point.origin; var distance = p1.distanceTo(p2); print(distance); }
Reference
Související články
Externí odkazy
(anglicky) [url=https://dart.dev/]Oficialní stránka[/url] * [url=https://dartlang.cz/]Neoficiální stránka[/url] * [url=https://dartpad.dev/]DartPad[/url]
Kategorie:Skriptovací jazyky Kategorie:Google Kategorie:Objektově orientované programovací jazyky Kategorie:Software pod licencí BSD