Author: Chris Buckett
Publisher: Manning, 2013
Audience: Object-oriented programmers
Reviewer: Mike James
Dart is Google's "other language" but it could be important and there is a need for a good book to explain why Google thinks it's worth the effort.
Chapter 1 provides a more or less complete overview of everything covered by the book. The initial look at the Dart language made me enthusiastic to try the language out for real. It is the mark of a good book on any programming language if it succeeds in making you feel like downloading and experimenting with a program or two. For the experienced programmer this is a good introduction. The problem is that you might find it a bit too good, because it almost makes the rest of the book redundant. Chapter 1 is more or less the book in a nutshell.
From this point the book begins to work its way though most of the material in Chapter 1 only more slowly. Chapter 2 starts at the beginning with a hello world program and an explanation of how to run a Dart program. Chapter 3 deals with working with the browser to create a UI and handle events.
This brings us to Part III on client-side Dart apps. This is really a collection of techniques that allow Dart to work in the browser. Chapter 10 explains the idea of a single page app, but the feeling of deja vu is strong in the section on building a UI which was introduced in Part I.
The final part, IV, is about server-side Dart. Here Dart takes on Node.js, which is not a role many non-Dart experts would expect. Chapter 13 introduces the idea of running Dart on the server and the details of the HTTP server object. Chapter 14 is about web sockets and using CouchDB.The final chapter is about concurrency and isolates - Dart's unit of concurrency.
As a result I can recommend the book, but I'm still not sure about Dart.