Technical architecture
In the previous sections of this chapter, we identified our stakeholders—those who will directly benefit from our framework project. We also identified potential problem spaces. Those two factors give us a solid idea of what we want to build. In this section, we explore the third pillar from Figure 5.1—technical architecture—to give us a focused look at the technical specificities of our planned project.
Abstraction levels and flexibility
The importance of practical abstraction levels and allowing flexibility in code APIs of a JavaScript framework is an important design decision. As you develop your frameworks, these two principles are necessary to ensure the framework’s usability, maintainability, and adaptability.
As explored in Chapter 2, sensible abstraction levels are essential for providing developers with clean, easy-to-understand interfaces. The encapsulated complexities of the underlying implementation improve productivity...