Client-side web app development has always been the poor cousin to server-side coding. This started because browsers and the devices they run on have been less capable than enterprise-class servers. To provide any kind of serious web app functionality, the server had to do all of the heavy lifting for the browsers, which was pretty dumb and simple by comparison. Over the last few years, browsers have got smarter, more capable, and more consistent in how they implement web technology and standards. What used to be a fight to create unique features has become a battle to create the fastest and most compliant browser. The proliferation of smartphones and tablets has created a huge market for high-quality web apps, and the gradual adoption of HTML5 provides web application developers with a solid foundation for building rich and fluid client-side experiences.
Sadly, while the client-side technology has caught up with the server side, the techniques that client-side programmers use still lag behind. The complexity of client-side web apps has reached a tipping point where scale, elegance, and maintainability are essential and the days of hacking out a quick solution have passed. In this book, I level the playing field, showing you how to step up your client-side development to embrace the best techniques from the server-side world and combine them with the latest HTML5 features.
About This Book
This is my 15th book about technology, and to mark this, Apress asked me to do something different: share the tools, tricks, and techniques that I use to create complex client-side web apps. The result is something that is more personal, informal, and eclectic than my regular work. I show you how to take industrial-strength development concepts from server-side development and apply them to the browser. By using these techniques, you can build web apps that are easier to write, are easier to maintain, and offer better and richer functionality to your users.