Packt Publishing released a new book on Dart, called "Learning Dart". Both - Ivo and Dzenan - are Dartisans from hour one and experienced authors too. They are also running a great website for the book.
The authors wrote around 360 pages packed with interesting content to get you started with Dart. They start to cover language basics and even object-orientation basics but quickly head on to more interesting chapters like building models, forms, animation or how to develop business applications with dartlang.
One of the chapters which many of the readers will be interested in are the pages about DOM manipulation. Actually this chapter is packed with lots of information. After reading it, you'll be read to kick off. However "Learning Dart" expects you know what DOM is and also what CSS is. The examples are pretty interesting: in chapter 5 you are writing a ping-pong game.
Unfortunately it is not exactly less code to write for such a game and so you have sometimes to read through quite a couple of lines. The biggest source listing had more than four pages. The authors are explaining what they do but honestly it's not that easy to follow. There are markers in the code available which serve as reference points from the text. This is not enough for me as those markers are sometimes hard to spot. In the text markers are called "line numbers", but there are not line numbers which added to the confusion.
This is something I have expected the editors of PacktPub would have found. Actually this is permanent issue with this book: The overall readability could be improved with more work on the formatting. Source code could be organized better, line numbers would help and sometimes even the indentation is wrong. Also I dislike the type setting.
While we are at it, I found the code style was inconsistent. Sometimes one liners are having curly brackets, sometimes not. Sometimes a method is camel-cased, sometimes words are separated by underscore. Good editors should find that stuff and report.
But back to the book.
The good thing is authors do not stop with the "included batteries" of Dart itself but show what frameworks are being useful and available. In example you'll read what MVC/UI are available and what you can do with them. Although the individual descriptions are very short you'll find enough information to dig into the right frameworks for your current job. As a busy developer you'll will clearly appreciate the birds eyes perspective here.
The content of writing games is surely interesting, but the authors didn't forget that most of us are the nice developer from the next corner and we often don't write games. We write business applications for our Boss.
In example, the authors showed how to validate form data. They first start with how it is done with HTML5, which I think could have been cut off. However they show how one can validate in two different ways. For some reason I felt there should be a more elegant way to do it. The book gave me a good start, but then I felt I had to find the perfect solution on my own.
"Learning Dart" covers databases. This is great news, as direct access to databases like MySQL were not well-known before. The book shows whats available and then moves on to explain how to deal with MySQL. The chapter actually comes with a lot of code as well. If you are a little patient and willing to try to understand by yourself, you should be settled. In addition the book covers MongoDB which I didn't read as I am more into CouchDB.
The book covers a lot of material and is pretty much good for anybody who really wants to dig deep into Dart. However the PacktPub editors didn't do a good job actually. The general formatting is sometimes pretty tough to read. A few glitches here and there which should have been identified took away some fun from reading it. If the editors would have reported these issues the book would be much, much better. But well, we are developers and for that reason we maybe can live with that.
The content itself is interesting and shows quite a couple of great things. While the books title is "Learning Dart" it's not a book focused on the language itself. It's a book covering many aspects to learn to use Dart for daily programming. You should not be a total programming newbie to read this book.
After all I think one needs some patience with this book. If you focus on the content you'll be happy; if you love Shakespeare and do programming only in prime time you might not like it very much.
There were two very competent programmers writing this book and they give you a lot of inspiration here. With the right editing, this would have been a great book. Now I need to take away a few points - unfortunately.