I’ve just discovered what Dart’s about by watching Bob Nystrom’s video – Dart’s plan to make it easier for you to build web apps.
In a nutshell:
- VM available for Chromium, compile to JS for use in other browsers
- can debug the source Dart code in Chromium (as opposed to generated JS)
- many nice language features, similar to JS but without many of the nastiness
- lambda functions
- proper scope, no hoisting
- Java-style class declarations, but optional – everything doesn’t have to be in a class
- avoids need for future proofing boilerplate – get functions have same syntax as variable access
- new DOM API
- dynamic, like JS, but with some optional static features at compile time e.g. optional types – that are enforced
- leads to much better tool support – Dart Editor IDE
- all the warnings, code navigation, refactoring support etc. you’re used to in IDEs such as Eclipse
- Tree shaking – the compiled code only includes the parts of libraries that you actually use – a sort of linker
- no need to avoid using that useful library just to avoid adding to page load time
It looks very promising to me and I look forward to experimenting with it soon.