3½ stars, rounded up to 4. Compared to the last two, it's just seems more... mundane? prosaic? Still really enjoyed it (and was reading it 3 + 4 chapt...more3½ stars, rounded up to 4. Compared to the last two, it's just seems more... mundane? prosaic? Still really enjoyed it (and was reading it 3 + 4 chapters at a time...) and/but/so brief anecdote:
I've never read this series. My son (currently 5½ as I write this) received the first book for Christmas 2012. So we've been reading them aloud together. As of Christmas 2013, we had read the first 3 books, and then he received the entire collection as a gift. So we read book 4. And as his dad I thought to myself: well that got dark in a hurry. And I figured maybe it was too frightening for him, or at least too heavy. But he insisted he could take it. And that he wanted to advance to book 5. So we did, and though it wasn't necessarily darker (because the surprise death of Cedric is still pretty much the pivotal moment in the series, in my opinion), when we reached the end of #5, he told me that it had "scary parts" and that he wanted me to read ahead to make sure it wasn't too scary. Anyway, I'm glad he did, because there were a few little bits in here that would be tough for him to digest. So there's that.(less)
Of the two books that were recommended to me (Papazian's The Complete Joy of Homebrewing, and Palmer's How to Brew), this is the one that "clicked"...moreOf the two books that were recommended to me (Papazian's The Complete Joy of Homebrewing, and Palmer's How to Brew), this is the one that "clicked" the best with me. Whereas Papazian's approach colloquial and laid-back, Palmer is a bit more methodical and scientific. This isn't to say that Papazian doesn't know his stuff, nor that he isn't scientific at all, but rather that it's more conversational and somehow that makes it harder to pull out the information that I felt I needed as a "what's a wort?"-stage beginner.
That being said: I found myself repeating Papazian's "don't worry...have a homebrew" mantra to myself every time Palmer started going deep on yeast starters or hop varieties but (but) if I had to pick only one then I'd pick Palmer. (But since I don't have to pick only one, I'll recommend both.)(less)
Short version: good survey of building modern web apps in the JVM eco-system, and/but more oriented toward Java developers, and hardly enough JS to pu...moreShort version: good survey of building modern web apps in the JVM eco-system, and/but more oriented toward Java developers, and hardly enough JS to put it in the title.
Saternos' basic approach here is to describe "modern" web applications as RESTful, API-based back-ends that primarily serve JSON to a rich front-end that is built around something like AngularJS. However, he doesn't limit himself to just the API and front-end layers here. Even a glance at the table of contents will reveal that he goes for breadth in his discussion: there are chapters on REST fundamentals and API design, API implementation with tools like Jersey, testing strategies with JUnit and Jasmine, build and deployment tooling, virtualization strategies, and more. The book's coverage is fairly shallow, but Saternos provides many references to other sources for richer coverage, and he also provides sample code with example implementations for each relevant chapter.
Was there anything missing? Yes and no... Again: the book is a shallow survey of these technologies, and as such it elegantly fulfills its main mission: to give an overview of the technologies that you would use when constructing a modern web application in the JVM. And again: there are plenty of references to solid foundational texts for those instances where you need to go deeper on some particular subject. But there are also seem to be some gaps.
First, some front-end developers may feel a bit lost coming into this; working in the JVM can be a bit daunting to the new-comer, and piling dynamic languages on top of this can be a bit eyebrow-raising. Part of me thinks that this is absolutely the right move -- I know a lot of front-end developers that are right at home in Ruby or Python, and so using JRuby or Jython as the introduction to the JVM makes sense. But there are also esoteric complications that come along with that which are not really addressed in the book. Not that a survey such as this is the right place to cover that kind of edge-case trivia, but a footnote to that effect may have been useful.
Second, the chapter on "Packaging and Deployment" focused exclusively on the server side of the web application with no substantive mention of how to package the front-end assets. Where was the discussion of minification and concatenation? Considering the depth of the discussion on REST and HTTP earlier in the book, I would have expected to loop back around on that here for a discussion of CDNs or Expires headers. This seemed like a lost opportunity to me.
In the grand scheme of what Saternos set out to do however, those critiques are pretty minor. That he assumes the reader has more familiarity with the JVM than with front-end technologies is evident, but not a detriment. The book is a good look into what technologies and techniques make up a "modern" web application, and though there is plenty of room for disagreement about some of his recommendations, it is also a great "conversation-starter" for your project, and chances are that you'll learn about a thing or two that you'll want to chase down further.
DISCLOSURE: I received an electronic copy of this book from the publisher in exchange for writing this review.(less)
An artistic take on the alphabet. What I enjoyed most is all the creative ways that the letters are depicted, and it's a great way to talk about art w...moreAn artistic take on the alphabet. What I enjoyed most is all the creative ways that the letters are depicted, and it's a great way to talk about art with your kids (bit just the alphabet).(less)