I've previously deployed apps on heroku written in Rails and in Express.js, and never come across the concept of a Procfile before. Now that I've just gone to deploy a Flask app, I discovered this Procfile concept and found that the app would not run correctly without it. The Heroku docs say nothing about this being Flask-specific, and imply it's needed for all apps.
What's up with that? Why didn't I need it before, but needed it now?