Why Frappe Framework?
Frappe was built to power our flagship product ERPNext. The core philosophy at Frappe is write as less code as possible. We prefer configuration over code. If a feature is generic and we need it, we put it right into the framework.
This has enabled us to build and maintain a complex application like an ERP which has thousands of features with a small team of developers.
Rapid Application Development
After setting up Frappe Framework, you can be productive in no time. Creating models, wiring controller code and updating views are all handled by the framework.
Anything that might be needed by a modern web application is probably built into the framework already. PDF generation, Emails, SMS, Web Pages you name it. If there is something missing in Frappe Framework, we might already be working on it right now :)
Bench is the all-in-one tool to manage all things Frappe. It handles app updates, database migrations, generating configs for nginx and supervisor, scaffolding new apps and much more.
Bench supports multi-tenancy out of the box. It means you can spin up multiple instances of apps with separate databases on the same codebase. It also supports port-based multitenancy where you can set up multiple bench environments for different versions of apps.
Build powerful extensions on top of Frappe by creating your own apps. Apps can bring their own models or modify existing ones in Frappe.