Awesome Flutter

repository·master·Indexed 13 days ago

https://github.com/solido/awesome-flutter

A curated list of high-quality resources for developers using Google's Flutter UI toolkit, including libraries, specialized widgets, state management frameworks, and open-source app examples for mobile, web, and desktop.

Tokens
9.6K
Snippets
0
Records
52
Agent score
50%

What's inside Awesome Flutter

  1. Access the Flutter community and communication channels

    master

    The Flutter ecosystem has several global and regional communication channels for getting help, discussing development, and finding local meetups.

    Global Channels

    • Gitter: General exchange channel.
    • Reddit: r/FlutterDev community.
    • Discord: Official Discord server for discussion and help.
    • GitHub: Flutter Community for community-made packages and OpenFlutter for simplified Flutter development.
    • Hashnode: Platform for reading/writing posts and participating in discussions.

    Resource Discovery

    • Flutter Events: An open list of upcoming Flutter events.
    • FlutterX: A searchable list of Flutter resources.
  2. Find Flutter UI Components and Libraries

    master

    The repository categorizes various UI components and libraries to help you build specific interface elements:

    UI Components

    • Navigation: Radial menus, Tinder-like card swipes, flip panels, and Facebook-style reactions.
    • Feedback & Overlays: Highly configurable Snackbars (Flushbar), liquid pull-to-refresh indicators, and beautiful popups.
    • Specialized Widgets: Scratch cards, image sequence animators, credit card input forms, and neumorphic kits.
    • Timelines: Packages for building complex timelines and timeline tiles.
    • Chat: Community-driven chat UI implementations.
    • Page Indicators: Animated indicators for PageViews.
    • Editors: Advanced toolkits for building document editors and readers (Super Editor).

    UI Libraries

    • Forui: Minimalistic UI library inspired by shadcn/ui.
    • Shadcn: A fully customizable port of shadcn-ui.
    • TDesign Flutter: UI component library matching the TDesign style.

    Lists and Grids

    • Large Lists: Drop-in replacements for SliverList and ListView to handle large amounts of items (Super List).
    • Interactivity: Drag & Drop support for Tables, Rows, Columns, and Wraps (Reorderables).
    • Grids: Variable size tiles (StaggeredGridView) and specialized data grids (PlutoGrid).
    • Scrolling: Infinite scroll in both directions and sticky headers.
  3. Explore Testing, Web, and Experimental Tools

    master

    Testing

    • flutter_convenient_test: Advanced testing with action history, time traveling, screenshots, and video recordings.
    • Patrol: A powerful UI testing framework that overcomes limitations of flutter_test, integration_test, and flutter_driver.

    Web

    • Responsive Framework: Automatically adapts UI to different screen sizes.

    Experimental

    • styled_widget: Simplifies widget tree structures by defining widgets using methods.
  4. Manage Flutter development with Utilities

    master

    A collection of CLI tools and utilities to streamline the Flutter development lifecycle, including version management, asset generation, and environment configuration.

    Key Utilities:

    • FVM (Flutter Version Management): A CLI to manage multiple Flutter SDK versions.
    • FlutterGen: An assets code generator for images, fonts, and colors to replace String-based APIs with type-safe code.
    • Flutter Flavorizr: A CLI utility to generate Android and iOS flavors quickly.
    • Launcher Icons: Easily generate app launcher icons.
    • Melos: Manages monorepos with multiple packages, including automated versioning and publishing.
    • Dart Code Metrics: An additional linter for code metrics and anti-pattern detection.
    • Environment Configuration: A CLI tool to generate .env configurations for different application environments.
  5. Explore Widget and Data Frameworks

    master

    Beyond state management, the ecosystem provides specialized tools for UI logic and data handling:

    Widgets

    • Hooks: Enables advanced code sharing between widgets.
    • Functional widget: A code generator that allows writing widgets as functions using annotations.

    Data

    • Graphql: Implementation of the GraphQL specification.
    • GeoFlutterFire: Implementation of GeoFirestore for Flutter.
    • Ferry: An extensible GraphQL client.
  6. Select Flutter Widgets and Data Libraries

    master

    Enhance your UI and data handling with these specialized libraries:

    Widgets

    • Hooks: Enables advanced code sharing between widgets.
    • Functional widget: Uses code generation to allow writing widgets as functions via annotations.

    Data Handling

    • Graphql: Implementation of the GraphQL specification.
    • Ferry: An extensible GraphQL client.
    • GeoFlutterFire: Implementation of GeoFirestore for Flutter.
  7. Explore Game Engines and Rendering

    master

    Rendering

    • Graphx: Simplifies drawings and animations, inspired by Flash.

    Game Engines

    • Flame: A minimalist game engine.
    • Bonfire: A game engine built on top of Flame, specifically for 2D RPG games.
    • Zerker: A lightweight graphic animation library.

    Game Engine Resources

    • Awesome Flame: A curated list of Flame games, libraries, tools, and tutorials.
  8. Integrate Authentication, Storage, and Monetization

    master

    To handle core app functionalities like user identity, data persistence, and revenue, refer to these categories:

    Authentication

    • Local Auth: Touch ID, fingerprint, and lock code for iOS/Android.
    • Firebase Auth: Firebase-based OAuth.
    • Google/Apple/Facebook Sign-In: Native social authentication providers.
    • Passkeys: FIDO2 / WebAuthn based authentication.

    Storage

    • Secure Storage: Uses Keychain (iOS) and Keystore (Android) for sensitive data.
    • Firebase Storage: Cloud-based data storage.
    • Streaming Shared Preferences: A reactive key-value store using Streams.

    Monetization

    • Admob: Google AdMob integration for interstitial and banner ads.
    • Inapp Purchase: Features for in-app purchases.
    • Square In-App Payments SDK: For embedding card entry forms and taking payments.
  9. Explore Flutter blogs and community websites

    master

    Stay updated with the Flutter ecosystem through these specialized blogs:

    • Welcome to Flutter: Practical solutions to common Flutter questions.
    • SZAŁKO-BLOG: Advanced design implementations.
    • Flutter by Example: Tutorials focused on Redux, Firebase, Custom Animations, and UI.
    • Flutter Institute: Original content and tutorials.
    • Norbert: In-depth articles on features and app creation.
    • Flutter Tips: Development tips and tricks.
    • FilledStacks: Development tutorials and guides.
    • Flutter Stack Weekly: A weekly newsletter on new developments and updates.
  10. Implement Flutter Media, Maps, and Charts

    master

    For data visualization, location services, and media handling, use these specialized packages:

    Charts & Data Visualization

    • FL Chart: A highly popular library for drawing fantastic charts.
    • Graphic: A data visualization library based on the Grammar of Graphics.
    • Echarts: A large collection of advanced reactive charts.

    Maps & Location

    • Google Map View: Plugin for displaying Google Maps.
    • Mapbox GL: Interactive, customizable vector maps.
    • flutter_map: A fully-fledged interactive map widget written in pure Dart.
    • GeoCoder: For forward and reverse geocoding.

    Media Handling

    • Images: Cached Network Image for caching internet images, flutter_svg for SVG rendering, and Photo View for scalable image viewing.
    • Audio: audioplayers for simultaneous playback and audio_service for system background audio support.
    • Video: Chewie for low-level video playback access and WebRTC for real-time communication.
  11. Find Flutter UI Libraries and Specialized Widgets

    master

    If you need a cohesive design system or specific complex UI interactions, browse the following categories in the repository:

    UI Libraries

    • Forui: Minimalistic UI library inspired by shadcn/ui.
    • Shadcn: A port of shadcn-ui with fully customizable components.
    • TDesign Flutter: UI component library matching the TDesign style.

    Specialized UI Widgets

    • Navigation: Includes go_router, auto_route, get, and fluro for routing, as well as various bottom navigation bars (e.g., google_nav_bar, fancy_bottom_navigation).
    • Lists & Grids: Includes StaggeredGridView for variable sized tiles, PlutoGrid for desktop/web datagrids, and Super List for large datasets.
    • Effects: Includes Shimmer for loading states, Frosted Glass effects, and Liquid Swipe transitions.
    • Bottom Sheets: Includes Modal Bottom Sheet for Material/Cupertino styles and Rubber Bottom Sheet for elastic effects.
  12. Select Flutter Backend and Animation Libraries

    master

    Backend Frameworks

    • Serverpod: Write both server-side code and APIs in Dart.
    • Nitric: An open-source framework with pluggable deployment.
    • Dynamic Widget: Build dynamic UIs using a JSON format similar to Flutter widget code.
    • Parse for Flutter: Open-source backend framework by ParsePlatform.

    Animation Libraries

    • Heroine: Specialized in hero transitions.
    • Motor: A unified motion system (physics-based springs and duration-based curves).
    • SpinKit: Collection of animated loading indicators.
    • Villains: Page transition animations.
    • AnimatedTextKit: Collection of text animations.
    • Drawing Animation: SVG path-based drawing animations.
    • Simple Animations: Tools for custom animations.
    • Flutter-animation-set: Easy-to-build animation sets.
    • Staggered Animations: Adds staggered effects to ListViews, GridViews, Columns, and Rows.
    • Animate Do: Animation package inspired by Animate.css.
    • Funvas: Time-based canvas animations.
    • Flutter Animate: Performant library for adding various animated effects.