Dart - pro web aplikace rubrika: Programování: Jiné

5 cicobasket
položil/-a 24.7.2014

Rád bych oživil diskusi ohledně Dartu. Zajímalo by mne jestli jste na tom udělali už nějakou webovou aplikaci - datově založenou (řekněme typ malého informačního systému),jak se vám s tím dělalo, jaké problémy byly a tak.

Jde mi hlavne o frontend.Mojí hlavní pohnutkou je zbavit se Javascriptu, který fakt nezkousnu. Myšlenka Dartu se mi líbí a tak nějak předpokládám, že Google to bude trochu tlačit přes chromebooky a že z toho bude platforma, která bude "in", řekněme a bude mít budoucnost.

Nicméně zatím nejsem spokojen s průbehem. Ale to může být jenom můj pocit. Původní Web UI bylo nahrazeno Polymerem které je ve stavu developer preview. Zatím jsem to nezkoušel, ten koncept se mi v podstatě libí. Tedy bych uvítal nějaké reálné zkušenosti.

Komentáře

  • Augi : A co konkrétně ti na JavaScriptu tak hrozně vadí a Dart to řeší? Existuje dost etablovaných transpilerů (CoffeeScript, TypeScript) a pěkných knihoven (např. RxJS), které tě odstíní od ošklivých vlastností JavaScriptu. Takže bych JavaScript tak neodsuzoval, spíš ho ber jako takový assembler pro web (jak řekl někdo moudrý). 2.8.2014
  • cicobasket : K vlastnostem JS bych tu debatu nerad směroval, ale na JS mi vadí skoro všechno. Třeba TypeSkript jsem zkoušel a vcelku jsem byl nadšen i spokojen,v rámci možností, ale shánět k různým JS bastlítkům ty správné typové knihovny a jejich verze a aby to všechno ladilo, tak to mě tedy už nebavilo. Všechny ty JS tunítka jsou víceméně o tom, na jakou barvu je to "hovno" obarvený a jak moc silným nátěrem. Zatímco Dart se odtrhuje tak nějak komplexně, takže mi je to hodně sympatický. 3.8.2014
  • Twista : ad Shánění typových knihoven - existuje projekt DefinitelyTyped který tohle řeší (ve velké míře) 3.8.2014
  • Augi : Ad. hledání typových knihoven - viz Michal Haták (navíc nejsou nutně potřeba, protože TS je jen nadstavba JS). Stejně tak bys ale mohl říct, že vlastně úplně všechny jazyky jsou úplně naprd, protože to je jen silný nátěr okolo ASM. I Dart se kompiluje do JS, tak z principu nemůže být o nic lepší než ostatní transpilery... 4.8.2014
  • cicobasket : Myslím si, že tvoje pojednání o ASM versus transpiler je fakticky nesprávné protože ty transpilery jsou opravdu jenom nátěry, u kterých tak jako tak jednou narazíš na to, že pod tím to prostě smrdí. Asi těžko bys v C#rpu hledal cosi, co je "ohnuto kvůli" Assembleru, protože možnosti assebmleru jsou omezené. S Dartem se myslíš neb kompilace do JS je jenom jedna z možností, jak může ten kód být spušten. Jak sem řekl, téma bastlskriptu považuji za neplodné a nerad bych ho rozebíral. Valná většinu vlastností ohledně tohoto způsoby vývoje znám a nechci je rozebírat neb určitě nepovedou k memu prozření boží pravdy a lásky :-). 5.8.2014
  • Grelek : Dart se do JS kompiluje pouze "dočasně". Do budoucna je plán, že by měly prohlížeče obsahovat DartVM. 7.8.2014
  • Augi : cicobasket: Kde jsem nepsal, že kompilace do JS je jediná možnost, jak může být kód v Dartu spuštěn? Grelek: No nepovídej! To si opravdu myslíš, že bych diskutoval o něčem, aniž bych věděl takové základní věci? Anyway - Dart se nyní kompiluje do JavaScriptu, TypeScript/CoffeeScript/atd. se také "kompilují" do JavaScriptu. Takže vespod běhá ta samá VM. Takže Dart je stejný "nátěr". Žádnou další úroveň abstrakce nepřináší. 7.8.2014
  • Anonym : >>Dart se nyní kompiluje do JavaScriptu, TypeScript/CoffeeScript/atd. se také "kompilují" do JavaScriptu. Takže vespod běhá ta samá VM. Takže Dart je stejný "nátěr". Žádnou další úroveň abstrakce nepřináší.<< To prostě a jednoduše není pravda. TypeScript/CoffeeScript jsou jiná syntax pro stejnou sémantiku. Dart je úplně nová sémantika (konstanty a neměnitelné proměnné? mixiny? knihovny a viditelnost? noSuchMethod?). Sémantika navržená, pravda, tak, aby se dala rozumně kompilovat do JavaScriptu, ale stejně ten překladač musí udělat mnohem víc než "překladače" TypeScriptu, CoffeeScriptu a dalších, jak tady krásně zaznělo, "bastlskriptů", které jenom převádí syntax. (Bonus: nejvíc se ten překladač samozřejmě nadře na optimalizacích, díky kterým může být idiomatický Dart po překladu do JavaScriptu rychlejší než idiomatický JavaScript.) Ono je to ostatně dobře vidět na interoperabilitě s JavaScriptem. TS/CS/... nemají problém, protože je to prakticky totéž, kdežto v Dartu je to dost přes ruku, protože to prostě _není_ totéž. 8.8.2014
  • Taco : @Ladicek: Chápu co chceš říct. Ale přesto bych tě požádal, by si trochu vyladil argumenty. V čem je Dart tak zásadně jiný, než CoffeScript/PureScript/jiný? Nejlépe heslovitě, ať se vyhneme managerštině. 9.8.2014
  • Marek Sirkovský : @Taco, @Ladicek - taky by mě to zajímalo. Pokud se Dart kompiluje do JS, tak nemůže být v zásadě jiný než jiné typy transpilerů. Možná má o pár language-feature navíc, ale to bude asi tak všechno. Ohledně toho DartVM tak IMHO to je spíše takové zbožné přání nebo vějička pro přilákání vývojářů. Těch "VM" už to bylo vícero a víme jak dopadli:) 18.8.2014
  • Anonym : Není mi jasné, proč je pro vás JavaScript tak speciální. Je pro vás Céčko v zásadě totéž co Haskell, protože se kompilují do stejného strojáku? Jsou pro vás Java, Scala, Clojure a JRuby totéž, protože se kompilují do stejného bajtkódu? Nejsou, pravda? A když jsme u Javy, je pro vás Java v zásadě totéž co JavaScript, protože ji lze do JavaScriptu zkompilovat (GWT)? Není, pravda? S jazyky kompilovanými do JavaScriptu je to, pravda, trochu složitější, protože je jich tolik; od jazyků, které pro to nikdy nebyly navrženy (Java), po jazyky, které přejímají běhovou sémantiku JavaScriptu bez ptaní a řeší v zásadě jen syntax (to jsou ty *Scripty). Dart je někde mezi: je navržený s ohledem na JavaScript jako jedno z běhových prostředí (proto třeba nemá rozumné řetězce, tail cally nebo nelokální návrat, i když to všechno by v něm autoři rádi měli), ale pořád si zachovává svoji tvář (všechno je objekt, pro začátek?). Nevím, jak to mám jinak vysvětlit, ale na té interoperabilitě je to fakt dobře vidět. 23.8.2014
odkaz
8 siq
odpověděl/-a 24.7.2014

předpokládám, že Google to bude trochu tlačit přes chromebooky a že z toho bude platforma, která bude "in", řekněme a bude mít budoucnost

To som uz niekde pocul, len si spomenut kde...... ah! Uz to mam! Hovoril mi to jeden zakaznik, ked sa rozhodoval, ze svoj biznis postavi na GWT.
Taketo rozmyslanie moze byt velmi nebezpecne. Idealne je pouzivat to, v com sa vyvija najlepsie, je to najudrzovanie a ma najviac nastrojov. Vyberat si podla toho, co moze niekedy v buducnosti byt v mode sa moze cloveku velmi nepekne vypomstit.

Komentáře

  • cicobasket : No právě proto se ptám tady na reálný zkušenosti. On názor - co je nejudržovanější atp. - na tom frontendu není tak jednoznačný. Do světa javascriptových bastlítek jsem nakoukl a co jsem viděl se mi vůbec nelíbilo. Chromebooky se rozjedou o tom vůbec nepochybuju a google bude potřebovat nějakou platformu na které se bude rychle vyvíjet. Já si na to klidně vsadím :-). Mě jde hlavně o reálné zkušenosti. Schopným alternativám se v zásadě nebráním, ale zatím mi jde primárně o Dart. 25.7.2014
  • tdvorak : Taky jsme kdysi vsadili na GWT. Bylo to takové malé CRM pro pár typů objektů. Nikomu se nechtělo psát JavaScript ručně. Bylo to těžko udržovatelné, křehké, chyby se obtížně hledaly. Z části špatný návrh, z části pekelná technologie. Od té doby o GWT nechci slyšet :-) 25.7.2014
  • siq : Mne sa tiez JS velmi nepaci, len som poukazoval na riziko Dartu - Google sa Dart vykasle v momente, kedy nejaky ich clovek pride s "next big thing" presne tak, ako sa vykaslali na GWT. Preto hovorim, ze spoliehat sa na Google je v tomto ohlade velmi nebezpecne. Chromebookom inak neverim, na vacsine pocitacov v mainstreame sa ludia chcu hrat Windows hry. Chromebooky nedosiahnu ani taku penetraciu, ako maju Macbooky. 25.7.2014
  • siq : Teda, este aby som upresnil tu odpoved: Ak sa ti Dart paci, chod do toho! Ja len poukazujem na to, aby si nedufal, ze to Google bude nejako extra podporovat. Tak isto pocitaj s tym, ze skor ci neskor pride nieco lepsie nez Dart, a Google sa potom na to vykasle presne tak, ako sa vykaslali na GWT. 25.7.2014
  • cicobasket : Dobře, díky za varování. Budu na to myslet. 25.7.2014
  • Anonym : tdvorak: v našem případě byl GWT problém hlavně proto, že tu aplikaci psal neprogramátor/JavaSkriptař :-) Moje chyba, že jsem si to tehdy nepohlídal, nemuselo to tak špatně dopadnout. 8.8.2014
  • Anonym : Jinak, Google do Dartu investuje _mnohem_ víc než kdy investoval do GWT (Dart tým je asi 70 lidí!) a pokud se jim podaří dostat Dart do Chromia, jako že k tomu cílevědomě směřují (Dart je ECMA standard, i když to má podobnou příchuť, jako když v ECMA kdysi Microsoft standardizoval CLR a C#), myslím, že to nebude jen na pár let. Ovšem, nestane se to, pokud v té době Dart nebude mít dostatečně velkou aktivní komunitu... 8.8.2014

Pro zobrazení všech 6 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.