Dart – moje největší chyba v programování

Google vytvořit dobrý a použitelný programovací jazyk prostě neumí a pokud umí, zabije to vždycky něčím jiným (většinou neintuitivním editorem, případně Javou) a tak celý jazyk a jeho knihovny živoří, nikdo je nepoužívá. Pár odrážek úvah o Dartu:

  1. Google zařízl Dart Editor – vyzkoušel jsem spoustu editorů Dart kódu, z nichž některé se vzdáleně podobaly pokročilému IDE, ale nejlepší byl stejně Dart Editor. Z Dartu mám poněkud rozporuplné pocity.
    Ne přímo z toho jazyka, ten je super až na tu konvenci velkých a malých písmen (ale to může být o zvyku z C#), na to že je postaven na netypovém JS, ale z Dart Editoru, který je postavený na javovém Eclipse, který je hrozný, jen Dart editor je ještě více nedotažený, je to kompletně ořezaná Eclipse a v reálu jen velmi těžko použitelná.
    Štve mě to automatické doplňování proměnných, které jsou v názvu, i když v kontextu volání vůbec neexistují. Štve mě i to jak se zobrazuje proměnná objektu – prvně v malém okně, které si můžete tahem zvětšit ale běda pokud na milisekundu zajedete mimo – hned se vám celé okýnko ztratí. Štve mě, že automaticky nevytvoří handler metody s typovými parametry.
    Ono to jde ale musíte si to napsat sami – ve C# a VS stačí napsat název události a zmáčknout 2x tab – a typový handler máte vytvořený. Zkusil jsem i eclipse s pluginem do Dart editoru ale je to strašný moloch.
    Jen 10 minut se mi stahovaly informace zda program nemá nějaké aktualizace. Navíc je i velice hnusný, stejně jako všechny Java programy.
  2. Neexistují MasterPages – Toto je chyba samotného Dartu. Tak jako všechno v programování se dá většinou nějak obejít, lze to i tu přes nějaké handlery atd. Jenže to je nepohodlné. Jednostránkovým aplikacím to nevadí, jenže který web má dnes jedinou stránku.
    Jasné, napadá mě že by šlo vytvořit jakousi masterpage jako index.html a do ní dynamicky načítat obsah. To mě napadlo až teď, je to celkem dobré řešení, ale je nutné při načtení stránky načíst veškerý JS všech stránek webu, což je u rozměrnějších webů hodně divoké. Je pravda že něco z toho bude Dart SDK.
  3. Všechno je Java-based.
    Takže to je pomalé, složité, náročné na výkon CPU a dalších HW součástek a z toho všeho je člověk akorát nervózní.
  4. Ani AtScript to nezachrání – AtScript je nadstavba nad TypeScriptem. To vypadá jako lepší cesta než Dart, protože existující kód JS je funkční kód AtScript i TypeScript.
    Google to ale zase nebude umět prodat, prosadit, IT svět je už znechucený Dartem, tak bude přistupovat k AtScriptu s podezřením. Jediný, kdo nad AS bude jásat, budou Google maniaci.
  5. Ani Google podle mě v Dartu nevyvíjí – někde jsem kdysi dávno četl že Google přepisuje celý Gmail do Dartu.
    Už nikdy jsem pak o tom neslyšel. Tohle byla jediná zmínka o tom že Dart někdo z Googlu používá k vývoji.
  6. Packages odkazují do složky AppData uživatelského profilu přes junctiony – spoustu IDE a programů s tím mám problém.
    Například na Windows se nemůže spustit z Chrome Dev Editoru pub get, musí se to asi přes příkazový řádek. V Chrome OS a jiných OS nevím jak to funguje.
  7. Výstup Dart2js – nevím co to má znamenat, proč je ten kód takhle obfuskovaný, a místo 2 řádků které tam napíšu já je jich tam dalších 1000 minimálně. Je pravda že něco z toho bude Dart SDK ale to nemůže Google udělat 1 soubor v CDN s Dart SDK každé verze a takhle jej distribuovat.
    Kdo má pak ten kód ladit v prohlížeči, když neví, kde je jeho kód (všechny názvy proměnných jsou změněny).
  8. Podle mě Google Dart brzo zapíchne úplně – pochopí, že to je slepá cesta.
  9. Pokud někde publikujete původní Dart projekt/kód, musíte nauploadovat stovky souborů Dart SDK.
    Ty jsou ještě navíc dělané pro Unix based OS, takže pokud máte třeba FTP na Windows Serveru, některé soubory se nepodaří nauploadovat (nejvíce tím trpí Polymer za kterým stojí taky Google).
  10. Google se nikdy asi nebude mít k tomu, aby Dart VM implementoval do Chrome.
    Na jednu stranu to chce po firmách stojících za ostatními prohlížeči, přitom by stačilo udělat merge Dartium a Chrome.
  11. Jde sice používat JS kód v Dartu, ale ještě jsem to nezkoušel.
    Každopádně asi nepůjde napsat nějaké hlavičky pro typový přístup tak jako v TS *.d.ts, takže budete odkázáni si psát metody, které budou volat JS metodu.

Takže já jdu přepisovat svých 8 Dart webů a programů do TypeScriptu. Doufám, že Google Dart brzo zruší, ať mě to k němu již nikdy více netahne.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *