結局、通知機能はあまりうまく行かず、やはりネイティブアプリを作ろう!と思い立ち、またもやネットサーフィンの日々…
で、今のアプリの見た目や作り方を維持したくて、BottomNavigationBarを調べていたら、flutterというフレームワークを発見しました。まあ、2019年?くらいからあるらしいので、超新しい概念ってほどではないけど、Kotlin一択(実際はJavaもあるけど)だと思っていた中でちょっと興味がわき、調べてみることに。
環境構築に時間がかかる、(情報が少ないので)初心者向けではない、提供されているマテリアルデザインパーツがすばらしい、等々いろいろとあったけれども、下記の記事を見てとりあえず導入してみようと言う気持ちになった。
何しろ、ライフサイクルがわかりやすくて、hot reloadが速いというのが魅力的…
ライフサイクルについては、Web appでさえ非同期処理の理解に苦しみ一日潰した経験を持ち、さらにAndroidの複雑なライフサイクルについていける気がしなかったというのが本音のところ…
hot reloadについても、Android Studioのビルド→ランの遅さに、中国のネットワークのせいかもしれないとビクビクしながら待つ時間のストレスと言ったら…
と言うことで、導入。ネットワークが止まって停滞したところはあったけど、
公式ページの言う通りにやればほぼノンストップで設定完了。環境構築で半日潰れるようなことはありませんでした。
で、無事にHello World...
ではなく、デフォルトでカウンターアプリが実行されました。このコードの中身にコメントが結構しっかり書いてあって、ざっくりと、flutterはどのように記述するかがわかるようになっています。
が、そうはいってもいきなり書け!と言われてもわからないわけで。特に、同じような名前のアンダーバーがついた何者かが大量生産されており、役割がわからず。
まず、コメントに書いてあるとおり、「試しに青を緑に書き換えて、hot reloadしてみなよ!」を実行…
!?!?!?
はやい!!!!はやすぎる!!!!
リロードまでに1secかかってない…このストレスフリー感はたまらない…打ってすぐ反映されるから、デバッグも簡単そうだし…もうあなたに決めたよflutter…Kotlinとどっちを使うか悩んだりしないよ…
で、そんなこと考えつつも、コードはかけないので、そんな僕らのために公式さんはちゃんとチュートリアルも用意していてくれて、今度こそ無事に?Hello worldできました!(スクショ取り忘れた…)
しばらくはこれでマグロクエストの再構築を図ろう。