20 best flutter libraries for professional developers
Published: 2022-01-25 14:16:49

<span style="font-weight: 400;">A lot of developers use libraries in their work. In the last article, the Code.Market team shared the best libraries for beginners. In this article, we've listed the most important libraries that professional developers use in their toolkit. </span>

</span>

&nbsp;
<h2><a href="https://code.market/libs/flutter/characters-1-2-0/?utm_source=dev.to&utm_medium=article&utm_campaign=flutter_libraries/"><span style="font-weight: 400;">characters 1.2.0 </span></a></h2>
<img class="alignright size-medium wp-image-77569" src="https://code.market/wp-content/uploads/2022/01/characters-1.2.0--900x508.jpg" alt="characters 1.2.0 " width="900" height="508" />

<span style="font-weight: 400;">This library is needed in every application.  You can use it to interact with  individual characters of a word.  Save it so you don't lose it!
For example to get first tag(<) character
```
// Using CharacterRange operations.
Characters firstTagCharacters(Characters source) {
  var range = source.findFirst("<".characters);
  if (range != null && range.moveUntil(">".characters)) {
    return range.currentCharacters;
  }
  return null;
}
```

&nbsp;
<h2><a href="https://code.market/libs/flutter/pretty_dio_logger-1-1-1/?utm_source=dev.to&utm_medium=article&utm_campaign=flutter_libraries/"><span style="font-weight: 400;">pretty_dio_logger 1.1.1</span></a></h2>
<img class="alignright size-medium wp-image-77563" src="https://code.market/wp-content/uploads/2022/01/pretty_dio_logger-1.1.1-900x508.jpg" alt="pretty_dio_logger 1.1.1" width="900" height="508" />

<span style="font-weight: 400;">This library is called pretty for a reason. This feature  logger is a Dio interceptor that logs network calls in a pretty, easy to read format.   Pretty, huh? Nothing superfluous, handy and quick way to detect the errors in sec.</span>

Example:

```
Dio dio = Dio();
dio.interceptors.add(PrettyDioLogger());
// customization
   dio.interceptors.add(PrettyDioLogger(
        requestHeader: true,
        requestBody: true,
        responseBody: true,
        responseHeader: false,
        error: true,
        compact: true,
        maxWidth: 90));
```
<img src="https://github.com/Milad-Akarie/pretty_dio_logger/raw/master/images/response_log_android_studio.png?raw=true">

<h2><a href="https://code.market/libs/flutter/extension-0-2-0/?utm_source=dev.to&utm_medium=article&utm_campaign=flutter_libraries/"><span style="font-weight: 400;">extension 0.2.0</span></a></h2>
<img class="alignright size-medium wp-image-77579" src="https://code.market/wp-content/uploads/2022/01/TVskkks-glitch-900x508.jpg" alt="extension 0.2.0" width="900" height="508" />

<span style="font-weight: 400;">Another useful library for Flutter that will extent your dart methods.

For example use plural forms for Russian words

```
plural(1, 'дом', 'дома', 'домов'); // returns дом
plural(2, 'дом', 'дома', 'домов'); // returns дома
plural(5, 'дом', 'дома', 'домов'); // returns домов
```

Or some fancy methods to get date:

```
// Is today
DateTime.now().isToday; // return bool
There are also a couple of useful links to other libraries inside.
```

<h2><a href="https://code.market/libs/flutter/undo-1-4-0/?utm_source=code+market&amp;utm_medium=article"><span style="font-weight: 400;">undo 1.4.0 </span></a></h2>
<img class="alignright size-medium wp-image-77581" src="https://code.market/wp-content/uploads/2022/01/TV-glitch-900x508.jpg" alt="undo 1.4.0 " width="900" height="508" />

<span style="font-weight: 400;">The library to undo and redo your changes in flutter project.
Undo a change with undo().

```
print(person.firstName); // Jane
changes.undo();
print(person.firstName); // John
```

</span>
 

</span>
<h2><a href="https://code.market/libs/flutter/linter-1-18-0/?utm_source=dev.to&utm_medium=article&utm_campaign=flutter_libraries/"><span style="font-weight: 400;">linter 1.18.0</span></a></h2>
<img class="alignright size-medium wp-image-77580" src="https://code.market/wp-content/uploads/2022/01/TV-glihgfdvhstch-900x508.jpg" alt="linter 1.18.0" width="900" height="508" />

<span style="font-weight: 400;">The Dart Linter library defines lint rules that identify and report on "lints" found in Dart code. </span>



 </span>
<h2><a href="https://code.market/libs/flutter/isolated_worker-0-1-0/?utm_source=dev.to&utm_medium=article&utm_campaign=flutter_libraries/"><span style="font-weight: 400;">isolated_worker 0.1.0</span></a></h2>
<img class="alignright size-medium wp-image-77578" src="https://code.market/wp-content/uploads/2022/01/TV-xjzjglitch-900x508.jpg" alt="isolated_worker 0.1.0" width="900" height="508" />

<span style="font-weight: 400;">The singleton isolated worker for all platforms. This is the way to isolate processes. On most platforms, it uses Flutter's Isolate, except on the web, since Isolate is not available, it uses Worker instead.

Basic example:
</span>
```
    // if using compute function:
    // compute(doSomeHeavyCalculation, 1000);
    IsolatedWorker().run(doSomeHeavyCalculation, 1000);
```

&nbsp;
<h2><a href="https://code.market/libs/flutter/timeago-3-1-0/?utm_source=dev.to&utm_medium=article&utm_campaign=flutter_libraries/"><span style="font-weight: 400;">timeago 3.1.0 </span></a></h2>
<img class="alignright size-medium wp-image-77577" src="https://code.market/wp-content/uploads/2022/01/timeago-3.1.0--900x508.jpg" alt="timeago 3.1.0 " width="900" height="508" />

<span style="font-weight: 400;">If you need fuzzy timestamps, you need to save this library.  It takes you only five minutes and will save you a lot of effort. All you have to do is load the locales you want, because this library only supports English and Spanish.

The easiest way to use this library via top-level function format(date):
```
    final fifteenAgo = new DateTime.now().subtract(new Duration(minutes: 15));

    print(timeago.format(fifteenAgo)); // 15 minutes ago
    print(timeago.format(fifteenAgo, locale: 'en_short')); // 15m
    print(timeago.format(fifteenAgo, locale: 'es')); // hace 15 minutos
```
 </span>

&nbsp;
<h2><a href="https://code.market/libs/flutter/web3dart-2-3-3/?utm_source=dev.to&utm_medium=article&utm_campaign=flutter_libraries/"><span style="font-weight: 400;">web3dart 2.3.3 </span></a></h2>
<img class="alignright size-medium wp-image-77576" src="https://code.market/wp-content/uploads/2022/01/web3dart-2.3.3--900x508.jpg" alt="web3dart 2.3.3 " width="900" height="508" />

<span style="font-weight: 400;">Do you need a dart library that connects to interact with the Ethereum blockchain? This library includes many features like: connect to an Ethereum node with the rpc-api, call common methods; send signed Ethereum transactions; generate private keys, setup new Ethereum addresses and much more.

```
import 'dart:math'; //used for the random number generator

import 'package:web3dart/web3dart.dart';
// You can create Credentials from private keys
Credentials fromHex = EthPrivateKey.fromHex("c87509a[...]dc0d3");

// Or generate a new key randomly
var rng = new Random.secure();
Credentials random = EthPrivateKey.createRandom(random)(rng);

// In either way, the library can derive the public key and the address
// from a private key:
var address = await credentials.extractAddress();
print(address.hex);
```
</span>

&nbsp;
<h2><a href="https://code.market/libs/flutter/translator-0-1-7/?utm_source=dev.to&utm_medium=article&utm_campaign=flutter_libraries/%20%E2%80%8E"><span style="font-weight: 400;">translator 0.1.7 </span></a></h2>
<img class="alignright size-medium wp-image-77575" src="https://code.market/wp-content/uploads/2022/01/translator-0.1.7-900x508.jpg" alt="translator 0.1.7" width="900" height="508" />

<span style="font-weight: 400;">Free Google Translate API for Dart. The translator brought the world closer. Make your app closer to your users by adding a feature like the translator.

```
translator.translate("I love Brazil!", from: 'en', to: 'pt').then((s) {
    print(s);
  }); 
  // prints Eu amo o Brasil!
```
</span><span style="font-weight: 400;"> </span>
<h2><a href="https://code.market/libs/flutter/faker-2-0-0/?utm_source=dev.to&utm_medium=article&utm_campaign=flutter_libraries/"><span style="font-weight: 400;">faker 2.0.0</span></a></h2>
<img class="alignright size-medium wp-image-77574" src="https://code.market/wp-content/uploads/2022/01/faker-2.0.0-900x508.jpg" alt="faker 2.0.0" width="900" height="508" />

<span style="font-weight: 400;">Library inspired by the Python package faker, and the Ruby package faker. Allows you to create fake email, name or any random sentence quickly and easily. In case you need.

```
 var faker = new Faker();

  faker.internet.email();
  // francisco_lebsack@buckridge.com

  faker.internet.ipv6Address();
  // 2450:a5bf:7855:8ce9:3693:58db:50bf:a105

  faker.internet.userName();
  // fiona-ward

  faker.person.name();
  // Fiona Ward

  faker.person.prefix();
  // Mrs.

  faker.person.suffix();
  // Sr.
  
  faker.lorem.sentence();
  // Nec nam aliquam sem et
```
</span>

&nbsp;
<h2><a href="https://code.market/libs/flutter/english_words-4-0-0/?utm_source=dev.to&utm_medium=article&utm_campaign=flutter_libraries/"><span style="font-weight: 400;">english_words 4.0.0 </span></a></h2>
<img class="alignright size-medium wp-image-77573" src="https://code.market/wp-content/uploads/2022/01/english_words-4.0.0--900x508.jpg" alt="english_words 4.0.0 " width="900" height="508" />

<span style="font-weight: 400;">This package contains the most used English words and some utility functions. There are more than 5,000 words in the set. British or American English, who cares now? All at your fingertips.

```
nouns.take(50).forEach(print);
```
</span>

&nbsp;
<h2><a href="https://code.market/libs/flutter/mockito-5-0-17/?utm_source=dev.to&utm_medium=article&utm_campaign=flutter_libraries/"><span style="font-weight: 400;">mockito 5.0.17</span></a></h2>
<img class="alignright size-medium wp-image-77572" src="https://code.market/wp-content/uploads/2022/01/mockito-5.0.17-900x508.jpg" alt="mockito 5.0.17" width="900" height="508" />

<span style="font-weight: 400;">You need this library to generate mock classes. It's very easy to use. It will be easy and simple for you to create stubs and checks for each class.

```
// Annotation which generates the cat.mocks.dart library and the MockCat class.
@GenerateMocks([Cat])
void main() {
  // Create mock object.
  var cat = MockCat();
}
```
 </span>

&nbsp;
<h2><a href="https://code.market/libs/flutter/pdf-3-6-5/?utm_source=dev.to&utm_medium=article&utm_campaign=flutter_libraries/"><span style="font-weight: 400;">pdf 3.6.5</span></a></h2>
<img class="alignright size-medium wp-image-77571" src="https://code.market/wp-content/uploads/2022/01/pdf-3.6.5-900x508.jpg" alt="pdf 3.6.5" width="900" height="508" />

<span style="font-weight: 400;">This library  can create a full multi-pages pdf document with graphics, images, and text using TrueType fonts.  Everything brilliant is simple! 

```
final pdf = pw.Document();

pdf.addPage(pw.Page(
      pageFormat: PdfPageFormat.a4,
      build: (pw.Context context) {
        return pw.Center(
          child: pw.Text("Hello World"),
        ); // Center
      })); // Page
```
</span>

&nbsp;
<h2><a href="https://code.market/libs/flutter/sensors_plus-1-2-1/?utm_source=dev.to&utm_medium=article&utm_campaign=flutter_libraries/"><span style="font-weight: 400;">sensors_plus 1.2.1 </span></a></h2>
<img class="alignright size-medium wp-image-77570" src="https://code.market/wp-content/uploads/2022/01/sensors_plus-1.2.1--900x508.jpg" alt="sensors_plus 1.2.1 " width="900" height="508" />

<span style="font-weight: 400;">Add a compass to your app. Using the accelerometer, your app will be able to detect whether your smartphone is moving or not. Great for working with maps or a pedometer. 

```
accelerometerEvents.listen((AccelerometerEvent event) {
  print(event);
});
// [AccelerometerEvent (x: 0.0, y: 9.8, z: 0.0)]
```

</span>

&nbsp;
<h2><a href="https://code.market/libs/flutter/infinite_scroll_pagination-3-1-0/?utm_source=dev.to&utm_medium=article&utm_campaign=flutter_libraries/https://pub.dev/packages/infinite_scroll_pagination"><span style="font-weight: 400;">infinite_scroll_pagination 3.1.0</span></a></h2>
<img class="alignright size-medium wp-image-77568" src="https://code.market/wp-content/uploads/2022/01/infinite_scroll_pagination-3.1.0-900x508.jpg" alt="infinite_scroll_pagination 3.1.0" width="900" height="508" />

<span style="font-weight: 400;">Scrolling pagination, endless scrolling pagination, auto-pagination, lazy loading pagination, progressive loading pagination, etc - there are a lot of words, but there is only one library. Use this library to let your application scroll indefinitely.</span>
<img src="https://raw.githubusercontent.com/EdsonBueno/infinite_scroll_pagination/master/docs/assets/demo.gif">

&nbsp;
<h2><a href="https://code.market/libs/flutter/sign_in_with_apple-3-3-0/?utm_source=dev.to&utm_medium=article&utm_campaign=flutter_libraries/"><span style="font-weight: 400;">sign_in_with_apple 3.3.0 </span></a></h2>
<img class="alignright size-medium wp-image-77567" src="https://code.market/wp-content/uploads/2022/01/sign_in_with_apple-3.3.0--900x508.jpg" alt="sign_in_with_apple 3.3.0 " width="900" height="508" />

<span style="font-weight: 400;">Everyone likes quick and simple solutions.That's why Apple ID signup is exactly what your app needs! </span>

<span style="font-weight: 400;">Using this app you'll make your users very happy because it's handy, fast, and with this library it's also of high quality.

```
SignInWithAppleButton(
  onPressed: () async {
    final credential = await SignInWithApple.getAppleIDCredential(
      scopes: [
        AppleIDAuthorizationScopes.email,
        AppleIDAuthorizationScopes.fullName,
      ],
    );

    print(credential);

    // Now send the credential (especially `credential.authorizationCode`) to your server to create a session
    // after they have been validated with Apple (see `Integration` section for more information on how to do this)
  },
);
```
 </span>

&nbsp;
<h2><a href="https://code.market/libs/flutter/connectivity_plus-2-2-0/?utm_source=dev.to&utm_medium=article&utm_campaign=flutter_libraries/"><span style="font-weight: 400;">connectivity_plus 2.2.0</span></a></h2>
<img class="alignright size-medium wp-image-77566" src="https://code.market/wp-content/uploads/2022/01/connectivity_plus-2.2.0-900x508.jpg" alt="connectivity_plus 2.2.0" width="900" height="508" />

<span style="font-weight: 400;">This plugin will allow your app to recognize cellular and wi-fi connections. Useful thing that will make it user-friendly.  

```
import 'package:connectivity_plus/connectivity_plus.dart';

var connectivityResult = await (Connectivity().checkConnectivity());
if (connectivityResult == ConnectivityResult.mobile) {
  // I am connected to a mobile network.
} else if (connectivityResult == ConnectivityResult.wifi) {
  // I am connected to a wifi network.
}
```
</span>
<h2><a href="https://code.market/libs/flutter/just_audio-0-9-18/?utm_source=dev.to&utm_medium=article&utm_campaign=flutter_libraries/"><span style="font-weight: 400;">just_audio 0.9.18</span></a></h2>
<img class="alignright size-medium wp-image-77565" src="https://code.market/wp-content/uploads/2022/01/just_audio-0.9.18-900x508.jpg" alt="just_audio 0.9.18" width="900" height="508" />

<span style="font-weight: 400;">The flutter plugin system contains a rich variety of useful audio plugins. In order for them to work together in one application, “just_audio” that's all you need. By focusing on a single duty, different audio plug-ins can safely work together without overlapping duties causing runtime conflicts. Inside the library are links to other useful features that allow you to play audio in the background, etc. Just use it!
<img src="https://user-images.githubusercontent.com/19899190/125459608-e89cd6d4-9f09-426c-abcc-ed7513d9acfc.png">
</span>

&nbsp;
<h2><a href="https://code.market/libs/flutter/graphql-5-0-0/?utm_source=dev.to&utm_medium=article&utm_campaign=flutter_libraries/"><span style="font-weight: 400;">graphql 5.0.0</span></a></h2>
<img class="alignright size-medium wp-image-77564" src="https://code.market/wp-content/uploads/2022/01/graphql-5.0.0-900x508.jpg" alt="graphql 5.0.0" width="900" height="508" />

<span style="font-weight: 400;">GraphQL has many advantages, both for the client  and for the programmer: the devices will need fewer queries and therefore less data consumption. Also queries are reasoned, they have the same structure as a query. That's why it's so easy to work with. You should try the most popular GraphQL client for dart.</span>



&nbsp;
<h2><a href="https://code.market/libs/flutter/translator-0-1-7-2/?utm_source=dev.to&utm_medium=article&utm_campaign=flutter_libraries/"><span style="font-weight: 400;">translator 0.1.7</span></a></h2>
<img class="alignright size-medium wp-image-77562" src="https://code.market/wp-content/uploads/2022/01/translatorbbb-0.1.7-900x508.jpg" alt="translator 0.1.7" width="900" height="508" />

<span style="font-weight: 400;">The translator is a useful feature for your app. Its essence is simple. Using translate method passing the args from and to designates the language from text you're typing and the language to be translated or you can omit from language and it'll auto-detect the language of source text and also pass the value to a var using await. </span>

<span style="font-weight: 400;">What libraries do you use in your own work? Share in the comments. </span>

&nbsp;