めあとるーむ日記帳

なんか書く

Flutterをちょこちょこ触りつつのファーストインプレッション的な感想

Flutter - Beautiful native apps in record time

Flutter はクロスプラットフォームアプリケーション開発環境の一つ。Googleが開発(だったはず)、現在β版。

クロスプラットフォームと銘打ちつつ対応はほぼAndroid/iOSで、一応言語的にDart言語なのでその部分をうまく使い回せばWebも行けそう(あまり詳しく調べてない)

なんとなくTwitterで見かけたのでちょいちょい触りつつ、思ったことをつらつら


良かったところ

  • 言われてるけどUIが豊富
    • UIもDartでラップされてるけどだいたいやりたいことはできると思う
    • サンプル・例・実装までの資料も豊富。お前ほんとにβか
    • 英語しかないけどまあがんば
  • 環境構築が比較的楽
    • 強いて言うならパス通すとかわからない人には無理。まあそういう人はリリースまで待てばいいんじゃないかな
    • VSCodeとかIntelliJに忌避感なければという前提もあるが(それ以外でもDart環境作れれば苦労はしないと思う
  • レポジトリにサンプルがついてきてそれをローカルでビルドすると手元で動きが見える
    • UIの具体的な動作や実装例がセットで見れるのでかなり助かる
    • こういうのないかな?と思った物が見つかる
    • とりあえず環境作ったら一通り見ておくといいかも知れない
  • ホットリロード早いし便利
    • UIのプレビューがないけどかわりに書いてホッとリロードぐらいで問題ない感じ

現状つまったところ

  • 再描画処理でListView更新しようとしたらうまく行かなかった
    • なんで ListView.children : List で要素追加したとき更新されないのに ListView.children : List.toList() だったら要素追加して更新されるんだ
  • Dartでコード書くときのいい感じのアーキテクチャとかパターン知らねぇ
    • DroidKaigi のアプリがFlutter使ってるんで参考にさせてもらってる

その他

知ってる人いたら教えて

  • WebとかサーバサイドのコードもDartで書けるらしいけどどこまで共有とかきくのか
    • というかDartでWebフロントってどこまでできるんだろ
    • 調べてもDart VM使ってた古い記事ばっかりなんだよね。JSコンパイルしないとダメ?
  • ベータ版だけど今後の展開どうなってんの(英語ばっかでたどれない
  • Dartの初心者~中級者向けの資料ってなんかないかな
  • ホットリロード便利だけどUIを静的解析からリアルタイムで見る方法ってない?

ざっとちょいちょい触っての感想はこんな感じ

現状は各種UIの実装を試しつつなれてきたらなんか作ってみようかなって思ってる

ほんとUIが豊富で実装が結構楽(な印象)なのでいろいろ試して楽しいというところはある。DartTwitterライブラリもあるからTwitterクライアントとか作ってもいいかも知れない(StreamingAPIは死ぬが