Chapter 2. The role of MV* frameworks


This chapter covers

  • An overview of UI design patterns
  • An introduction to MV* in the browser
  • Exposure to core MV* concepts
  • Benefits of MV* libraries/frameworks
  • A list of considerations when choosing a framework

Probably one of the most difficult tasks a web developer faces is creating a code base that can grow gracefully as the project grows. The larger and more complicated a project becomes, the more difficult the task. Shaping a project’s code base in a way that makes troubleshooting, maintenance, and enhancements easier, not harder, is no small feat, though. This is true for even traditional web projects.

In an SPA, keeping your code segregated based on its functionality is more than just a good practice. It’s critical to being able to successfully implement an application as a single page. The key to this is creating a separation of concerns within your application. Having a separation of concerns within your code base means that you’re making a concerted effort to separate the various aspects of the application’s code based on the responsibility it has.

We can break the overall SPA into many application layers, on the server side as well as in the client. Within the browser space, we can begin our quest for creating a separation of concerns in a fundamental way by first remembering the roles of our three primary languages: HTML, CSS, and JavaScript:

2.1. What is MV*?

2.2. Common MV* concepts

2.3. Why use an MV* framework?

2.4. Choosing a framework

2.5. Chapter challenge

2.6. Summary