Developers can use software frameworks to focus on writing code specific to their projects and avoid spending unnecessary resources on the underlying technology.
Despite their advantages, using a framework requires thoughtful considerations in certain circumstances. For example, if you're building a simple application, you might not need a software framework. It takes time to set up a framework and learn to build an application around it. Furthermore, compiling the framework increases a simple application's code footprint significantly.
Using a programming framework also requires a thorough understanding of how each software component works. Even with extensive documentation, developers might need more time to familiarize themselves with the framework. When you use a framework to build an application, you also rely more on the performance and security it provides. If the framework consists of latent bugs or vulnerabilities, all applications built upon it are affected.