使ってみて便利だったFlutterパッケージ4選

プログラミング

Flutter/Dartには様々な便利なパッケージが公開されており、うまく利用することで開発の工数を大幅に削減することができます。この記事ではAndroid/iOSアプリをFlutterで開発した際に便利だったパッケージを紹介します。

cached_network_image

アプリを作っているとインターネット上から取得してきた画像を表示しなければならないシーンがあります。そういった場合、ネットワーク状態が不安定だったりサーバ側からの応答が遅かったりと、ローカル画像表示では問題にならない様々なトラブルを想定しなければなりません。

cached_network_imageはネットワーク上から画像を表示する場合に便利なパッケージです。ロード中のプレイスホルダー表示や、画像ダウンロードに失敗した場合のエラー表示を下記のような形でスッキリと記載することができます。

ちなみにFlutter1.10.15からはFlutterのImageProviderに大きな変更があったようで、その環境で利用する場合には2019年12月現在はではRC版であるバージョン2.0.0-rcをを利用する必要があります。

(2020年1月更新) 2.0.0からrcが取れてめでたく正式バージョンになりました。これで気兼ねなく使うことができます。

flutter_launcher_icons

Android/iOSアプリを開発するときに意外と面倒なのがアプリアイコンの設定です。flutter_launcher_iconsは、アイコン画像ファイルを一枚配置してコマンドを叩くだけでこれらの設定を完了してくれるという便利パッケージです。

まずpubspec.yamlでアイコン画像の指定を行います。ちなみにflutter_launcher_iconsはFlutterアプリに組み込むパッケージではないので、dev_dependanciesとして導入すればいいみたいです。僕は普通のdependanciesに入れてしまいましたが普通に動きました。

あとはコマンドを叩くだけです。ターミナルで次のようにコマンドを入力するだけです。アイコンファイルを更新した場合ももう一度このコマンドを叩けば上書きしてくれます。

webview_flutter

Flutterアプリ内部で特定のウェブページを開きたい場合があります。アプリのプライバシーポリシーなどは、誰でも見れるようにウェブ上に公開する必要があることに加えて、アプリ上でも表示してあげないといけません。ウェブページ+WebViewを活用することで工数を抑えつついい感じの実装ができます。

webview_flutterはWebViewを利用するためのパッケージです。iOS向けにはWKWebView、Android向けにはWebViewが内部的には使われているようです。2020年1月現在Developers Preview扱いではありますが、使っている限りでは普通に使えます。

url_launcher

WebViewは凄く便利な仕組みですが、外部アプリで特定のURLを開きたいケースもあります。例えばAmazon アソシエイトはAmazonのウェブページをWebViewで表示することを禁じているので、AmazonのページはブラウザかAmazonショッピングアプリで開くようにしないといけません。

そんな場合に便利なパッケージがurl_launcherです。一般的なhttp/httpsから始まるURLであればデフォルブラウザで開いてくれます。またAndroidの場合はカスタムURLスキームにも対応しているようで、Amazonショッピングアプリが入っている状態ではきっちりAmazonショッピングアプリでURLを開いてくれます。

この他、mailto/tel/smsから始まるURIにも対応しており、それぞれメールアプリ/電話アプリ/SMSアプリと連携できるようです。便利。

コメント