Framework in computer programming is a base over which you build your app. The framework tells how to structure the code, which part of code goes where. It provides lot of pre-built and pre-tested components that can be used directly or expanded over as per your requirement. Since it takes care of lot of low level and generic functionalities, when you are building an app you only focus on your requirements.
Why you should use them?
Frameworks are developed by large community of user and implements best practices and security. Frameworks helps you build larger apps faster as smaller functionality are already implemented. Frameworks forces you to develop a clean code and a predefined structure, which also makes it easier when working in teams.
If you don’t use a Framework you may end up with,
1) Messy Code — that’s difficult to understand and update.
2) Same piece of code written in 10 different files. If you need to make a small change you have to update in all these 10 files.
3) Unorganized file structure, making it difficult to find the corresponding piece of code for a given functionality.
4) Unsecure app, as it is difficult to take care of all the security when building an app from scratch.
All these can be avoided using a Framework.
When can you avoid a Framework?
In case of really smaller apps with a max of 1–2 screens which needs to be developed really quick, you can avoid using a Framework as the time spent in setting up a Framework would be more in case of really smaller apps.
Some of the popular languages and their Frameworks.
Ruby on rails
So for your app, make sure your developers or outsourced tech team are working on some Frameworks and if not are able to justify the same.