Convert Figma logo to code with AI

fluttercommunity logoplus_plugins

Flutter Community Plus Plugins

1,552
931
1,552
136

Top Related Projects

17,469

Plugins for Flutter maintained by the Flutter team

Permission plugin for Flutter. This plugin provides a cross-platform (iOS, Android) API to request and check permissions.

Android and iOS Geolocation plugin for Flutter

File picker plugin for Flutter, compatible with mobile (iOS & Android), Web, Desktop (Mac, Linux, Windows) platforms with Flutter Go support.

2,855

SQLite flutter plugin

Quick Overview

Plus Plugins is a collection of Flutter plugins that extend the functionality of existing Flutter plugins or provide new features. These plugins are maintained by the Flutter Community, ensuring high-quality and up-to-date implementations for various platform-specific functionalities.

Pros

  • Extends functionality of existing Flutter plugins
  • Maintained by the Flutter Community, ensuring quality and updates
  • Provides a wide range of plugins for different platform-specific features
  • Easy integration with existing Flutter projects

Cons

  • Some plugins may have limited platform support
  • Dependency on third-party maintainers for updates and bug fixes
  • Potential compatibility issues with future Flutter versions
  • Limited documentation for some plugins

Code Examples

  1. Using the Network Info Plus plugin to get Wi-Fi details:
import 'package:network_info_plus/network_info_plus.dart';

final info = NetworkInfo();
String? wifiName = await info.getWifiName();
String? wifiIP = await info.getWifiIP();
  1. Implementing Android Alarm Manager Plus for background tasks:
import 'package:android_alarm_manager_plus/android_alarm_manager_plus.dart';

await AndroidAlarmManager.initialize();
await AndroidAlarmManager.periodic(const Duration(hours: 1), 0, backgroundTask);

void backgroundTask() {
  print('Background task executed');
}
  1. Using Device Info Plus to get device information:
import 'package:device_info_plus/device_info_plus.dart';

final deviceInfo = DeviceInfoPlugin();
if (Platform.isAndroid) {
  final androidInfo = await deviceInfo.androidInfo;
  print('Running on ${androidInfo.model}');
} else if (Platform.isIOS) {
  final iosInfo = await deviceInfo.iosInfo;
  print('Running on ${iosInfo.utsname.machine}');
}

Getting Started

To use Plus Plugins in your Flutter project, add the desired plugin to your pubspec.yaml file:

dependencies:
  flutter:
    sdk: flutter
  network_info_plus: ^3.0.1
  android_alarm_manager_plus: ^2.1.0
  device_info_plus: ^8.0.0

Then, run flutter pub get to install the dependencies. Import the required plugins in your Dart files and start using them as shown in the code examples above.

Competitor Comparisons

17,469

Plugins for Flutter maintained by the Flutter team

Pros of plugins

  • Official Flutter team maintenance ensures high-quality and up-to-date plugins
  • Wider range of plugins available, covering more diverse functionalities
  • Tighter integration with Flutter framework and potential for performance optimizations

Cons of plugins

  • Slower release cycle due to rigorous review process
  • Less community involvement in decision-making and feature prioritization
  • Some plugins may lack platform-specific features or optimizations

Code Comparison

plugins:

import 'package:connectivity/connectivity.dart';

var connectivityResult = await (Connectivity().checkConnectivity());
if (connectivityResult == ConnectivityResult.mobile) {
  // Mobile data detected
} else if (connectivityResult == ConnectivityResult.wifi) {
  // Wi-Fi detected
}

plus_plugins:

import 'package:connectivity_plus/connectivity_plus.dart';

var connectivityResult = await (Connectivity().checkConnectivity());
if (connectivityResult == ConnectivityResult.mobile) {
  // Mobile data detected
} else if (connectivityResult == ConnectivityResult.wifi) {
  // Wi-Fi detected
}

The code usage is nearly identical, with the main difference being the import statement. plus_plugins often provide additional features or platform-specific optimizations while maintaining similar APIs to their plugins counterparts.

Permission plugin for Flutter. This plugin provides a cross-platform (iOS, Android) API to request and check permissions.

Pros of flutter-permission-handler

  • Focused specifically on permission handling, providing a more comprehensive and specialized solution
  • Offers a wider range of permission types, including more granular controls
  • Provides more detailed permission status information and request results

Cons of flutter-permission-handler

  • Limited to permission-related functionality, requiring additional plugins for other features
  • May have a steeper learning curve due to its more specialized nature
  • Potentially larger package size compared to the more modular plus_plugins approach

Code Comparison

flutter-permission-handler:

import 'package:permission_handler/permission_handler.dart';

Future<void> requestCameraPermission() async {
  var status = await Permission.camera.request();
  if (status.isGranted) {
    // Camera permission granted
  }
}

plus_plugins (camera_plus):

import 'package:camera_plus/camera_plus.dart';

Future<void> requestCameraPermission() async {
  var status = await CameraPlus.requestPermissions();
  if (status == PermissionStatus.granted) {
    // Camera permission granted
  }
}

The flutter-permission-handler provides a more granular approach to permission handling, while plus_plugins offers a simpler, more streamlined API for specific functionalities. The choice between the two depends on the project's specific requirements and the desired level of control over permissions.

Android and iOS Geolocation plugin for Flutter

Pros of flutter-geolocator

  • More focused on geolocation functionality, providing a comprehensive set of features for location-based services
  • Offers advanced features like geofencing and activity recognition
  • Well-documented API with clear examples and usage guidelines

Cons of flutter-geolocator

  • Limited to geolocation-specific features, unlike plus_plugins which covers a broader range of functionalities
  • May require additional plugins for other device features not related to location services
  • Slightly larger package size due to its specialized nature

Code Comparison

flutter-geolocator:

import 'package:geolocator/geolocator.dart';

Position position = await Geolocator.getCurrentPosition(
    desiredAccuracy: LocationAccuracy.high);

plus_plugins (location_plus):

import 'package:location/location.dart';

Location location = Location();
LocationData locationData = await location.getLocation();

Both packages offer similar basic functionality for getting the current location, but flutter-geolocator provides more options for accuracy and additional location-related features. plus_plugins, being a collection of various plugins, offers a wider range of functionalities beyond just location services, making it a more versatile choice for projects requiring multiple device features.

File picker plugin for Flutter, compatible with mobile (iOS & Android), Web, Desktop (Mac, Linux, Windows) platforms with Flutter Go support.

Pros of flutter_file_picker

  • Focused specifically on file picking functionality, potentially offering more specialized features
  • Simpler API for basic file picking operations
  • Supports custom file extensions and MIME types

Cons of flutter_file_picker

  • Limited to file picking, while plus_plugins offers a wider range of functionalities
  • May have less frequent updates or community support compared to the Flutter Community project
  • Potentially less integration with other Flutter ecosystem tools

Code Comparison

flutter_file_picker:

FilePickerResult? result = await FilePicker.platform.pickFiles();
if (result != null) {
  File file = File(result.files.single.path!);
}

plus_plugins (using file_selector):

final XTypeGroup typeGroup = XTypeGroup(label: 'images', extensions: ['jpg', 'png']);
final XFile? file = await openFile(acceptedTypeGroups: [typeGroup]);
if (file != null) {
  final String filePath = file.path;
}

Both repositories provide file picking functionality, but flutter_file_picker offers a more straightforward API for basic operations. plus_plugins, being a collection of plugins, provides a wider range of features beyond just file picking. The choice between them depends on whether you need a specialized file picking solution or a more comprehensive set of plugins for various functionalities in your Flutter project.

2,855

SQLite flutter plugin

Pros of sqflite

  • Specialized for SQLite database operations in Flutter
  • Provides low-level database access and custom SQL queries
  • Well-established and widely used in the Flutter community

Cons of sqflite

  • Limited to SQLite databases only
  • Requires more manual setup and SQL knowledge
  • Less comprehensive compared to the wide range of plugins in plus_plugins

Code Comparison

sqflite:

final db = await openDatabase('my_db.db');
await db.execute('CREATE TABLE Test (id INTEGER PRIMARY KEY, name TEXT)');
await db.insert('Test', {'name': 'John'});
List<Map> result = await db.query('Test', where: 'name = ?', whereArgs: ['John']);

plus_plugins (using shared_preferences as an example):

final prefs = await SharedPreferences.getInstance();
await prefs.setString('name', 'John');
String? name = prefs.getString('name');

Summary

sqflite is a specialized SQLite database plugin for Flutter, offering low-level database access and custom SQL queries. It's well-established but limited to SQLite operations. plus_plugins, on the other hand, provides a wider range of plugins for various functionalities, including simpler data storage options like shared_preferences. The choice between them depends on the specific needs of your project, with sqflite being more suitable for complex database operations and plus_plugins offering a broader set of tools for different purposes.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Plus plugins

build

all_plugins GitHub Workflow Status Follow on Twitter


PlusPlugins is a set of Flutter plugins that is developed based on plugins, which previously existed as a part of Flutter plugins, with extra functionalities, support for more platforms and better maintenance.

Feedback and Pull Requests are most welcome!

Plugins

Table of contents:


battery_plus

battery_plus pub points

Flutter plugin for accessing information about the battery state(full, charging, discharging) on Android and iOS.

[View Source]

Platform Support

AndroidiOSMacOSWebLinuxWindows
✅✅✅✅✅✅

connectivity_plus

connectivity_plus pub points

Flutter plugin for discovering the state of the network (WiFi & mobile/cellular) connectivity on Android and iOS.

[View Source]

Platform Support

AndroidiOSMacOSWebLinuxWindows
✅✅✅✅✅✅

device_info_plus

device_info_plus pub points

Flutter plugin providing detailed information about the device (make, model, etc.), and Android or iOS version the app is running on.

[View Source]

Platform Support

AndroidiOSMacOSWebLinuxWindows
✅✅✅✅✅✅

network_info_plus

network_info_plus pub points

Flutter plugin for discovering network info.

[View Source]

Platform Support

AndroidiOSMacOSWebLinuxWindows
✅✅✅❌✅✅

package_info_plus

package_info_plus pub points

Flutter plugin for querying information about the application package, such as CFBundleVersion on iOS or versionCode on Android.

[View Source]

Platform Support

AndroidiOSMacOSWebLinuxWindows
✅✅✅✅✅✅

sensors_plus

sensors_plus pub points

Flutter plugin for accessing accelerometer, gyroscope, magnetometer and barometer sensors.

[View Source]

Platform Support

AndroidiOSMacOSWebLinuxWindows
✅✅❌✅❌❌

share_plus

share_plus pub points

Flutter plugin for sharing content via the platform share UI, using the ACTION_SEND intent on Android and UIActivityViewController on iOS.

[View Source]

Platform Support

AndroidiOSMacOSWebLinuxWindows
✅✅✅✅✅✅

android_alarm_manager_plus

android_alarm_manager_plus pub points

Flutter plugin for accessing the Android AlarmManager service, and running Dart code in the background when alarms fire.

[View Source]

Platform Support

Android
✅

android_intent_plus

android_intent_plus pub points

Flutter plugin for launching Android Intents. Not supported on iOS.

[View Source]

Platform Support

Android
✅

Issues

Please file PlusPlugins specific issues, bugs, or feature requests in our issue tracker.

Plugin issues that are not specific to PlusPlugins can be filed in the Flutter issue tracker.

Contributing

If you wish to contribute a change to any of the existing plugins in this repo, please review our contribution guide and open a pull request.

Status

This repository is maintained by FlutterCommunity authors. Issues here are answered by maintainers and other community members on GitHub on a best-effort basis.