9
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

第6回Flutterもくもく会@Zoom 実施レポート(Flutterテーマ設定編)

Posted at

はじめに

2020年6月28日にZoomにてFlutterもくもく会を実施したので、
そのレポートになります。個人的所感メインです。
何かご意見などありましたらよろしくお願いします。
話題になった内容をトピックとして記載します。

もし良ければ過去のものもご覧ください。

トピック

今回のもくもく会で出た話題の一部をピックアップ。

Flutterを使った状態管理について

状態管理の関心についてはウィジェット(スクリーン)間で共有したいかでアプローチを変えたほうが良いよねという話になりました。
ログイン情報とかは共有するはずなのでそういうのはちゃんとしたほうが後々楽そうだと思います。

Widget間で共有しない場合

入力中のチェックボックスの状態なんかは他のウィジェットと共有しておく必要はなさそうなのでStatefulWidgetをカジュアルに使ってsetState()で呼び出すアプローチが楽で良さそうだと思います。

Widget間で共有する場合

基本的に

 state_notifier + イミュータブル化 するなにかが良さそうに思っています。MVVMなので、そこまで複雑にならない形で組めるのかなーとは思います。

イミュータブル化はequatablefreezedが有名ですかね。

他プロジェクト(特にAngluar)で使用する場合

Blocを使ったアプローチは検討の余地ありだと思います。
現在実装中のアプリは、これらのライブラリを使ってますが楽でした。

ただ全体的にカロリー高めなので本当に使い回すのか?という疑問は持ったほうが良さかなと思います。
Angularとロジック使い回すとかじゃない限り複雑性があるだけで、あまりリターンは感じられなかったですね。
ライブラリのおかげで複雑性は隠蔽できましたが、
BlocからBlocへの連携部分はStreamの複雑性から逃げられなかったので。

Flutterのカラーテーマについて

筆者が作成中のアプリのレイアウトなどの設定項目をどうしようと思ってたところ、
https://github.com/rxlabz/panache
を見つけました。

ブラウザ版も用意されてるのですが、結構エラー吐いてて悲しみを背負いました。

open-source-panache-5_thumb.10cfb8a1dd285974ee33d53370102dab.jpg

引用: https://www.moongift.jp/2020/05/panache-flutter%E3%81%AE%E3%83%86%E3%83%BC%E3%83%9E%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF/

※ 修正点は大き3つありました。


 TextTheme(
//  display4:TextStyle( # 公式のマニュアルを参考に置換
    headline1: TextStyle(
      color: Color(0xb3ffffff),
      fontSize: 96.0,
      fontWeight: FontWeight.w300,
      fontStyle: FontStyle.normal,
    ),
  • UnderlineInputBorderborderSide 指定にする

 UnderlineInputBorder(
//---     side: BorderSide( この記述方法は古い
        borderSide: BorderSide(
        color: Color(0xff000000),
        width: 1.0,
        style: BorderStyle.solid,
      ),
  • hasFloatingPlaceholderfloatingLabelBehavior 指定にする

hasFloatingPlaceholderと変更後のFloatingLabelBehaviorを見比べるともともと非表示・表示の2値から3値になったため移行推奨になったみたいですね。例では always にしましたが auto が妥当な可能性はあるので、適宜使い分けですね。

InputDecorationTheme(
//hasFloatingPlaceholder: true 厳密には新機能みたいなので、alwaysかどうかは要検討
floatingLabelBehavior: FloatingLabelBehavior.always, 
) 

おわりに次回開催と宣伝

こちらで定期的にもくもく会を隔週の頻度で実施予定です。次回は7月上旬を予定しています。

LTなど発表したい方いましたら @glassmonekeyにご連絡いただけますと嬉しいです。LTの練習とかも大歓迎です。

下記のコンパスも良ければ登録お願いします。これを機に一緒に始めましょう
https://flutter-okurayama.connpass.com/

感想というかメモ

個人開発のロジック部分はほぼ出来たのであとはデザイン頑張れそう。

9
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?