Is the TestFlight a kind of Staging Environment?

Hey guys, I'm coming from web universe, and there we have different environments (development, staging, qa, production). I already know how to submit my app to App Store Connect and enable test flight for testers. My question is: What is the best practices? Should I have two apps? One for staging, and one for production? Should I use the same App on App Store Connect for development, staging and prod? How does this pipeline work?

I think of TestFlight as a staging App Store.

You'll publish your app to TestFlight so that your selected TestFlight users can try it. Fix bugs and publish updates to TestFlight. Once you're happy with the testing/feedback, you'll release that version to the App Store.

Is the TestFlight a kind of Staging Environment?
 
 
Q