Dart (programovací jazyk)

Z Wikipedie, otevřené encyklopedie
Skočit na navigaci Skočit na vyhledávání
Dart
Dart programming language logo.svg
Paradigma multiparadigmatický: skriptovací, objektově orientovaný (založený na třídách), imperativní, reflexní, funkcionální[1]
Vznikl v 10. října 2011[2]
Autor Lars Bak and Kasper Lund
Vývojář Google
Typová kontrola 1.x: volitelná
2.x: statická[3]
Hlavní implementace Dart VM, dart2native, dart2js, DDC, Flutter
Ovlivněn jazyky Java, JavaScript, Smalltalk, Erlang, Strongtalk, C#
OS multiplatformní
Licence BSD
Web dart.dev
.dart
Přípona souboru .dart
Typ internetového média application/dart[4]
Standard(y) Dart Language Specification
Otevřený formát ano

Dart (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[5], nicméně lze využít i na serveru nebo desktopových aplikacích[6].

Jedná se o objektově orientovaný, garbage collection jazyk se syntaxí podobnou jazykům Java nebo C[7]. Dart lze kompilovat jak do strojového kódu tak do JavaScriptu.

Historie[editovat | editovat zdroj]

Dart byl představen na GOTO konferenci v Aarhus, v Dánsku 10. října 2011[8]. Tento projekt založili Lars Bak and 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[9]. 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[10], což do té doby byl poslední velký nedostatek v porovnání s ostatními výššími programovacími jazyky.

Použití[editovat | editovat zdroj]

Jsou tři způsoby jak spouštět Dart kód

Nativní aplikace[editovat | editovat zdroj]

Google představil framework Flutter pro vývoj nativních mobilních aplikací pro Android a iOS[11]. Jedná se o kompletní opensource SDK napsané v Dartu s předpřipravenými widgety a nástroji pro kompletní vývoj mobilních aplikací.

Editory[editovat | editovat zdroj]

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[12]. Pro rychlé prototypování a zkoušení Dart team udělal online editor DartPad který také nabízí i zvýrazňování kódu, statickou analýzu kódu a doplňování.

Isolates[editovat | editovat zdroj]

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. Od verze 2.0 Dart na webu nepodporuje více isolates a doporučuje použít spíše Web Workers.

Příklady[editovat | editovat zdroj]

Hello World! příklad:

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

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[editovat | editovat zdroj]

  1. David Kopec. Dart for Absolute Beginners. [s.l.]: apress, c2014 Dostupné online. ISBN 978-1-4302-6482-8. Kapitola Functional programming languages, s. 56. (anglicky) 
  2. The official Google Code blog. Dart: a language for structured web programming [online]. Google inc., 2011-10-10 [cit. 2018-08-11]. Dostupné online. (anglicky) 
  3. Dart. Frequently Asked Questions (FAQ) [online]. Rev. květen 2018 [cit. 2018-08-11]. Dostupné online. (anglicky) 
  4. Media Type application/dart. www.iana.org [online]. [cit. 2014-02-08]. Dostupné v archivu pořízeném dne 2014-10-01. 
  5. Dart overview. dart.dev [online]. [cit. 2021-05-12]. Dostupné online. 
  6. Command-line and server apps. dart.dev [online]. [cit. 2021-05-12]. Dostupné online. 
  7. A tour of the Dart language. dart.dev [online]. [cit. 2021-05-12]. Dostupné online. 
  8. Presentations -> Opening Keynote: Dart, a new programming language for structured web programming. gotocon.com [online]. [cit. 2021-05-12]. Dostupné online. 
  9. MOORE, Kevin. Announcing Dart 2 Stable and the Dart Web Platform. Medium [online]. 2018-08-08 [cit. 2021-05-12]. Dostupné online. (anglicky) 
  10. Sound null safety. dart.dev [online]. [cit. 2021-05-12]. Dostupné online. 
  11. Flutter - Beautiful native apps in record time. flutter.dev [online]. [cit. 2021-05-12]. Dostupné online. (anglicky) 
  12. Tools. dart.dev [online]. [cit. 2021-05-12]. Dostupné online. 

Související články[editovat | editovat zdroj]

Externí odkazy[editovat | editovat zdroj]