見出し画像

Googleさん主催の5KBアプリコンテスト「Flutter Create」で入賞しました

2月〜4月に開催されたFlutterアプリコンテスト「Flutter Create」の結果が発表されました!

結果は…入賞しました!これは嬉しい!!

Google Home Mini(賞品)はもう持ってるけど、そんなの関係ない。嬉しいもんは嬉しい!!!

作ったもの

作ったのは「Touch the Programming」というプログラミング体験(?)アプリです。

元々iOS向けに(Swiftで)作りたいなーと思ってたアイディアでしたが、良い機会だったのでFlutterで簡易版を実装して応募しました。

もっとCreative Coding的なオシャレ描画にしたかったんですが、時間とサイズ制限、センス等の都合で結局図形と線を描くところまでしかできませんでした。

ソースコードは以下で公開しています。(オープンソースであることも応募条件)

サイズ制限

今回のコンテストは5KB(5120文字)制限のルールが特徴的でした。
インデントなどの空白文字も含まれるため、なかなか厳しかったです。
(上位陣のアプリ、この文字数でどうやって作ってるの…)

dartfmtこそ無効化しませんでしたが、5KB制限のためにだいぶ無理をしました。

参考までに、Dart Analysisに従って修正したコードとの差分はこちらです。
(変数名の省略などをしているので、これでもまだまだ読みづらいですが)

これだと5103文字 → 6303文字になったので、この辺りの可読性をかなり犠牲にして文字数を稼いでます。

※ データはそれだけでサイズが溢れてしまうのでJSONから読み込んでいます。

ライブラリも作った

円と四角形だけの状態でもよかったんですが、どうせなら他の形も描きたいなと思ってライブラリを探したけど見つからず。
汎用的なpackageであれば使っても良い、というルールだったので自分でそれなりに汎用的なものを作ってみることにしました。

アニメーションと組み合わせればこんな風に使えたりします。

なお、ライブラリの方はコードはサイズ制限とは関係ないので、 Dart Analysisの警告などにちゃんと従っていますw

ブログ始めました

これはGoogleさんからの「Flutterやれよ」というお告げだと思うので。続けるためにブログを始めてみることにしました。
GWだったので毎日更新っぽくなっていますが、実際は週1更新できたら最高ぐらいのゆるい感じでやっていきます。

最後に

Flutter Createの存在はTwitterのタイムラインで知りました。(誰のツイートだったかは覚えておらず、すみません…)
ありがとうTwitter&TLの皆さん!

※ ヘッダー画像は以下の動画で自分のアプリが映っている部分をお借りしました。


この記事が気に入ったらサポートをしてみませんか?