Programovaniepokročilý

Čo je Dart?

Dart je objektovo orientovaný programovací jazyk vyvinutý spoločnosťou Google. Prvá verzia vyšla v roku 2011. Dart je primárnym jazykom frameworku Flutter, ktorý umožňuje vytvárať multiplatformové mobilné, webové a desktopové aplikácie z jedného kódu.

Definícia Dart

Čo je Dart

Dart je programovací jazyk vyvinutý v Google tímom vedeným Larsom Bakom a Kasperom Lundom. Bol predstavený na konferencii GOTO v októbri 2011. Pôvodne bol zamýšľaný ako náhrada JavaScriptu, ale skutočný úspech prišiel s frameworkom Flutter.

Dart je staticky typovaný jazyk s automatickým odvodením typov. Podporuje AOT (Ahead-of-Time) kompiláciu pre produkčné aplikácie aj JIT (Just-in-Time) kompiláciu pre rýchly vývoj s hot reload.

Dart a Flutter

  • Flutter — open-source UI framework od Google na vývoj multiplatformových aplikácií
  • Hot Reload — zmeny v kóde sa okamžite premietnu v aplikácii bez reštartu
  • Jedna kódová základňa — z jedného Dart kódu sa vygeneruje natívna aplikácia pre Android, iOS, web, Windows, macOS a Linux
  • Widget systém — UI sa skladá z kompozovateľných widgetov

Vlastnosti jazyka

Dart ponúka null safety (od verzie 2.12), async/await pre asynchrónne programovanie, mixiny, extension methods a isolates pre súbežné spracovanie. Syntax je známy vývojárom Java, C# alebo TypeScriptu. Dart má aj vlastný správca balíčkov pub s registrom pub.dev.

Praktický príklad

Príklad: Startup chce vytvoriť mobilnú aplikáciu pre Android aj iOS s obmedzeným rozpočtom.

Namiesto dvoch natívnych tímov (Swift + Kotlin) použije jedného vývojára s Dartom a Flutterom. Z jedného kódu vznikne natívna aplikácia pre obe platformy. Hot Reload umožňuje vidieť zmeny okamžite, čo zrýchľuje vývoj. Výsledná aplikácia beží pri 60 FPS s natívnym vzhľadom.

Často kladené otázky

Prečo sa Dart používa s Flutterom?

Dart bol špeciálne optimalizovaný pre Flutter. Podporuje AOT kompiláciu pre natívny výkon, JIT kompiláciu pre hot reload a má efektívny garbage collector. Dart a Flutter vyvíja rovnaký tím v Google.

Je Dart len pre Flutter?

Dart sa dá použiť aj na serverový vývoj (Shelf framework) a CLI nástroje. V praxi sa však takmer výlučne používa s Flutterom. Bez Fluttera by Dart pravdepodobne nebol populárny.

Je Dart podobný TypeScriptu?

Áno, Dart a TypeScript majú podobný syntax a oba sú staticky typované. Hlavný rozdiel je, že TypeScript sa kompiluje do JavaScriptu (web-first), zatiaľ čo Dart sa kompiluje do natívneho kódu (mobile-first cez Flutter).

Aký je výkon Flutter aplikácií v Darte?

Flutter aplikácie v Darte dosahujú takmer natívny výkon vďaka AOT kompilácii do ARM strojového kódu. Bežia pri 60+ FPS a sú rýchlejšie ako hybridné frameworky založené na WebView.

Súvisiace pojmy

Potrebujete pomôcť s webom?

Napíšte mi a poradím vám s vaším projektom. Prvá konzultácia je zadarmo a nezáväzná.