Daniel Kolman

Dart, Frog, Fling, Toss, Tip a spol.

| 1 comments |

Kolem nového jazyka Dart vzniklo několik podpůrných (vesměs testovacích) projektů s kryptickými kódovými názvy. Nechť vám tento malý výkladový slovníček pojmů pomáhá k lepší orientaci v těchto nových krajinách.

  • Dartisan, Dartist, Dartian: Člověk programující v jazyce Dart.
  • DartC: Původní Dart-to-JavaScript transpiller, napsaný v Javě. Proslavil se tím, že dokáže z Hello World v Dartu vygenerovat 17272 řádků JavaScriptu. Nutno ovšem říci, že posměšné komentáře na adresu velikosti vygenerovaného JavaScriptu nejsou úplně na místě, protože se jedná o velmi ranou verzi Dartu, kde jde o ověření konceptu a ne o výkonnost. Konečným cílem je navíc spouštět Dart přímo v prohlížeči bez kompilace do JavaScriptu. Pokud použijete parametr –optimize, dartc vyprodukuje "jenom" necelých dva tisíce řádků.
  • Dart SDK: Předkompilovaný runtime Dartu pro Windows, Linux a Mac. Obsahuje dart.exe (samotná virtuální mašina) a Frog, kompilátor do JavaScriptu. Stáhnout si ho můžete ze serveru průběžných buildů zde (dart-win32.zip).
  • Frog: Novější Dart-to-JavaScript transpiller, napsaný v Dartu. Je rychlejší a efektivnější než DartC a ve výchozím nastavením generuje optimalizovaný výstup (na rozdíl od DartC). Má to být takový "default" kompilátor pro Dart. Součástí Dart SDK je frogc, který kompiluje Dart do JavaScriptu. Ve zdrojových kódech je ale i minfrog (dříve frogsh), který po kompilaci dokáže vygenerovaný JavaScript spustit pomocí node.js.
  • Leg: Experimentální doplněk kompilátoru Frog, jehož úkolem je prozkoumat potenciálně zajímavé věci jako inference typů, podpora pokročilých editačních nástrojů, adaptivní kompilace na klientu apod. Pokud něco Leg neumí, použije Frog. Více se dozvíte v README.txt. Momentálně to pro Dartisany není až tak zajímavá věc, ale skrývá v sobě potenciál, že se úroveň IDE a nástrojů pro Dart přiblíží zavedeným statickým jazykům.
  • Fling: Jednoduchý HTTP server napsaný v Dartu, který ale deleguje většinu funkcionality na jádro napsané v Javě. Umí spustit Dart na serveru a servírovat statický obsah. Neumí ale automaticky kompilovat klientské .dart soubory na .js, k tomu je potřeba mezikrok (původně v Pythonu). Dnes už jde zřejmě o zastaralý koncept, kdyby vás zajímalo víc podrobností, návod naleznete zde.
  • Toss: Server, který dokáže v HTML stránkách najít script tag odkazující na dart (<script type=”application/dart” src=”myApp.dart” />), za běhu zkompiluje daný soubor do JavaScriptu a výsledek vloží do posílané HTML stránky. Zjednodušuje vývojářské workflow na Ctrl+S, Alt+Tab, F5, odpadá nutnost spouštět po změně .dart souboru kompilátor. Toss využívá Frog ke kompilaci a spoléhá na funkce node.js, takže je nutné ho spustit pomocí minfrog, i když je napsaný v Dartu. Návod jak na to naleznete zde.
  • Tip: Malá aplikace postavená nad Toss, která umožňuje editovat kód v Dartu přímo v prohlížeči. Zajímavé je, že pro kompilaci Dartu do JavaScriptu nepotřebuje server, protože používá Frog přímo v browseru. Také obsahuje zárodek příkazové řádky (REPL). Více najdete zde.
  • Dartium: Experimentální verze prohlížeče Chrome (AKA Chromium), který umí spouštět skripty napsané v Dartu nativně. Dost bylo JavaScriptu! Zatím si ho ovšem musíte zkompilovat sami, pravděpodobně to je možné jen na Linuxu a Macu. Ano, hardcore weboví vývojáři si před začátkem projektu kompilují webový prohlížeč sami, ze zdrojáků (hned poté, co mají zkompilované jádro Linuxu:-)).
  • DART: Dallas Area Rapid Transit, ehm, teda vlastně kůl nový jazyk od gůglu.

(1) Comments

  1. Ladicek said...

    Když jsem dartc naposledy zkoušel, stav věcí byl takovýhle.

    dartc --out ~/hello.js ~/hello.dart: 17566 řádek, 548 kB

    dartc --optimize --human-readable-output --out ~/hello.js ~/hello.dart: 1706 řádek, 102 kB

    dartc --optimize --out ~/hello.js ~/hello.dart: 26 řádek, 20 kB

    Frog je samozřejmě úplně někde jinde, ale to má svoje důvody (Dartc je inkrementální překladač, čili o poznání složitější bestie).

    17. ledna 2012 18:33

Leave a Response