ページビューの合計

2026年5月26日火曜日

2013年から続くタイムカードアプリを、Flutterで作り直すまで(K.O)

タイムカード公式サイト

機能の詳細・ストアへのリンク・使い方ガイドはこちらからどうぞ。

公式サイトを開く English

パートや掛け持ちで働く方向けの勤怠アプリ「タイムカード」を、いま Flutter で作り直し、iPhone と Android の両方で配信しています。

Android 版は Google Play で累計50万ダウンロード以上(公表値に基づく)の実績があり、長いあいだ多くの方に使っていただいてきました。一方で、開発者の私(K.O)の側では、2021年から2026年にかけての約5年間、ストア上の更新をほぼ止めていた時期があり、OS の進化に合わせて使いにくくなった機能も出てきました。

この記事では、2013年ごろのきっかけから Flutter 刷新までを、できるだけ素直に書きます。

2013年──SESの出退勤記録が、開発のきっかけだった

タイムカードの Android 開発は、2013年ごろから始めました。

当時の私は SES(システムエンジニアリングサービス) として働いており、毎月の出退勤を記録して提出する必要がありました。スマートフォンでも勤怠系のアプリはすでにありました。しかし、自分が毎日使うには、どれも少し違和感がありました。

そこで、「自分にとって一番使いやすく、かつシンプルなアプリを作ろう」と思ったのが、すべてのきっかけです。派手な機能より、サッと打刻して、あとから見返せること。いま公式サイトで言っている「ワンタップ」「シンプル」は、当時からの本音に近いです。

技術的には Java だけで書き、Android 一本でした。iOS 版はありません。それでも、同じように「時間で稼働している」人には刺さるのか、少しずつインストールしていただける方が増えていきました。

当時は アプリの更新も比較的頻繁に出していました。不具合修正に加え、要望に応じて画面や集計を直すのが、個人開発ならではの良さでした。

クロスプラットフォームを探したが、「これだ」がなかなか現れなかった

ユーザーからは、ときどき 「iPhone 版はありませんか?」 という声もありました。

クロスプラットフォームの選択肢も、いろいろ調べました。ただ、当時見えていた案のなかでは、「今すぐ乗り換えよう」と思えるものが、なかなか現れませんでした。パフォーマンス、開発体験、既存の Java コードとの距離──全部満たす案が見つからず、Android 一本で続ける判断を、何度も繰り返していました。

Swift を学んだが、「二つ同時に保守する気力」が湧かなかった

あとから Swift の勉強も始めました。iOS 版を出せば届く人は増える。頭では分かっていました。

でも現実的な問題は 保守の本数です。Java(Android)用と Swift(iOS)用──別々のコードベースを、同じ機能水準で揃え続ける想像をすると、個人開発では気力が湧きませんでした。結果として、iOS 版は出さず、Android に注力する時期が長く続きました。

Xamarin も少し検討したが、進めなくてよかった

Xamarin も、少しだけ検討しました。最終的には深く進めませんでした。いま振り返ると、進めなくてよかったと思っています。後から Flutter に出会ったとき、「一本のコードで両方」に、より素直に近づけたからです(他の選択肢が悪いという意味ではなく、自分のケースの話です)。

2021年の転職と、2021年〜2026年の約5年間の更新停止

2021年IT 関連の企業へ転職しました。SES ではない働き方になり、業務も職場の環境も、それまでとはかなり変わりました。

転職前までは、本業と両立しながら アプリの更新も比較的頻繁 に出せていました。ところが 2021年以降は、毎日が忙しく、ストアへのリリースや不具合対応に充てる時間が、ほとんど取れなくなりました。やる気がなかったというより、生活の優先順位のなかで、アプリ開発の時間が後回しになっていたのが正直なところです。

2021年から2026年にかけての約5年間、Google Play 上の Android 版の更新は、事実上ほぼ止まっていました。

個人開発アプリにとって、更新停止は厳しいです。OS が上がり、権限やストアのルールが変わり、周辺の前提も変わる。止めているあいだに、使えなくなる機能や、動かなくなる組み合わせも出てきました。

それでも、多くの方がインストールしたまま使い続けてくださっていた──ありがたい反面、「放置したまま申し訳ない」という気持ちが、刷新の大きなきっかけになりました。

※ 上記の期間は、Play ストアの更新履歴に基づく Android 版の事実です。

Flutter に出会って、「これだ」と思った

空白のあと、改めて「もう一度、ちゃんと動くアプリにしよう」と考え始めたときに出会ったのが Flutter でした。

  • 一つのコードベースで Android と iOS を狙える
  • 画面の一貫性を保ちやすい
  • 個人でも 継続的にメンテナンスしやすい

Swift で二本体を抱えるより、自分のリズムに合うと感じました。ここで初めて、「iOS も出せるかもしれない」が現実的な計画になりました。

いま進めている刷新版では、ワンタップで出退勤するしやすさは、2013年の頃から大切にしてきたところを引き継いでいます。月次の目安、複数勤務先、データは基本オン端末、という方針も整理し直しました。

運用としては、品質と既存データの両方を考え、iOS を先に本番で様子を見る一方、Android はデータ移行を慎重に試してから段階的に公開する方針にしています。

いまのユーザーへのお願い

新しく使う方

パート・フリーランス・時間契約の仕事向けです。

公式サイト(日本語)

昔から Android 版を使っていた方

刷新にあたり、端末内データの引き継ぎを最優先にしています。不安な場合は、Google ドライブ などのバックアップ機能と、公式の使い方ガイドをご確認ください。

不具合・要望

個人開発のため、すべてには即応できませんが、メールをいただけると助かります。
stallions.0721@gmail.com

給与表示はあくまで目安です。正式な金額は、勤務先・契約のルールに従ってください。

おわりに

2013年、SESとして毎月の出退勤を提出していた頃に、「自分が一番使いやすいシンプルなアプリ」を作ったことから始まりました。Java だけの Android 一本、クロスプラットフォーム探し、Swift や Xamarin の迷い、2021年の IT 関連企業への転職(SES ではない働き方)と、毎日の忙しさからアプリ更新ができなかった 2021年〜2026年の約5年間──長い道のりでした。

それでも「いつ働いたかを、面倒なく残したい」という用途は変わりません。技術だけ新しくしたのではなく、また続けられる形に戻したつもりです。

同じような道のりの個人開発の方や、昔から使ってくださった方に、少しでも参考になれば嬉しいです。

K.O ─ タイムカード

ワンタップ打刻・シンプルな勤怠アプリ

公式サイトへ

0 件のコメント:

コメントを投稿