The Zakas/Osmani architecture
Although the Single Page Application architecture defines the key elements on which a web application that is responsive and efficient should rely, it does not say exactly how to organize our code or how to interact with the components that make up a complex application. We can say that the architecture of an SPA mainly proposes a model of interaction between client and server and suggests how to update the user interface, without saying how to organize the application's code.
An interesting architecture for large JavaScript applications is the one proposed by Nicholas C. Zakas and Addy Osmani. In contrast to the SPA, the main architectural goal of Zakas and Osmani is to organize the code so that the resulting application is easily maintainable and scalable. The architectural focus is mainly on the basis of SOLID principles we examined in Chapter 11, SOLID Principles. However, it is not in opposition to Single Page Applications, but it is neutral with respect...