My impressions of Dart
Why does Dart exist?
The one thing they did do, though, was make type declarations optional; they aren’t even used by Dart’s compiler since the team already knew how to optimize a language without types thanks to their V8 experience. The type information you add to a Dart program is there to act as documentation and to facilitate tooling support (e.g. refactoring, auto-complete, etc.). That’s probably the one feature it is most known for.
How did I learn Dart?
First I read the book, Dart: Up and Running. It’s a quick read and I was going to be traveling so it worked out nicely.
Second, I created a web app to make it easy to enter a history of trips that leads to GeoJSON output. I used AngularDart for the MVC framework and Bootstrap for the UI. The final result isn’t something I would want to promote for the general public to use, but it does the job for me in maintaining a GeoJSON file of the various trips my wife and I have taken. In the end I probably wrote about 600 lines of Dart code between the main logic, UI logic, and tests.
I did all of my coding using the Dart Editor. It’s basically an Eclipse RCP app that’s dedicated to Dart. It’s okay, but I could still tell I was using Eclipse which just isn’t my thing (I’m a Sublime Text/Vim user typically). There is a Dart plug-in for WebStorm if you prefer IntelliJ IDEs over Eclipse. But since the Dart Editor is so heavily promoted and all documentation assumes its usage I decided to stick with it the whole way through.
What is my opinion?
Dart is totally fine. I know that’s a somewhat bland answer with a positive twist, but there it is. I didn’t end up coming away disliking the language, but wasn’t energized by it either. If I was told at work I had to use Dart I wouldn’t throw a fit like I do for some other programming languages, but it wouldn’t be my first choice either. That’s my opinion of the language as a back-end language anyway.