Best Flutter Packages and Libraries
This blog post will explore some of the top libraries for building your next mobile app. It’s no secret that Flutter is growing in popularity, and it has a lot to offer developers. From animations, to navigation, this list covers everything you need to know about these popular tools.
Best Flutter Packages
State Management
- provider – A wrapper around InheritedWidget to make them easier to use and more reusable.
- riverpod – A simple way to access state from anywhere in your application while robust and testable. Most say that Riverpod is a better version of Provider.
- flutter_bloc – Flutter Widgets that make it easy to implement the BLoC (Business Logic Component) design pattern. Built to be used with the bloc state management package.
Navigation and Menu
- bottom_navy_bar – A beautiful and animated bottom navigation. The navigation bar use your current theme, but you are free to customize it.
- animated_bottom_navigation_bar – With this widget, you are able to customize tab view however you need. In this case you are responsible to handle an active(inactive) state of tabs.
Animation
- flutter_animate – You can use this package to apply animated effects. It has an easy, customizable, and unified API.
- simple_animations – With Simple Animations, you can easily create custom animations in stateless widgets, animate multiple properties at once, create staggered animations within seconds, simplified working with AnimationController instances, and debug animations.
Connection & Network
- dio – A powerful Http client for Dart, which supports Interceptors, Global configuration, FormData, Request Cancellation, File downloading, Timeout etc.
- cached_network_image – This widget can load and cache network images. It can also be used with placeholder and error widgets.
- flutter_blue – Flutter plugin for connecting and communicating with Bluetooth Low Energy devices, on Android and iOS.
- connectivity_plus – Discovering the state of the network (WiFi & mobile/cellular) connectivity on Android and iOS.
- flutter_iot_wifi – Flutter_IoT_Wifi is a library that allows your Android or iOS devices to connect to an IoT access point. It’s a great way to get your devices connected to the internet of things without any of the fuss.
Reactive Programming
- rxdart – RxDart is an implementation of the popular reactiveX api for asynchronous programming, leveraging the native Dart Streams api.
Authentication
- local_auth – It works on Android and iOS devices to allow local authentication via fingerprint, touch ID, face ID, passcode, pin, or pattern.
- firebase_auth_oauth – A Flutter plugin that makes it easy to perform OAuth sign in flows using FirebaseAuth. It also includes support for Sign in by Apple for Firebase.
UI
- responsive_builder – responsive_builder is the perfect tool for creating a responsive user interface. With its easy-to-use widgets, you can create a layout that looks great on any device. Whether you’re building a website or an app, responsive_builder makes it easy to create a user experience that is tailored to your audience.
- font_awesome_flutter – The Font Awesome Icon pack available as Flutter Icons. Provides 1500 additional icons to use in your apps.
- flutter_markdown – A Markdown renderer for Flutter. Create rich text output, including text styles, tables, links, and more, from plain text data formatted with simple Markdown tags.
- auto_size_text – Flutter widget that automatically resizes text to fit perfectly within its bounds.
- image_picker – for selecting images from the Android and iOS image library, and taking new pictures with the camera.
- flutter_form_builder – Creating data collection forms in Flutter just got a lot easier with flutter_form_builder! This package helps you remove the boilerplate needed to build forms, validating fields, reacting to changes, and collecting user input. Plus, it includes common ready-made form input fields that you can add to your form instead of creating your own from scratch.
- flutter_floatwing – The flutter_floatwing package is a great way to create overlay windows in your Flutter app.
Utilities
- fleasy – Fleasy provides extensions, helper classes and widgets to make it easier to create Flutter apps. With this package, you will have less repeating code and cleaner looking code. This package provides extensions for many built-in classes such as Datetime, String, List, etc…
- url_launcher – url_launcher is a library that helps you open the URL of your choice with different schemes in mobile apps. It works on Android, iOS, web, Windows, Linux, and macOS.
- package_info_plus – Flutter plugin for querying information about the application package, such as CFBundleVersion on iOS or versionCode on Android.
- path_provider – A Flutter plugin for finding commonly used locations on the filesystem. Supports iOS, Android, Linux and MacOS. Not all methods are supported on all platforms.
- share – Sharing content via the platform share UI, using the ACTION_SEND intent on Android and UIActivityViewController on iOS.
Intro
- intro_slider – Flutter Intro Slider is a flutter plugin that helps you make a cool intro for your app. Creating intro screens has never been easier and faster.
File
- syncfusion_flutter_pdf – The Flutter PDF is a library written natively in Dart for creating, reading, editing, and securing PDF files in Android, iOS, and web platforms.
Chart & Graph
- fl_chart – A powerful Flutter chart library, currently supporting Line Chart, Bar Chart and Pie Chart.
Maps & Locations
- google_maps_flutter – A Flutter plugin for integrating Google Maps in iOS and Android applications.
Database
- sqflite – Flutter plugin for SQLite, a self-contained, high-reliability, embedded, SQL database engine.
Styling Made Easier
- niku – With Niku, you can easily create sophisticated UIs without all the hassle. This toolkit provides an easy way to style widgets with property builders, so you can focus on what’s important – your app’s functionality. With Niku, you’ll be able to develop fluently and without headache – and Nested Hell will be a thing of the past!
- styled_widget – styled_widget is the perfect tool for streamlining your Flutter development experience. It seamlessly integrates with your codebase, making widget construction simpler than ever before. Inspired by CSS and SwiftUI, styled_widget makes it easy to create beautiful, sophisticated user interfaces.
- division – Introducing division, the simple to use yet powerfully stylish widget set that’s inspired by CSS. With its easy-to-use syntax, you can create beautiful widgets in no time and without the nested hell.
For Desktop
- win32 – The win32 package is a library that wraps some of the most frequent Win32 API calls using FFI to make them accessible to Dart code without requiring a C compiler or the Windows SDK.
- auto_updated – Flutter desktop apps can now automatically update themselves, thanks to the auto_updated plugin. This means your users always have the latest features and bug fixes, without having to download the installation file again.