When the app starts, it is the sent to the browser by the server. All presentation logic is on the client after the page initially loads .
The client, not the server, determines what the app does with the SPA and composes app pages from the HTML templates (fragments) and data which are downloaded asynchronously as needed.
The server has no logic for user interface/ no UI state but instead provides resources to the client. First by providing the initial HTML shell, then in response to client HTTP requests for data (which can be HTML templates, JSON, JS or CSS)
By using Views we will introduce the ability to "change page" while remaining on the same actual page that was initially served to us from the server.