Going all in with SPAs (Single Page Web Applications book)
Posted: Tue Dec 17, 2013 1:53 am
To those not familiar, an SPA is a "Single Page (Web) Application", and it moves a lot of the logic from the server to the client. Many HTML5 games are actually SPAs.
After really taking a while to figure out what I want to do, thinking about what kind of development makes me most happy, and considering a little bit about what I actually want to do when I get done with college (it is a small gamble, since even if SPAs are largely a fad, I can always just pick something else up), I have decided to go all in with SPAs. I have always enjoyed doing heavy, real-time client-side JS development, both for games and outside of games.
So I picked up "Single Page Web Applications: Javascript End-to-End" by Michael Mikowski, and have been reading the hell out of it. It has been amazing so far, and I feel like this is what I have been missing! It shows how to structure very large client-side JS applications (one of the things that got me into a ton of trouble with my MUD) safely and neatly, discusses tons of best practices, how to set up the back-end to work as a RESTful service interface, how to make browser features like back, forward and history work as they should, how to make a SPA more SEO friendly, and how to treat client-side application development more like desktop application development.
The book does not teach any JS MVC frameworks (Ember.js, Backbone, Knockout), since it is their view that developers should have a handle on doing it for themselves before picking-up a framework. I tend to agree, and am glad the author lays a foundation in a framework-agnostic way. There are enough books and resources on using those frameworks. The book also uses node.js and MongoDB for the back-end, which works well for me (I am also wanting to dig deeper into node).
So far it is one of the few programming books I have gotten that I literally can't put down, versus all the others I forced myself to read. Part of that is how great the book is and how loaded it is with answers I have wanted for a long time, and part of that is also how much the subject of complex client-side applications interests me. But I highly recommend the book to anyone who wants to build large client-side applications (including games), but wants to learn how to structure Javascript to play to its strengths and keep everything neat and maintainable. I have more than enough client-side messes of my own to prove how out-of-control it can get with no forethought.
After really taking a while to figure out what I want to do, thinking about what kind of development makes me most happy, and considering a little bit about what I actually want to do when I get done with college (it is a small gamble, since even if SPAs are largely a fad, I can always just pick something else up), I have decided to go all in with SPAs. I have always enjoyed doing heavy, real-time client-side JS development, both for games and outside of games.
So I picked up "Single Page Web Applications: Javascript End-to-End" by Michael Mikowski, and have been reading the hell out of it. It has been amazing so far, and I feel like this is what I have been missing! It shows how to structure very large client-side JS applications (one of the things that got me into a ton of trouble with my MUD) safely and neatly, discusses tons of best practices, how to set up the back-end to work as a RESTful service interface, how to make browser features like back, forward and history work as they should, how to make a SPA more SEO friendly, and how to treat client-side application development more like desktop application development.
The book does not teach any JS MVC frameworks (Ember.js, Backbone, Knockout), since it is their view that developers should have a handle on doing it for themselves before picking-up a framework. I tend to agree, and am glad the author lays a foundation in a framework-agnostic way. There are enough books and resources on using those frameworks. The book also uses node.js and MongoDB for the back-end, which works well for me (I am also wanting to dig deeper into node).
So far it is one of the few programming books I have gotten that I literally can't put down, versus all the others I forced myself to read. Part of that is how great the book is and how loaded it is with answers I have wanted for a long time, and part of that is also how much the subject of complex client-side applications interests me. But I highly recommend the book to anyone who wants to build large client-side applications (including games), but wants to learn how to structure Javascript to play to its strengths and keep everything neat and maintainable. I have more than enough client-side messes of my own to prove how out-of-control it can get with no forethought.