| I use Dart in production, it has its advatages like: 1.- It is better than JavaScript, is like using C# with a litle mix of Java. 2.- It comes with its own libraries, no more underscore.js or other patch libraries that JS needs, it is already in the toolkit. 3.- It comes with the Dart Editor, where you can debug your code easily, for scalable projects I find this to be invaluable. 4.- It will run in all your browsers, because it will export your code to JavaScript, but not only export it, it will optimize it and will run really fast. 5.- The pub library, go to pub.dartlang.org and you will find lots of packages that you can install and use, like a bootjack, a bootstrap port in Dart. There are prolly many more, but these are the ones that come to my head right now. But it also has its own problems like: 1.- No Dart support for Chrome yet and we don't know if there will ever be at this point. 2.- The generated JavaScript will be huge, and I mean huge, mine is like 460k per file and I'm not using polymer, when I used polymer the generated JavaScript was over one megabyte, just insane in the cloud. 3.- Get use to regressions, with every point update I've have issues, I upgraded from 1.4 to 1.5 two days ago, now my code is broken It runs, but it will for example run futures twice, So I went back to 1.4 for now, I had some other issues with UTF when migrating from 1.3 to 1.4 so, get use to. 4.- They are slow fixing bugs, looks like polymer and speed are their priorities, but when you need something trivial that other languajes have had for years and you report a bug it will get ignored, I've waited for 18 months and my open bugs are not fixed yet. I would say that Dart is nice and you should give it a chance. |
If you include all of your 'standard' libraries in a JS app, it can be pretty big. I basically pull everything together for an Ember app I work on, and all-told it's ~3MB prior to minification. Minification takes it down to ~1.5MB, and Gzip-compression on the server takes it sub-1MB (can't recall the number off-hand). It's not that far off from what you might have in a JS-heavy app.