How do you deliver so fast? What tools do you use?
We have been asking these questions for years, so we decided to compile the ultimate list of Flutter libraries, tools and packages that we use on a daily basis in our projects. They definitely make our life easier. In the end of this article, we also included blogs and podcasts that we like the most. We hope you will enjoy reading!
- Flutter - Cross-platform application development SDK
- Dart - Programming language to code for Flutter SDK
- openapi-generator-cli - Generates Dart client repository from OpenAPI schema definition
- Firebase - Firebase console to track analytics, push notifications etc
- Google Play Services
- Google Cloud APIs
- GitHub Actions
Libraries we like to use
- firebase_messaging - Receiving push notifications.
- Firebase_analytics - Tracking app/custom events
- BLoC - Stream-based state management solution
- flutter_bloc - Library to integrate with BLoC to render widgets based on states
- hydrated_bloc - Same as BLoC but stores the last state in local/offline database
- list_bloc - A BLoC library for loading data from an API end-point with filtering and pagination.
- flutter_list_bloc - Library to integrate with list_bloc to render widgets based on states
- Openapi_repository - This package generates ListBloc and DataBloc using openapi_repository_annotations.
- Openapi_repository_annotations - Annotation to generate ListBloc and DataBloc.
- Progress_builder - A short-hand builder for performing simple asynchronous actions with progress/loading indications and built-in error handling.
- cached_network_image - Flutter library to load and cache network images.
- auto_route - AutoRoute is a declarative routing solution for Flutter
- djangoflow_app - Our in-house work-in-progress setup of a production-grade Flutter app.
- build_runner - A build system for Dart code generation and modular compilation.
- freezed - Code generator for data-classes/unions/pattern-matching/cloning.
- reactive_forms - This is a model-driven approach to handling Forms inputs and validations in Flutter, heavily inspired by Angular's Reactive Forms.
- responsive_framework - Easily makes Flutter apps responsive.
- Icons_launcher - A command-line tool that simplifies the task of updating your Flutter app's launcher icon.
- json_serializable - Automatically generate code for converting to and from JSON by annotating Dart classes.
- dio - A powerful HTTP client for Dart.
- flex_color_scheme - A Flutter package to use and make beautiful Material design-based themes.
- shimmer - A package provides an easy way to add shimmer effects in the Flutter project.
Code quality tools
- flutter_lints - Recommended lints for Flutter apps, packages, and plugins to encourage good coding practices.
- dart_code_metrics - Software analytics tool that helps developers analyze and improve software quality.
- Material design guidelines
- Apple human interface guidelines
- Material Icons
- Cupertino Icons
- Figma design/flow
- Flutter Icon fonts generation
- Flutter theme playground
Flutter has constantly been expanded and there are many awesome packages out there. While this list is not exhaustive, we wanted to share the top tools that make our developers’ life much easier. We hope you enjoyed reading.