2013-09-27 11 views
5

Nella mia applicazione genererò grandi classi di freccette. In questo momento li compilo sul server, che richiede tempo alla CPU. Sarebbe molto meglio compilare il codice Dart all'interno del browser. Il codice viene quindi caricato tramite spawnURI.Compilare la freccetta nel browser

È possibile richiamare il compilatore dart2js dal codice Dart in un modo supportato come è fatto in try.dartlang.org o devo copiare il compilatore nel mio progetto?

+1

Non è ... molto chiaro quello che stai cercando di fare. Compilate Dart to JS solo una volta, giusto? Oltre a try.dartlang.org la compilation sul server. Il compilatore dart2js non è scritto in JavaScript, non puoi eseguirlo sul browser. – JJJ

+0

Vorremmo saperne di più sul tuo caso d'uso. Ti va di chiedere a [email protected]? –

+0

Juhana, ma dart2js è scritto in dart, che puoi compilare con dart2js in javascript. Suona ricorsivo, ma è così che funziona;) –

risposta

4

Compilare Dart su JavaScript sarà più veloce sul server, perché è possibile eseguire dart2js tramite Dart VM. try.dartlang.org è in esecuzione in una versione speciale di dart2js, che non è stata unita al codice sorgente principale.

+0

Questo è quello che mi aspettavo :( –

+0

Puoi dirci di più sul perché vuoi compilare sul client? Sarà più lento. Grazie per lo sfondo. –

+1

Perché ogni invocazione di dart2js consuma almeno 3,5 s sul server Poiché non ho una server farm, ma in realtà solo un piccolo server virtuale che gestisce più client lo bloccheranno completamente, ad esempio se 10 client decidono di premere il trigger su dart2js compilazione all'incirca alla stessa ora, l'ultima deve aspettare fino a 35. Quindi, anche se la compilazione sul lato client richiederebbe più di 3.5s, sarebbe probabilmente più veloce che sul mio server ben caricato (che ha anche altre cose da fare). Inoltre, ogni client non solo attiverà la compilation una volta, ma più volte in breve tempo. –