Identifying framework problem spaces
Frameworks are designed to support the development of one or many projects, focusing on solving a particular problem space. We define a problem space as a set of challenges or a range of problems that the framework is prepared to address; this is the second pillar from Figure 5.1. A problem space can be a specific software application area in which the framework is intended to be used.
As we saw from examples of frameworks in previous chapters of this book, JavaScript has a broad reach in client and server environments. It enables us to build frameworks to fit our needs and technological requirements. For your brand new project, you could potentially be tackling a particular framework category. By focusing on the technical aspects of a unique project, combined with innovative features, you can make your project different from what is already available out there in the wild.