Paperback: 432 pages
Publisher: Manning Publications; 1 edition (September 30, 2013)
Language: English
ISBN-10: 1617290750
ISBN-13: 978-1617290756
Product Dimensions: 7.4 x 0.8 x 9.2 inches
Shipping Weight: 1.5 pounds (View shipping rates and policies)
Average Customer Review: 4.5 out of 5 stars See all reviews (63 customer reviews)
Best Sellers Rank: #276,154 in Books (See Top 100 in Books) #40 in Books > Computers & Technology > Internet & Social Media > Web Browsers #63 in Books > Computers & Technology > Software > Databases #201 in Books > Computers & Technology > Programming > Web Programming > JavaScript
Back in April I was asked to convert a small Flash based game to HTML5 (and its related technologies). As it turns out, I was starting a small SPA and didn't even know it (had never heard the term then). I'm an old programmer (non-web) that had virtually no JavaScript (or other web technology) experience. So over the last few months I have purchased lots of books and have been absorbing all these acronyms as fast as possible! I saw the pre-order of this book and it combines all of this into one book! I'm very excited about this book! I've only just started (read the first three chapters), but wanted to go ahead and start my review because Chapter 2 (Reintroducing JavaScript) alone has given me several eureka moments and if I read no further, the book will have been worth it! As for my game in progress, I will probably do a re-write using the models in this book as it has already given me answers to some of the issues I have been struggling with.I've read all the "must-read" JavaScript books (The Definitive Guide, Doug Crockford's book, etc...) and Chapter 2 of this book blows all those away (for certain concepts)! I could never fully "get" concepts such as Closures, Self-executing anonymous functions, and prototype vs. class. And low and behold this chapter covers exactly those concepts and makes them clear as day! The section on the execution context object and the JavaScript engine was perfect! Page after page I had "eureka" moments where I said to myself, "I get it now!" (these guys should write a JavaScript book). The analogies were perfect and for each concept they explained it in several different ways. I loved those multiple explanations, although more seasoned JavaScript programmers may find the repetition a bit boring.
MVC can be implemented by hand (roll your own), but as your application grows (with perhaps tens of states to manage) it quickly becomes unwieldy to continue to do so. Therefore, just as there are various frameworks/libraries for facilitating server-side MVC, many JavaScript frameworks/libraries have emerged for enabling client-side MVC, including Knockout, Backbone, Ember, and Angular. However, what sets this book apart is that the authors argue against using a client-side MVC framework. Having used several client-side MVC frameworks over the past few years, I can appreciate the stance taken by the authors.Just a couple of years ago, Knockout and Backbone were considered de facto standards for client-side MVC. Then, almost out of nowhere, came Angular, supported by Google’s seemingly infinite programming and marketing resources. But Angular is new and is still undergoing radical changes from release to release. As a result, documentation is often lagging and there are multiple ways to do the same thing: legacy approaches often co-exist with newer approaches, as if to see what sticks. Furthermore, each of these “automatic two-way data binding” frameworks requires the programmer to accept some rigidity in exchange for convenience.In case you’re wondering, it’s clear that the authors aren’t “roll your own” advocates. It’s just that they don’t want to invest in an immature or rigid client-side MVC framework. Although Angular is gaining traction, as of now there are no client-side MVC frameworks that can reasonably be termed as mature. As evidence of the authors’ level-headedness, consider their testing approach, detailed in Appendix B. Here, the authors write, “Node.js has many test frameworks that have years of use and refinement.
Single Page Web Apps in action is a crucial book to understand an important trend in web development. The MEAN stack has all the buzz recently, but it was impressive to see everything at play with the MEjQN stack--less convenient acronym be darned. Many programming books will leave the reader with many snippets of quasi-functional code and call it a day. This is not the case with Single Page Web Apps In Action, where the end result is a living breathing SPA with everything necessary to be pushed to production. The SPA that is built via a deliberate process winds up being a byproduct of a great programming book that is heavy on practical advice, precautions, and tips. It teaches technique and philosophy as much as it builds out features. The tone can seem a bit didactic at time, but it's clear the authors care deeply about making the reader better. This book will improve the way you look at and write code. Take much of the author's advice on naming conventions and documentation to heart and you'll be a better collaborator as well.The book's structure can be considered in thirds. The first is set up and javascript concepts review. The second is the guts of the app. The final third is additional components (Express, Socket IO, Mongo) to take it past the development environment. The middle third is amazingly repetitive, in a good way. You must realize that's largely the point. It's all in Javascript, and it's all following a similar design pattern with strict attention to the author's style guide. Different tools are brought in JSLint, Tidy, FakeDB, TaffyDB, but it's so sensible. It looks both obvious and complex, which is a testament to the author's methodical documentation.
Javascript: A Pocket Key to JavaScript for beginners (JavaScript Programming, JavaScript Beginners, JavaScript for web developers, JavaScript Beginners Guide, Java Programming for Beginners) Single Page Web Applications: JavaScript end-to-end Javascript: Beginner to Expert with Javascript Programming (Javascript, Javascript Programming, Javascript for Beginners, Java, Java Programming, Java for Beginners,) JavaScript: QuickStart Guide - The Simplified Beginner's Guide To JavaScript (JavaScript, JavaScript Programming, JavaScript and Jquery) Javascript: Learn Javascript In A DAY! - The Ultimate Crash Course to Learning the Basics of the Javascript Programming Language In No Time (Javascript, ... JSON, Javascript Development Book 1) JAVASCRIPT: Easy JavaScript Programming For Beginners. Your Step-By-Step Guide to Learning JavaScript Programming (JavaScript Series) Single Mom: The Ultimate Guide to Single Parenting: How to Be Successful at Single Parenting and Raise your Kids Easily (Single Mom Books) SPA Design and Architecture: Understanding Single Page Web Applications JAVASCRIPT: JavaScript in 8 Hours, For Beginners, Learn JavaScript Fast! A Smart Way to Learn JS, Plain & Simple, Learn JS Programming Language in Easy Steps, A Beginner's Guide, Start Coding Today! PARENTING: Single Parenting For Moms: A Guide in Raising Your Family and Being a Successful Mom (Parenting, Single Parent, Single Mother, Parenting Boys, Parenting Girls, Raising kids, Healthy child) Parenting For Single Mothers: Being A Good Mom And Raising Great Kids (Single Parent, Single Mom, Parenting Boys, Parenting Girls) Parenting: SINGLE PARENTS' BOOK: HOW TO BE THE BEST MOM AND DAD AT THE SAME TIME! 11 RULES ON HOW TO RAISE GREAT KIDS ALONE (Single,Parenting,Parenting Toddlers,Single Parenting) The Single Parent Dating Solution: A Guide Through Roadblocks In Dating And Romance While Single Parenting (Single Parenting For Mothers, Dating Advice For Women) Every Page is Page One How to Create and Manage a Facebook Page: Creating and Managing a Facebook Page Bettie Page: The Lingerie Edition: Classic Photographs in Full Color and Black & White (Classic Bettie Page Book 1) The Amazing Page: 650 Scrapbook Page Ideas, Tips and Techniques (Memory Makers) Tangled Up In Tuesday: (Book 4 in the Page Turners Cozy Mystery Humorous Womens Fiction Romance Series) (A Page Turners Novel) First Grade Page Per Day: Math Skills (Sylvan Page Per Day Series, Math) Learning Web Design: A Beginner's Guide to HTML, CSS, JavaScript, and Web Graphics