Overview
Bowlerplate is designed to be backend-agnostic, supporting multiple powerful options to fit your project needs.
Overview
Bowlerplate is built with a flexible architecture that decouples the Flutter mobile application from the backend services. While the frontend logic remains consistent, you can choose the backend technology that best suits your project's scaling needs, team expertise, and infrastructure preferences.
We provide official implementations and ready-to-use API clients for several popular backend frameworks.
Official Backends
Currently, Bowlerplate supports the following backends:
Laravel
The primary and most feature-rich backend option. Includes an admin panel (Filament), authentication, and robust infrastructure.
Hono (Coming Soon)
Ultra-fast TypeScript backend built for the Edge. Minimalist, powerful, and extremely scalable on Bun/Cloudflare.
PocketBase (Coming Soon)
An all-in-one open-source backend with real-time database, auth, and file storage in a single Go binary.
Comparison at a Glance
Choosing the right backend depends on your specific requirements:
| Feature | Laravel | Hono | PocketBase |
|---|---|---|---|
| Language | PHP | TypeScript / JS | Go |
| Admin Panel | Yes (Filament) | No (External) | Yes (Built-in) |
| Real-time | Yes (Reverb/Pusher) | Yes (WebSockets) | Yes (Native SSE) |
| Deployment | Traditional / Serverless | Edge / Serverless | Self-hosted (Single Binary) |
| Ecosystem | Massive (Packages) | Growing (Bun/Vite) | Focused |
| Status | Ready | In Development | In Development |
How It Works
The Flutter app communicates with the backends using a standardized REST API structure. This ensures that:
- Uniform Models: Your Dart models (generated by Freezed) stay the same regardless of the backend.
- Modular Services: Swapping backends typically only involves updating your
baseUrlin the mobile app constant files. - Authentication: All official backends implement a consistent authentication flow (Bearer Token/Sanctum/JWT).
Next Steps
If you are just getting started, we highly recommend using the Laravel backend as it provides the most comprehensive experience including a full-featured admin dashboard.
Check out the Laravel as Backend guide to set up your environment.