Be simple

”当たり前”が誰かのためになる

9日間でFlutterでアプリを作ってリリースした話

はじめに

はじめましての方は、はじめまして。

知っている方はお久しぶりです。

 

今回は、ちょうど仕事もひと段落し冬休みに入り時間ができたため、兼ねてから興味があったFlutterのアプリを9日間で作成した話をしようと思います。

一応記録として、コミットのログも確認できます。

f:id:rozkey59:20190106213649p:plain

コミット履歴

作成したアプリは「ミニマル時間割」というアプリを作成しました。

 

Android版は次のリンクからインストールできます。

play.google.com

 

iOS版は申請中のため、審査が通ったら後ほどあげようと思います。

 

ソースコードをみたい方は、次のリンクからいけます。

雑な部分はあるとは思いますが、参考程度になれば幸いです。

コードは、しばらくこのアプリ試してやっていきたいので一旦公開停止にしました! 

 

今回話すこと

  • なぜこのアプリを作成しようと思ったのか
  • Flutterを学ぶのに参考にしたこと
  • Flutterでアプリを作ってみての感想と気づいたこと

 

今回話さないこと

  • Flutterで学んだことで細かいことについて

 

今回話すにあたって提供したいこととして、アプリ開発は楽しいぞ!ということと、Flutterを学ぶのにどういったサイトを参考にしたのか、どうやって作り上げていったのかについてお話しします。

 

逆にFlutterの技術に関することは別の記事にします。

Flutterの技術に興味がある人にはこの記事の内容はそぐわないので、ブラウザバックをお勧めします。

 

それでは、まずはこのアプリを作成した理由からはじめていきたいと思います。

 

なぜこのアプリを作成しようと思ったのか

もともと僕は作りたいサービスの1つに、教育関係のサービスを作りたいと思っていました。

教育関係のサービスを作りたいと思っている理由が、時代の流れと教育の不自由さに課題感を感じたからです。

詳しい理由は本筋からずれてしまうので、ここでは話しません。

 

そういうわけで、何かしら教育関係のツールアプリ作れないかなーと考えていました。

 

今回作成するにあたって、時間ができたとはいえ冬休みの間でいったん形にできたものを作り、終わらせたいというのとFlutterをはじめてがっつり触るのでさほど時間の余裕がないということもあって、ローカルで完結するものにしようと狙いを定めました。

 

個人開発だと、無限にアイディアが生まれてきて、あれも作りたい!、これも作りたい!となって途中で頓挫して何も残らないということがありうるので、いったんだすということを第一に考えてやってました。

 

また、みんなが使うものであればインストールされる可能性が高いと考え、学生ならほぼ毎日お世話になるであろう時間割のアプリを作ることにしました。

 

 

とはいえ、時間割のアプリはストアに競合が多いため差別化を測るには、何が必要だろうかと思い、成績表示と成績計算機能をつけてみることにしました。

 

今思うと写真共有機能とかのほうがよかったなと思ったのですが、作成当初はモチベアップにつながるかなーと考えてとりあえずはこの機能をつけることに。

もしかしたらなくなるかもしれませんw

 

こういう背景からFlutterで時間割のアプリを作ろう!と考え、とりあえずは形にしてリリースすることができてよかったです。

 

Flutterを学ぶのに参考にしたこと

Flutterを学ぶのに参考にしたこととしてよく見ていたのが、Layout Widgetsです。

次のリンクからいけます。

Layout widgets - Flutter

 

レイアウト組むときに困ったら、大体ここを見ていました。

また、Flutterというキーワードとやりたいことを英語でStack Over Flowで検索すると大体出てきます。

ドキュメントが結構充実しているので公式のドキュメントを探すと割と見つけられます。

英語で読めねーっていう人は、Google翻訳を駆使すれば結構わかりやすいです。

翻訳がおかしいところだけ原文を読むようにして、自分はやっていました。

 

あとは、Flutter参入している人が多かったため割とQiitaにも情報が載っていました。

Advent Calenderとかも時折見たりしていました。

qiita.com

 

逆にやらなかったこととしては、完璧を目指さなかったため、言語仕様を細かく最後まで読み込んだりはしていないです。

 

おいー、と思うかもしれませんが、現実的に年末年始ということもあって9日間丸々使えるわけではなかったので、適宜必要なことだけドキュメントに戻って読んで書いての繰り返しでした。

 

だからまたTourを時間作ってやっていこうと思ってます!

 

Flutterでアプリを作ってみての感想と気づいたこと

 

Flutterでアプリ作ってみて、結構あっさりと作れて楽しい!

 

ネストが深くなって読みづらさを感じたりすることもなくはないけど、次の画像のように補完?みたいな// Rowとか出るからどこ書いてるのかとかもわかるし、ビルドも早いので適宜試せる。

f:id:rozkey59:20190106221925p:plain

サンプル

学習コストはあるけれど、ドキュメントは充実しているしGoogleが出しているということも考えると試してみる価値はありそうですね。

 

あとは普段Androidの開発をやっているから、iOSのシミュレーターで動いておおって感動しました。

 

1つの言語でAndroidとiOSアプリ作れるのはやっぱり強い。両方で出したいと考えている人なら、これぐらいの規模のアプリならちょっと頑張ればできるんじゃないかなーというような気がしています。

自分は比較的簡単に作れたと思うし、情報も割と多く載っています。

 

ビジネスとしてやる、とか、既存のアプリを書き換える、というのは状況によっては難しいかもしれないけれど、個人開発なら選択肢として全然アリだと思います。

 

あとは、先人が出している公開されているコードとか参考にするのも良いです。

自分はメルカリのテックカンファレンスのやつとか読んでました。

github.com

 

あとは、UIまとめてくれてるやつとかですかねー。

github.com

 

これとかも。

github.com

 

参考になったらスターすると嬉しいかもですね。

 

Flutterちょっと興味ある!とか、作りたいものがあってAndroidとiOS両方出したい!と考えている人は、今参入するのは良いと思います。

 

おわりに

以上、Flutterでアプリを9日間で作った話でした。ほぼ感想でしたね!

 

開発で学んだ技術面については別に記事を書いているので、出来次第投稿していきますー。

参考になるかわからないけれど、いつか誰かの役に立てたならそれで嬉しいです。

 

最後まで見ていただきありがとうございます。

それではまた次の機会に。