【初心者向け】Flutter おすすめパッケージ
先日、初めてFlutterアプリをリリースしました。
Flutterでの開発が初めてだったため、どんなパッケージ(ライブラリ)が存在するかも分からない状態だったのですが、実際に使ってみて「これは良さそう」と感じたパッケージをまとめてみました。参考になれば嬉しいです。
1. アプリ起動前〜起動時
flutter_launcher_icons
アプリのアイコンを設定できるパッケージです。
pubspec.yaml
に、アイコン画像のパスを設定するだけで、簡単にアイコンを設定できます。
flutter_native_splash
スプラッシュ画面を表示できるパッケージです。
スプラッシュ画面とは、アプリを開いた時に数秒間表示される画面で、一般的にはアプリのロゴなどで構成されます。
このパッケージでは、pubspec.yaml
内にロゴ画像のパスと背景色を指定するだけで、簡単にスプラッシュ画面を作ることができます。
flutter_dotenv
環境変数を読み込むことができるパッケージです。
開発時と本番ビルド時で別々の環境変数を読み込む運用が可能になります。
uni_links
ユニバーサルリンクからアプリを起動した際の処理を簡単にできるパッケージです。
ユニバーサルリンクとはURLのような文字列で、アクセスすると特定のアプリが起動するリンクのことです。
2. UIフィードバック
flutter_easyloading
ローディングマークを表示できるパッケージです。
個人的には、以下のようなタイミングで使うと良いと思います。
- データ読み込み中
- フォーム送信中(データ保存中)
ローディングマークのWidgetや、背景色などもカスタマイズ可能です。
fluttertoast
トーストを表示できるパッケージです。
トーストとは、画面の下の方などに数秒間表示されるお知らせ的なUIのことです。
以下のようなタイミングで表示すると良いでしょう。
- データ保存が成功した
- 何らかのエラーが発生した
トーストを表示する際に context
が不要なので、とても使いやすいです。
3. アプリ外部
share_plus
特定のコンテンツをシェアできるダイアログを表示できるパッケージです。
SNSでシェアできるようにしたり、招待リンクをLINEで送信できるようにしたりできます。
url_launcher
アプリ内ブラウザで、特定のURLにアクセスできるパッケージです。
例えば、お問い合わせのGoogleフォームをWebで用意して、アプリからはアプリ内ブラウザでこのGoogleフォームにアクセスさせる、といった使い方が可能です。
4. フォーム
flutter_form_builder
フォーム関連を楽に実装できるパッケージです。
Flutterにはデフォルトで Form
ウィジェットが存在しますが、フォーム送信時(フォームの内容を取得する際)など、ちょっと使いづらい印象です。こちらのパッケージを使うことで、ある程度解決できます。
5. 通信
retrofit
API通信などに使えるパッケージです。
APIを叩き、返ってきたデータを特定のクラスのインスタンスに変換したりすることができます。
6. 状態管理
flutter_hooks
ReactというJavaScriptの有名ライブラリに、React Hooksという仕組みがあるのですが、それを Flutterで実装したライブラリです。個人的には、ウィジェット内での状態管理は、StatefulWidgetを使わず、このパッケージを使う方がシンプルで良いと思っています。
riverpod
アプリ内全域で使うことができる、状態管理のライブラリです。
個人的には、画面をまたいで同じデータを使いたい、という場合に使用します。
例えば、「ログインしているユーザーの情報」などが分かりやすいかと思います。
7. その他
intl
国際化(internationalization)に関するパッケージで、日付や数字のフォーマットなどを行うことが可能です。
例えば、任意の DateTime
オブジェクトを、yyyy/MM/dd H:mm
のフォーマットで表示、といったことができます。
in_app_review
アプリ内でレビューダイアログを表示することができます。
おわりに
パッケージ開発者の皆さん、ありがとうございます!
Discussion
🎁🎁🎁🎁