代表的なFlutterパッケージ – よく使われるトップ選手を調べてみました!
Flutterアプリ開発でほぼ必ず使う、超定番パッケージを紹介します!
1️⃣ 状態管理
provider 一番人気! 中規模アプリ向け riverpod Providerの進化版、より安全 bloc 大規模アプリ、チーム開発向け get 簡単だけど好き嫌いが分かれる
2️⃣ ネットワーク通信(API呼び出し)
http 一番シンプル。基本的なGET/POST dio httpより高機能。インターセプター、キャンセル、進捗管理
// http パッケージ
import 'package:http/http.dart' as http;
final response = await http.get(Uri.parse('https://api.example.com/data'));
// dio パッケージ(より高機能)
import 'package:dio/dio.dart';
final dio = Dio();
final response = await dio.get('https://api.example.com/data');
3️⃣ データ保存(ローカルストレージ)
パッケージ 何を保存? 使い道 shared_preferences 設定、フラグ(bool, String, int) ログイン状態、テーマ設定 sqflite データベース(SQLite) ユーザーリスト、入金データ hive 軽量DB(NoSQL) sqfliteより簡単 isar 超高速DB 大量データ
// shared_preferences - 簡単な設定保存
final prefs = await SharedPreferences.getInstance();
await prefs.setBool('isDarkMode', true);
bool? isDark = prefs.getBool('isDarkMode');
// sqflite - データベース
final db = await openDatabase('my_database.db');
await db.insert('students', {'name': '田中太郎', 'fee': 8000});
4️⃣ UI・デザイン補助
google_fonts Googleフォント簡単導入 flutter_slidable スライドして削除/編集 flutter_staggered_grid_view カスタムグリッド表示 shimmer ローディング時のキラキラ効果 lottie 動くアニメーション(JSON)
// google_fonts
import 'package:google_fonts/google_fonts.dart';
Text(
'私のアプリ',
style: GoogleFonts.notoSans(fontSize: 24),
);
// flutter_slidable
Slidable(
endActionPane: ActionPane(
children: [
SlidableAction(
onPressed: (context) => deleteStudent(),
backgroundColor: Colors.red,
icon: Icons.delete,
label: '削除',
),
],
),
child: ListTile(title: Text('田中太郎')),
);
5️⃣ 日付・時刻
intl 日付フォーマット、多言語対応 table_calendar カレンダー表示
// intl
import 'package:intl/intl.dart';
final now = DateTime.now();
final formatted = DateFormat('yyyy年MM月dd日').format(now);
// 結果: "2026年01月10日"
final money = NumberFormat('#,###円').format(8000);
// 結果: "8,000円"
6️⃣ 画像関連
image_picker カメラ・ギャラリーから画像選択 cached_network_image ネット画像をキャッシュ表示 photo_view 画像の拡大・縮小
// image_picker
import 'package:image_picker/image_picker.dart';
final picker = ImagePicker();
final image = await picker.pickImage(source: ImageSource.gallery);
7️⃣ 便利ツール
url_launcher URLを開く、電話、メール share_plus 他アプリと共有 path_provider ファイル保存パス取得 permission_handler 権限リクエスト(カメラ、位置情報) uuid ユニークIDを生成
// url_launcher
import 'package:url_launcher/url_launcher.dart';
await launchUrl(Uri.parse('https://example.com')); // ブラウザで開く
await launchUrl(Uri.parse('tel:0312345678')); // 電話
await launchUrl(Uri.parse('mailto:test@example.com')); // メール
// share_plus
import 'package:share_plus/share_plus.dart';
Share.share('このアプリすごい便利! https://example.com');
8️⃣ 認証・課金
firebase_auth ログイン認証 google_sign_in Googleログイン in_app_purchase アプリ内課金
📊 人気ランキング トップ10
pub.dev の「いいね数」順:!
http – API通信
provider – 状態管理
shared_preferences – 設定保存
path_provider – ファイルパス
sqflite – データベース
url_launcher – URL/電話/メール
image_picker – 画像選択
intl – 日付フォーマット
google_fonts – フォント
dio – 高機能API通信
パッケージを探すには?pub.dev というサイト: 検索できる 人気順で並べられる 使い方(ドキュメント)が見られる 「いいね」の数で人気が分かる