# flutter_deer: A Flutter Practice App with Real Design Files and Integration Tests

> flutter_deer is a personal Flutter learning project that ships complete UI design drawings, MVP plus provider architecture, and integration and accessibility tests. It is a reference codebase for intermediate Flutter developers, not a production template.

**simplezhli/flutter_deer** — 🦌 Flutter 练习项目(包括集成测试、可访问性测试)。内含完整UI设计图，更贴近真实项目的练习。Flutter practice project (including integration testing and accessibility testing). Contains complete UI design drawings for a more realistic practice project.

- Repository: https://github.com/simplezhli/flutter_deer
- Website: https://simplezhli.github.io/flutter_deer/
- Stars: 8,624 · Forks: 1,754
- Language: Dart
- License: Apache-2.0
- Published: 2026-09-21 · Updated: 2026-09-21 · Language: en
- Canonical page: https://hysenlabs.com/projects/simplezhli-flutter-deer

## The gap flutter_deer fills: design files plus a working Flutter codebase

Most Flutter tutorials give you a widget and a paragraph. flutter_deer gives you the design directory alongside the lib directory, so every screen in the app can be traced back to a drawing. The README states that code comments contain the relative path of the corresponding design file, which means you can search for a page and find the mockup it implements. That is the specific problem this solves: practicing Flutter against real screens instead of isolated widget demos.

The audience is the intermediate Flutter developer who already knows widgets and wants to see how a multi-screen app is assembled. The README is explicit that this is a personal learning project (本项目为个人学习Flutter的练习项目) and that all implementations are the author's own understanding. Treat it as a reference, not as a specification. If you want a scaffolded production starter, this is the wrong repository.

## MVP plus provider: how the app is structured

The README lists mvp mode and provider 6.x for state management as the two architectural pillars, with dio 5.x wrapping network requests. Routing is handled by fluro, and the project uses the FlutterJsonBeanFactory plugin to generate model beans. That combination is a deliberate choice: MVP keeps presentation logic out of widgets, provider supplies the reactive layer, and fluro gives named routes instead of pushing widgets directly.

The UI layer leans on Sliver components for complex scrolling effects, with sticky list headers and pull-to-refresh plus load-more implemented on top. A separate integration_test and test_driver directory pair supports the integration and accessibility tests the README advertises. The library list in the README runs to more than twenty packages, including cached_network_image, flutter_slidable, azlistview, bezier_chart, qr_code_scanner, and lottie. Each one is a dependency you inherit if you copy the structure.

## Installing flutter_deer and running the integration test

The README does not give a step-by-step install guide. It gives the runtime environment and points at the releases page. The documented environment is Flutter 3.47.4 and Dart 3.13.0, so match those before anything else. Clone the repository and fetch packages in the usual Flutter way:

```bash
git clone https://github.com/simplezhli/flutter_deer.git
cd flutter_deer
flutter pub get
```

After pub get resolves, the README offers a concrete first use: the integration test command. This drives the app through its flows and is the fastest way to confirm your toolchain matches the project:

```bash
flutter drive --target=test_driver/driver.dart
```

For a release build, the README names two commands. On iOS, flutter build ios. On Android, flutter build apk. The README warns that debug mode has some stutter and that a good experience requires a release build (良好的体验需要打 release 包). Android users can instead download the APK from the GitHub releases page; iOS users must build from source.

## Where flutter_deer breaks down: platforms, plugins, and debug performance

Three limitations are documented, and each one matters. First, the README states that because of certain plugins, Windows and macOS are preview-only, mainly for native functionality, and that UI issues are minor there. If you need a desktop Flutter reference, this is not it. Second, the Web build is deployed on GitHub Pages and the README says access is slower because the JavaScript and other resources are large. That is a deployment constraint, not a bug, but it shapes what you can learn from the hosted demo.

Third, debug-mode stutter is called out as normal. This is the kind of caveat that gets lost when people skim a README and then judge a Flutter project by its debug build. The project also depends on a long tail of third-party packages, several of which (qr_code_scanner, azlistview, flutter_swiper, bezier_chart) are not first-party and may lag behind current Flutter releases. Nothing in the README promises they are maintained in step with the SDK.

## flutter_deer versus starting from a blank Flutter app

The honest alternative is not another repository. It is flutter create plus your own structure. A blank Flutter app gives you zero design files, zero tests, and no opinions about state management, but it also gives you no inherited dependencies and no plugin risk. flutter_deer trades that cleanliness for a complete worked example: design drawings in design/, localized strings via l10n.yaml and intl, dark mode support, and a documented integration test entry point.

If you already have a state management pattern you like, the provider 6.x layer here will mostly be something to read rather than adopt. If you are still choosing, seeing MVP and provider wired together across dozens of screens is more instructive than a minimal counter example. The deciding factor is whether you want the design files. Without them, the repository is a large Flutter sample; with them, it is a practice curriculum.

## Maintenance, licence, and upgrade cost

The repository is not archived and the last push was on 2026-09-18. The most recent release listed is 1.3.2 from 2024-02-15, with 1.3.0 before it in 2023-08-22, so tagged releases move slowly even though the branch receives commits. The README includes a note asking for stars and forks and stating the project is continuously maintained (本项目持续维护中), but the release cadence is the more useful signal.

The licence is Apache-2.0, which permits commercial use and modification provided you keep the licence and notices; this is a factual description of the licence terms, not legal advice, and you should read the LICENSE file yourself. Upgrade cost is dominated by the plugin list. Every Flutter SDK bump can break one of the twenty-plus packages, and the README's own platform caveats show that has already happened for desktop. Budget for dependency work before you build on this.

## Conclusion

Adopt flutter_deer if you want a working Flutter 3.47.4 codebase with design files, MVP plus provider structure, and integration tests you can run with flutter drive --target=test_driver/driver.dart. Do not adopt it as a production template: the README states the project is a personal learning exercise, Windows and macOS are preview-only due to plugin constraints, and the last push was on 2026-09-18. Verify first that your Flutter and Dart versions match 3.47.4 and 3.13.0, and check whether the AMap, qr_code_scanner, and azlistview plugins still build on your target platforms.

## FAQ

### Are Dart and Flutter the same?

No. Flutter is the UI framework and Dart is the language it is written in and uses. flutter_deer lists both a Flutter version (3.47.4) and a Dart version (3.13.0) as its runtime environment.

### Does Flutter run on Dart?

Flutter is built on Dart, and flutter_deer is a Dart project whose primary language is Dart. The repository's pubspec.yaml and lib directory hold the Dart code that the Flutter SDK compiles.

### What language does Flutter use?

Flutter uses Dart. flutter_deer is written in Dart and pins Dart 3.13.0 alongside Flutter 3.47.4 in its documented environment.

## Sources

- [License: Apache-2.0](https://github.com/simplezhli/flutter_deer/blob/master/LICENSE)
- [Project website](https://simplezhli.github.io/flutter_deer/)
- [README](https://github.com/simplezhli/flutter_deer/blob/master/README.md)
- [Releases](https://github.com/simplezhli/flutter_deer/releases)
- [simplezhli/flutter_deer on GitHub](https://github.com/simplezhli/flutter_deer)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/simplezhli-flutter-deer
