Flutter触った

盛り上がりつつあることだし。

こういういわゆる触ってみた系は自分の中でのアウトプット扱いにしたくないというか、触っただけで今後何もしないみたいなのは何となく避けたいのであまり書く気は起きないけれど、このブログはあくまでも日記程度の話だし別にいっかという体で書く。あくまでも日記なので具体的な知見とかじゃなくて感想レベルの話。

Flutter触った。元からAndroidアプリ開発をしていたのもあって気になる存在ではあった。Material design guideでもFlutter SDKの対応状況などがチラっと見えていたりしていて、新しいコンポーネントなどはAndroidやiOSよりもFlutterが一番最初にサポートしていたりなどと、もはやAndroidよりもコンポーネントが充実しているんじゃないかと思う。

Flutterのドキュメントが大変手厚く、SDKのインストール方法から環境構築までしっかりと書かれていた。コマンド全部コピペでも問題なく実行でき、ドキュメントの質が大変良い。開発にはFlutter SDKとDart VMを入れるだけで容量こそ多少あれど簡単。その他エディタなどはAndroid studioかVSCodeを推奨しているようだったが、個人的には将来的にWeb開発で使ってみたいなあと思っていたところがあったのでVSCodeでの開発を選択した。こちらの場合はVSCodeのエクステンションを一つ入れるだけで終了。Web前提と言っておきながらドキュメントが何となくAndroid前提だったのでAndroidで実行してしまったけれど、Androidで実行するならおそらくADB周りの環境も必要かも。
ドキュメントのGet startedを読み進め、プロジェクトの雛形を作り、実行。手順に従って何も考えずにコピペしていっても問題なく動くので感動した。これらのものはドキュメントにずれが生じて上手く実行できないみたいなのはよく体験していたのでやたら感動した。
アプリのコードはUI周りはAndroidのようにXMLで記述するのではなく、JSXを使わないで直接要素のツリーを記述していくような元祖Reactみたいなコードの雰囲気に近い。テーマ周りはAndroidの雰囲気を感じつつも、状態があって、コンポーネントがあって…というのは最近のWeb開発とかなり近しい雰囲気があったので、Web開発をしている人であれば何をやっているのかコードを読むだけでなんとなくわかる感じなのが良い。
実際に動いているアプリもネイティブと遜色なく、キビキビ動くように感じる(これは使ってる端末のスペックにだいぶ寄りそうではあるが)。WebViewを埋め込んだアプリは遅くなりがちでかなり気になっているのだが、こちらはよく見るとネイティブアプリの標準の挙動と微妙に違ったエフェクトを垣間見て、ああ完全なネイティブで構成されたUIじゃないんだなと初めて気づく程度。初回起動はややもたつくが、開発中のホットリロードなどはAndroid Stdioのアレよりかははるかに高速で驚いた。

Dartの文法は検索した感じやや難がありそうなのがやや気になるところだけれど、全体的にはかなり好感触。


今日の/可愛い\ 和風すこ。