この記事は Goodpatch Advent Calendar 2021 の11日目です。
こんにちは、Goodpatchの ReDesignerサービスでバックエンドを担当している荒木です。
はじめに
Flutterは以前AndroidでWebRTCアプリのプロトタイプ開発に使っていましたが、今年の3月に2.0がリリースされて気になっていたので今回軽く試してみました。
検証バージョン
Flutter 2.5.3
Dart 2.14.4
Flutter 2.0について
2021年3月3日にリリース。
気になる変更ポイント
- Web対応のベータが外れた!
- デスクトップアプリがベータに追加された!!
- Null Safetyのサポート
- 新しいウィジェットの追加
- 複数インスタンスのサポート強化
- 非推奨APIの削除
- GooglePayが使えるようになった
デスクトップアプリの所感
新しくサポートされたデスクトップアプリで、実際にmac用のアプリを作ってみます。
flutter config --enable-macos-desktop
flutter create desktop_app
cd desktop_app
flutter run
実行だとmacosとchromeの選択肢が出てくるので、オプションで「-d macos」を付けましょう。
お馴染みの画面が表示されました。サンプルとはいえ、これだけで簡単にデスクトップアプリが起動するのは良いですね。
ビルドしても問題なく起動してました。
Electronの比較して考えてみると、現実的な仕事で使うならまだElectronを選択します。
まあベータなんで仕方ないんですけど、社内利用アプリくらいなら有りだと感じる安定感なので正式版になるのが楽しみです。
オートコンプリート
以前はオートコンプリートの実装にライブラリを入れたりして手間がかかっていたのですが、ずいぶん楽になっていたのでそちらも試しておきます。
Autocomplete<String>(
optionsBuilder: (TextEditingValue textEditingValue) {
if (textEditingValue.text == '') {
return const Iterable<String>.empty();
}
return _kOptions.where((String option) {
return option.contains(textEditingValue.text.toLowerCase());
});
},
onSelected: (String selection) {
debugPrint('You just selected $selection');
},
),
固定で入れるだけならリストの準備とWidgetの追加だけで動作します。
一応、日本語でもチェック
まとめ
ひさしぶりにFlutterでコードを書きましたが環境を含めてスタートが楽だとあらためて感じました。
実際に運用で使うデスクトップアプリでも作ってみようと思うので、その投稿はまた別の機会に。
参考サイト