Part 3. The SPA server
When a user navigates through a traditional website, the server burns lots of processing power to generate and send page after page of content to the browser. The SPA server is quite different. Most of the business logic—and all of the HTML templating and presentation logic—is moved to the client. The server remains important, but it becomes leaner and more focused on services like persistent data storage, data validation, user authentication, and data synchronization.
Historically, web developers had to spend a good deal of time developing logic to transform one data format to another, much like shoveling dirt from one giant, musty dirt pile to another—and just about as productive. Web developers have also had to master many different languages and toolkits. A traditional website stack might require detailed knowledge of SQL, Apache2, mod_rewrite, mod_perl2, Perl, DBI, HTML, CSS, and JavaScript. Learning all these languages and switching between them is expensive and annoying. Even worse, if we need to move some logic from one part of the application to the other, we get to rewrite it in a completely different language. In part 3 we learn: