What is a Project?
A Project in FlutterFlow represents a complete Flutter application. It contains all the generated code for a Flutter app. This means that you can export your code and your app will run as a normal Flutter app without requiring FlutterFlow.
A FlutterFlow project includes all the files and packages generated by the flutter create
command, along with additional packages specifically added to support common functionalities. These include:
UI and Styling
- auto_size_text: Automatically resizes text to fit within its bounds.
- cached_network_image: Provides a widget that displays images from the internet, caching them for performance.
- flutter_animate: Facilitates adding animations to widgets.
- font_awesome_flutter: Offers a comprehensive set of icons provided by FontAwesome.
- from_css_color: Converts CSS color strings to Flutter color objects.
- google_fonts: Enables custom fonts to be used easily from the Google Fonts catalog.
- page_transition: Adds customizable page transition effects.
Navigation
- go_router: A declarative router based on URL patterns, simplifying navigation logic.
Data Management and Storage
- collection: Provides additional collection types and utilities.
- json_path: Allows querying JSON data structures with path expressions.
- provider: A popular state management technique to propagate changes across the app.
- shared_preferences: Facilitates persistent storage of simple data (key-value pairs).
Platform Specific Integrations
- path_provider: Locates commonly used locations on the filesystem.
- path_provider_android, path_provider_foundation, path_provider_platform_interface: Platform-specific implementations and interface for
path_provider
. - shared_preferences_android, shared_preferences_foundation, shared_preferences_platform_interface, shared_preferences_web: Platform-specific implementations for
shared_preferences
. - url_launcher, url_launcher_android, url_launcher_ios, url_launcher_platform_interface: Packages that enable launching URLs on various platforms, allowing the app to open web links, emails, and more.
Utilities
- intl: Provides internationalization and localization facilities, including message translation, plurals and genders, and date/number formatting.
- flutter_cache_manager: Manages cached files, supporting custom file retrieval strategies and cache rules.
- timeago: A library to format dates as a relative time (e.g., "5 minutes ago").
Any elements (e.g. pages, widgets), business logic or packages that are added to the project will be included in the generated code.
FlutterFlow automatically generates a complete Flutter application for you. To dive deeper into the project structure of a Flutter app generated by FlutterFlow, explore the Directory Structure guide.