Flutterの学習の進捗

夏休み8日目。18日で夏休みが終わるので終わりが見えてきつつある。夏休みが終わってもプログラミングを変わらずするし、お仕事も楽しくするのであまり重くとらえていないものの、いざ時間ができると胃自由に勉強できることに気づいて休みのありがたみというものを再確認できた。

夏休み中はSvelteとSvelteKitを学びWebでUIを作る方法やUI向けのデータを作るためのロジックの組み方について学んだ。ほかにも、PythonとLLMを合わせて海外の技術ブログを日本語で要約する自動化も行い、海外の優れた英語の記事をたくさん読む習慣が仕上がってきている。ほかにもおまけ程度にPlaywrightの使い方を復習したり、岸田首相の退任が決まったことをきっかけにスクレイピングや自然言語処理を行なった。

ほかにもスピーカー作りや料理なども楽しんではいたが、プログラミングだけで見ても非常に充実した夏休みとなっている。夏休み中はやることを決めてToDoリストにまとめてその日必ずやるべき最低限のことは着実にこなしてはいたので、四六時中自身の取り組みを監視することなくともやることはやっていると胸を張っている。...はずだった。

というのも元々は夏休み中はFlutterの上達を目指し勉強をする予定であったのだが、実のところ脱線に脱線を重ねてここだけ進んでいない状況にある。まさに夏休みの宿題をやっていない小中高校生のような気分だ。勉強ややることはやっているが私にとっては遊び感覚でやっていたので、ある意味Flutterから逃げていたのかもしれない(Flutterもつまらないと思っているわけではないのですがSvelteやPythonでやりたいことがたくさんできてしまった脱線してしまったのです)。

プログラミングをやっているときに個人的に一番のモチベーションとなるのは書いているのを楽しんでいることで、作りたいものや書くための題材があるというのは大事だと思う。Svelteであればこのダイアリーやサイトの改良ができるし、Pythonも非常に汎用性が高い言語なので生成AIと組み合わせた自動化を作ったり、岸田首相の退任のニュースに合わせて「総理の1日」をスクレイピングしてワードクラウドを作るなども非常にフッ軽である。その反面、Flutterでは自由にPCやスマートフォン、web向けのアプリを作れる一方で実用的なテーマが定まっていなかったため避ける状況となってしまった。

ただ、サイトを中心にものづくりの題材があるので、FLutteでサイト用の画像を管理するためのツールを作ろうと思っている。すでにriverpodによる状態管理は簡単に学べているので、ロジックとUIを分離させたギャラリーアプリを作ることは可能である。CloudflareのR2と呼ばれるストレージサービスとそのAPIを使って画像のリサイズや軽量なフォーマットへの変換、アップロード、画像リンクの抽出や画像の検索などの機能を持つ予定である。

Blueskyのクライアントもつくりたいと思いつつもまだ、Flutterのベストプラクティスも習得できておらずフレームワークの文化や制約もようやくつかみかけていている状態でまだ遠い。何らかの題材を自ら探しステップアップを自発的に行わなければならない。書籍による解説を見ているもののBlueskyのクライアントを作れるような上級な書籍もない状態なので、こうしたテーマを自ら作りステップアップしなければならない難しさと戦っている。

言い訳をするとそういった経緯から私は夏休み終盤まで宿題をしていないような状態に陥っていた。一旦お遊びも落ち着いてきたので本筋に戻って夏休みの終わりまでに「宿題」を済ませたいと思う。なお、私には先生もいないし締切もないので本当にやり遂げることができるのか不明であるが、一応ここに書き残すことでささやかながらプレッシャーをかけてみます。