はじめてのFlutter
Flutter版
ふるった? ふらった?
たぶんどこかの技術系サイトでその名を目にしたことが知るきっかけとなった。
随分と前にJavaでやったきりになってしまっているAndroidアプリ作成を再勉強しようかなと漠然と思っていたところだったので、食指が動いた。
使用した環境はWindows10 + VS Code。
導入なんかは以下のようなサイトをいくつか参考に行った。
作成したのは、家庭内Webサーバにアクセスするアプリである。
PCとスマホから使用可能なHTML版が実装済みであり、それで事足りているのだが、比較できるものを実装してみるのも一興ということで挑戦してみた。
JavaのGUIは遥か昔に触れたきりで、PaneとかいうガイネンがありそれがGUIの要素だということはなんとなく知っている。HTMLと同じく直感的ではなく、職人的な慣れが必要だという印象がある。
Flutterでこれに相当するガイネンはWidgetである。まずはこれに慣れる必要があるが、やはり直感的ではない。数日間のトライではきっと忘れてしまうだろう。
やたらとカッコが多いコードになり、縦に長くなってしまうが、分かりやすいといえば分かりやすい。VS Codeが優秀なせいかもしれない。
初心者ゆえ、いろいろハマる要素はあったが、最大のハマり要素は実機へのデプロイで、実機デバッグ中には発生しない現象が発生するというものだ。色々調べて、HttpClientのgetUrlでコケてることがわかった。awaitのエラーハンドリングもやってみたが引っかからず、確かな証拠は獲得できなかったが、ネットワークが使えてないことを直感した。
今回作成したものはスマホから家庭内Webサーバにアクセスする。すなわち、「AndroidManifest.xml」に『<uses-permission android:name="android.permission.INTERNET"/>』を書けばいいのだが、これを自動的にサポートする機能はVS CodeのDartまたはFlutterの拡張機能には含まれていないようだ。ネットワーク使うライブラリを実装に含めているんだから自動設定しろよと思わなくもないが、解決したのでまあいい。JavaでのAndroidアプリ作成経験によって助けられたことになる。