Preface
There are only two hard things in Computer Science: cache invalidation and naming things.
While cache invalidation is not a difficulty encountered when writing a book, choosing a suitable title is. The title of this book is intended to represent a broad area of changes in web development that have resulted in a new approach to designing web applications.
Of course, many aspects of web development can be considered new. Developers scramble to keep up with enhancements to desktop browsers, new mobile device clients, evolving programming languages, the availability of faster processors, and an increasingly discerning audience of users with growing expectations about usability and interactivity. These changes require developers to continually innovate when coming up with solutions for their specific projects. But many of these solutions have broader implications and are not isolated to any particular project.
Therefore, I chose “client-server” as the term which in many ways captures the changes to web development that have occurred in response to these innovations. Other descriptions of modern development practices currently in vogue don’t adequately represent the problem domain. Web application development is associated with desktop browsers, but excludes the increasingly relevant area of mobile applications.
The terms Single Page Application and Single Page Interface have been used to distinguish modern web applications from earlier static websites. These terms correctly ...