The goal of Dart Frog is to help developers effectively build backends in Dart. Currently, Dart Frog is focused on optimizing the process of building backends which aggregate, compose, and normalize data from multiple sources.
Dart Frog provides a simple core with a small API surface area in order to reduce the learning curve and ramp-up time for developers. In addition, Dart Frog is intended to help Flutter/Dart developers maximize their productivity by having a unified tech stack that enables sharing tooling, models, and more!
Quick Start 🚀
In order to use Dart Frog you must have the Dart SDK installed on your machine.
Dart Frog requires Dart
# 📦 Install the dart_frog cli from pub.dev
dart pub global activate dart_frog_cli
Creating a Project ✨
dart_frog create command to create a new project.
# 🚀 Create a new project called "my_project"
dart_frog create my_project
Start the Dev Server 🏁
Next, open the newly created project and start the dev server via:
# 🏁 Start the dev server
By default port
8080 is used. A custom port can be used via the
It's also possible to set a custom port for the Dart VM service using the
This is required when trying to run multiple
dart_frog dev commands simultaneously on the same host.
Each release of the
dart_frog_cli supports a specific version range of the
dart_frog runtime. If the current version of the
dart_frog runtime is incompatible with the installed
dart_frog_cli version, an error will be reported and you will need to update your
dart_frog_cli version or
dart_frog version accordingly.
Create a Production Build 📦
Create a production build which includes a
DockerFile so that you can deploy anywhere:
# 📦 Create a production build
To uninstall Dart Frog completely, the CLI completion files have to be removed before uninstalling.
# 🧹 Uninstalling the Dart Frog CLI completion files
Now, if you installed Dart Frog globally via Pub, Dart's package manager, you can uninstall Dart Frog using:
# 🗑️ Uninstall the Dart Frog CLI from pub.dev
dart pub global deactivate dart_frog_cli
Feature Set ✨
✅ Hot Reload ⚡️
✅ Dart Dev Tools ⚙️
✅ File System Routing 🚏
✅ Index Routes 🗂
✅ Nested Routes 🪆
✅ Dynamic Routes 🌓
✅ Middleware 🍔
✅ Dependency Injection 💉
✅ Production Builds 👷♂️
✅ Docker 🐳
✅ Static File Support 📁
✅ WebSocket Support 🔌
✅ VS Code Extension 💻
🚧 Generated Dart Client Package 📦
🚧 Generated API Documentation 📔