I 10 pacchetti Flutter migliori e più popolari
Flutter è il toolkit di Google per la creazione di bellissime applicazioni compilate in modo nativo per dispositivi mobili, Web e desktop da una singola base di codice.
Flutter è basato sul linguaggio di programmazione Dart. Ha una comunità ampia e vivace su Dart.dev, che offre sia pacchetti supportati ufficialmente che di terze parti per rendere lo sviluppo su Flutter ancora più produttivo.
Questo articolo elenca i pacchetti più promettenti e più popolari per dare un’idea della maturità di Flutter come piattaforma.
1) HTTP
2) flutter_slidable
3) Condivisione di Preferences
4) sqflite
5) url_launcher
6) video_player
7) crypto
8) carousel_slider
9) path
10) location
1 HTTP
URL: https://pub.dev/packages/http
Funziona su: iOS, Android, Web
Oggigiorno tutto è basato sul web, quindi una solida libreria HTTP è un must. Questo pacchetto Dart contiene una serie di funzioni e classi di alto livello che semplificano l’utilizzo delle risorse HTTP. È ben sviluppato e gestito attivamente dal team Dart. È in circolazione dal 2012, quindi dovrebbe essere solido come una roccia!
La libreria offre funzioni di alto livello che semplificano il lavoro con HTTP:
import 'package:http/http.dart' as http; # Posting data var url = 'https://example.com/whatsit/create'; var data = {'name': 'Jack', 'age': 38}; var response = await http.post(url, body: data); print('Response status: ${response.statusCode}'); print('Response body: ${response.body}'); # A simple GET request print(await http.read('https://example.com/foobar.txt'));
2 flutter_slidable
URL: https://pub.dev/packages/flutter_slidable
Funziona su: iOS, Android, Web
Il plug-in flutter_slidable aggiunge un widget di scorrimento ricco di funzionalità al vostro progetto. I cursori come questo sono spesso visti in elenchi scorrevoli. L’app Gmail è un esempio notevole, in cui gli elementi dell’elenco scorrevole offrono un significativo miglioramento della produttività.
Questo plugin è ricco di funzionalità e pronto per l’uso, ma anche altamente personalizzabile se necessario. Alcune delle caratteristiche elencate sono:
– Accetta elenchi di widget principali (sinistra / in alto) e secondari (destra / in basso) come azioni di diapositiva
– Può essere dismesso
– Quattro riquadri azione integrati
– Due widget di azione di diapositiva incorporati
– Animazione di eliminazione incorporata
– Crea facilmente layout e animazioni personalizzati
– Si chiude quando un’azione di scorrimento è stata toccata (sovrascrivibile)
– Si chiude quando lo scorrevole più vicino inizia a scorrere (sovrascrivibile)
– Opzione per disabilitare facilmente l’effetto diapositiva
3 Condivisione di Preferences
URL: https://pub.dev/packages/shared_preferences
Funziona su: iOS, Android, Web, Linux
Questo pacchetto racchiude le librerie di archiviazione persistente specifiche della piattaforma. È indentato per dati semplici, come le preferenze dell’utente, e utilizza:
– NSUserDefaults su iOS e macOS
– SharedPreferences su Android
– LocalStorage sui siti web
– Un file JSON sul file system locale per Linux
I dati possono essere conservati su disco in modo asincrono e non vi è alcuna garanzia che le scritture verranno mantenute su disco dopo la restituzione, quindi questo plug-in non è pensato per l’archiviazione di dati critici. Per quello si usa normalmente sqflite (vedi sotto).
4 sqflite
URL: https://pub.dev/packages/sqflite
Funziona su: iOS, Android, MacOS
Questo è il plugin SQLite per Flutter. Supporta iOS, Android e MacOS. Il Web non è supportato poiché non esiste un sistema di persistenza basato su SQL nei browser Web. Alcune delle sue caratteristiche sono:
– Supporto per transazioni e batch
– Gestione automatica delle versioni
– Aiutanti per inserire / interrogare / aggiornare / eliminare query
Le operazioni vengono eseguite in un thread in background su iOS e Android per impedire il blocco dell’interfaccia utente
Se hai bisogno di qualcosa di più dell’archiviazione dei dati di base (shared_preferences), non cercare oltre.
5 url_launcher
URL: https://pub.dev/packages/url_launcher
Funziona su: iOS, Android, Web
Questo plugin ti aiuta ad avviare un URL. Gli URL possono essere dei seguenti tipi:
HTTP: http://example.org e https://example.org
E-mail: mailto:
Numeri di telefono: tel:
Messaggio di testo SMS: sms:
L’utilizzo di base è molto semplice:
const url = 'https://flutter.dev'; if (await canLaunch(url)) { await launch(url); } else { throw 'Could not launch $url'; }
6 video_player
URL: https://pub.dev/packages/video_player
Funziona su: iOS, Android, Web
Sono supportati molti formati, ma tutto dipende dalla piattaforma che stai utilizzando. Ad esempio, le librerie di supporto differiscono per iOS e Android. Inoltre, sul Web, i formati supportati dipendono dal browser che stai utilizzando.
Tieni presente che anche se si chiama video_player, questo plug-in può anche riprodurre l’audio. Poiché il plug-in è piuttosto maturo e ha raggiunto la stabilità dell’API, non è una cattiva idea usarlo per l’audio su alcune delle alternative.
Questo plugin può riprodurre video da un file locale (risorse) e un server remoto (ad esempio, un sito web).
7 crypto
Funziona su: tutte le piattaforme
Proveniente dallo stesso team di Dart, questo è un insieme di funzioni di hashing crittografiche implementate in puro Dart. Ciò significa che non hai bisogno di librerie esterne per farlo funzionare.
Sono supportati i seguenti algoritmi di hashing:
SHA-1
SHA-224
SHA-256
SHA-384
SHA-512
MD5
HMAC (ovvero HMAC-MD5, HMAC-SHA1, HMAC-SHA256)
Poiché questo non è uno strumento GUI ma semplicemente una libreria crittografica, funziona su tutte le piattaforme supportate.
8 carousel_slider
URL: https://pub.dev/packages/carousel_slider
Funziona su: iOS, Android, Web
Un cursore a carosello fa parte di molte app e siti Web. Il plug-in carousel_slider offre un carosello eccellente e personalizzabile che funziona su più piattaforme.
Poiché il carousel accetta i widget come contenuto, puoi far scorrere qualsiasi cosa che possa essere un widget.
Per esempi dal vivo, puoi visitare questo sito Web, che utilizza Flutter web per dimostrare il plug-in.
Ecco un esempio di come creare un carosello nella tua app:
CarouselSlider( options: CarouselOptions(height: 400.0), items: [1,2,3,4,5].map((i) { return Builder( builder: (BuildContext context) { return Container( width: MediaQuery.of(context).size.width, margin: EdgeInsets.symmetric(horizontal: 5.0), decoration: BoxDecoration( color: Colors.amber ), child: Text('text $i', style: TextStyle(fontSize: 16.0),) ); }, ); }).toList(), )
Il carosello ha diverse opzioni configurabili, come:
– l’altezza e le proporzioni
– abilitare lo scorrimento infinito
– invertendo la giostra
– abilitare la riproduzione automatica con un intervallo configurabile, durata dell’animazione
– definire la direzione di scorrimento (verticale, orizzontale)
9 path
URL: https://pub.dev/packages/path
Funziona su: iOS, Android, Web
I percorsi sono sia facili che incredibilmente complessi perché differiscono da piattaforma a piattaforma. Per assicurarti di non introdurre bug o vulnerabilità di sicurezza nel tuo codice, usa sempre la libreria dei percorsi quando gestisci i percorsi. Per unire una directory e un file con il separatore di file per il sistema operativo corrente, utilizzare:
import 'package:path/path.dart' as p; p.join('directory', 'file.txt');
10 location
URL: https://pub.dev/packages/location
Funziona su: iOS, Android, Web, MacOS
Uno dei grandi vantaggi dei telefoni è la loro mobilità combinata con la capacità di tracciare accuratamente la posizione. Questo ci ha già fornito molte applicazioni utili. Il plug-in di posizione per Flutter semplifica l’accesso alla posizione corrente. Fornisce callback quando la posizione è cambiata. Offre inoltre endpoint API per richiedere correttamente l’accesso alla posizione di un utente.