経緯
アンモナイトは「化石なエンジニア→まっとうなIT人類」を目指して、地道にKaggleに挑戦していたのだが、せっかくのGW、記憶に残ることをしたいじゃない? ということで、唐突に「GWでFlutterでのアプリ開発、どこまでいけるかな?」をやってみることにした。人生とはその場のノリの連続である。
※ 化石エンジニア・アンモナイトのスペック:
●十年前にプログラマーとして、.Net+SQLサーバーで他社の基幹システムを作る。
以降、WFでPLだのPMだのやりつつ、VBAで社内ツールを作ったりしていた。
アジャイルに目覚めてからはSMが多く、いまは自習でKaggleがらみでPythonをやっている。
ちなみに、スマホアプリを作ったことはない。
Flutterの環境構築経験もない。
アプリPLは1回やった。←アプリ作ったことないのに、なんでアプリPLに抜擢されたのかは本当に不明。
1:第一日
とりあえず軽挙妄動して、セールをやってたUdemyでFlutter関連の動画を買いあさる。そしてFlutterの環境作ってみよう的な動画を視聴、突貫で環境を構築。途中、エラーが5つほど出たが、力技とネットの力でエラーをクリア、環境構築が完了する。夜中の2時に。
詳細は前回の投稿参照 → https://qiita.com/ammonite_404/items/5b264a1776ce78d9d625
2:第二日
環境を立ち上げ、Udemy動画を参考にアプリ開発を始める。初心者なのであまり深く考えず、エミュレーターではPixel2を選択(どれを選んでもAPI30は変わらなさそうだったから適当に選んでみた←「画面サイズ」の意味)
・ランディングページ作成
・ページ遷移&値の受け渡し
・2画面目のページ作成
・ボタン押下時の動的な動き
上記を実装、エミュレーターで動作を確認、apk作成までこぎつける。
3:第三日
突貫でFlutter組んだため、独自の仕組みや文法がよくわかっていない。補習としてUdemy動画でFlutterについて学ぶ。
If文やWhile、Try-Catchはいにしえと変わらないので、違和感なく理解する。記述方法が違うだけな印象。
動画の学習の中で、Goto文が出てこないことに安堵する。あの破壊呪文、この世のコード全てからなくなればいいのに、と心の底から思う。
※アンモナイトは過去、ものっすごい壮大なスパゲティコードを前任者(すでにいない)から引き継いだことがあり、Goto文・If文の5回以上のネスト・結果を確認してない=動かない=適当なSQL文がトラウマになっている。
4:結論
スマホアプリは化石エンジニアでも三日で作れます。
※出来はもちろんショボい(2画面+ボタン程度)。が、動けはまずはOK
UI改善、セキュリティ、DB連携、API等、ストア公開までにこれからやらねばならないことは山盛りですが、やればとりあえず作れるんだな、と一段、階段を上がりました。
まったく知らない言語を使って独学独力で三日でなにかを作るのはなかなか難しいので、Udemyを適切に活かすのはアリだと感じました。
これからアプリ作成を続けていきたいし、Kaggleの挑戦も続けていこうと思います。
以上、長文にお付き合いいただき、ありがとうございました!