
TypeScript Design Patterns
By :

We've talked about creating TypeScript applications for both frontend and backend projects in the Chapter 1, Tools and Frameworks. And now we are going to create an application that contains two TypeScript projects at the same time.
Applications for different purposes result in different choices. SPA (single page application) usually delivers a better user experience after being loaded, but it can also lead to trade-offs on SEO and may rely on more complex MV* frameworks like Angular.
One solution to build SEO-friendly SPA is to build a universal (or isomorphic) application that runs the same code on both frontend and backend, but that could introduce even more complexity. Or a reverse proxy could be configured to render automatically generated pages with the help of tools like Phantom.
In this demo project, we'll choose a more traditional web application with multiple pages to build. And here's the file structure of...