2014-07-03 9 views
9

Stiamo provando a decidere se utilizzare Dart per creare un'app Web. Stiamo cercando una tecnologia che rimarrà altamente rilevante per i prossimi 5 anni.Google sta iniziando a utilizzare Dart? Hanno costruito un Closure (o GWT) per il compilatore di Dart?

Ora che le specifiche di EcmaScript 6 sono dietro l'angolo (dovrebbe essere fuori entro la fine del 2014) non possiamo prendere una decisione se Dart è davvero qui per rimanere a lungo termine.

Questo perché, per quanto ne sappiamo, manca un pezzo al piano originale di Google per Dash (ora Dart). Come originariamente pianificato da Google nel suo promemoria trapelato:

E le basi di codice esistenti per le grandi Google Apps? Non dovranno ricostruire tutto per sfruttare Dash? Il Dash Cross Compiler dovrebbe essere in grado di prendere il codice di chiusura tipizzato (con alcune restrizioni) e la conversione in Dash. Sebbene il processo di migrazione non sia completamente automatico, dovrebbe rendere più semplice lo spostamento verso una base di codice Dash.

Pertanto, questo è il motivo di questa domanda. C'è qualche sforzo fino ad oggi da parte di Google per costruire una chiusura (o GWT) per il compilatore o il traduttore di Dart? Inoltre, sai se Google ha iniziato a utilizzarlo per qualsiasi app web di produzione esistente o nuova? In altre parole, la nostra preoccupazione è che Dart sarà solo una lingua che è lì per riempire un periodo di transizione e per spingere Javascript ad iterare un po 'più velocemente, ma non appena i principali browser supporteranno ES6 (ed ES6 +) sarà abbandonato.

Non vogliamo iniziare alcun argomento sui pro e contro di Dart, abbiamo solo bisogno di alcune informazioni fattuali che potrebbero aiutarci in questa decisione chiave. Grazie

+0

Non credo che chiunque può garantire nulla. Ma se Dart VM diventerà parte di Chrome (versione consumer), allora sarà qualcosa. Dart potrebbe finire come linguaggio lato server primario, ma prima di iniziare qualsiasi progetto enorme, aspetterei prima che VM diventi parte del Google App Engine. Per i progetti di piccole dimensioni è assolutamente pronto e dart2js ha prestazioni davvero buone, a volte persino meglio di JS + scritto a mano fornisce shaking dell'albero. – JAre

+0

sì, conosco i meriti di Dart e penso che sarebbe pronto per il nostro progetto. Sono preoccupato solo perché sembra che Google non lo stia ancora utilizzando internamente. – Durden81

+0

https://www.dartlang.org/community/who-uses-dart.html – JAre

risposta

5

Finora mi sono sviluppato principalmente con GWT (web app scientifiche) ma recentemente ho anche iniziato a lavorare con Dart.

Google è fortemente investito in Dart (guarda tutti i dialoghi I/O), quindi non posso davvero immaginarli a farlo cadere. Anche ES6 risolverà alcuni problemi (moduli, classi, ecc.) Ma è ancora Javascript con tutti i suoi problemi e gli svantaggi.

Mentre si lavora con GWT c'erano due aspetti, che rendono in via di sviluppo su scala web-apps grandi effettivamente realizzabile:

  • linguaggio strutturato (Java) & tipi statici
  • compilatore

1.) Java è un linguaggio tipizzato staticamente e quindi consente di rilevare facilmente gli errori durante lo sviluppo. Inoltre è molto più facile refactoring il codice quando l'IDE comprende la struttura del codice.Gli stessi vantaggi si applicano anche a Dart.

2.) Sia il compilatore GWT così come il compilatore Dart sono abbastanza sofisticati Possono fare global optimizations (https://plus.google.com/111739836936169749229/posts/DSUgfWefyR3) e tree shaking (https://plus.google.com/110412141990454266397/posts/VK8URgZiLbS). Se sviluppi app web con 100.000 LOC, questo è abbastanza importante e cruciale.

Dart ha un grande vantaggio rispetto GWT relativo alla storia di sviluppo: Dartium ha la DartVM cotto in Questo rende lo sviluppo e iterazioni come conveniente come con Javascript (GWT ha SuperDevMode ma non è il più veloce)..

È possibile checkout Java2Dart che potrebbe essere utilizzato per transpile GWT codice per Dart

+0

Penso che GWT abbia avuto più tempo di trasmissione nei suoi giorni, ma potrebbe essere dovuto al generale spostamento di Google IO dagli sviluppatori al marketing e alle pubbliche relazioni. – JAre

+0

Il motivo per cui GWT non è stato incluso in I/O è che non è più di proprietà di Google e ha una propria conferenza per gli sviluppatori (GWT.create) –

+0

Sto parlando di come Google sembrava davvero impegnata a GWT in compressione per Dardo dal punto di vista della rappresentazione IO di Google. Quando GWT è entrato in scena, Google gli ha dato una grossa fetta di tempo di volo in onda, ma, tuttavia, ritira le risorse dal progetto e non riesco a vedere un tale impegno per Dart nemmeno in questa fase. Penso che stiano giocando davvero al sicuro ora. Anche GWT ha avuto una buona adozione (Sencha, Smart GWT, Vaadin, ecc.) Ma sono ottimista in generale. – JAre

2

Non ho sentito parlare di un convertitore Closure to Dart. Penso che questo sia obsoleto perché Dart può semplicemente utilizzare JavaScript di Dart-js-Interop. Ciò aiuta a migrare le app esistenti su Dart migrando la parte del codice per la parte.

Puoi porre tutte le domande che vuoi, non avrai la garanzia che Dart rimarrà, ma mi piace lavorare con Dart e quello che ho sentito fare anche a molti altri. Penso che questo dimostri che Google abbia creato un ottimo prodotto. Rimarrà se abbastanza sviluppatori saltano sul carro.