When I last looked into it, there had to be some strange stuff to be done, to call JS from Dart and Dart from JS.
It just didn't felt as naturally as in TypeScript or LiveScript.