未来の自分へ知識貯金

ゆーきのエンジニアブログ

約4分 アプリ開発

漫画管理アプリ「ほんだな」を作り始めた理由 —— 開発記 0

漫画管理アプリ「ほんだな」を作り始めた理由 —— 開発記 0

漫画管理アプリ「ほんだな」を作っています。手元にある紙の漫画を、何巻まで持っているかと一緒に記録しておくためのアプリです。

この連載では、開発の記録を追いながら、コードだけでは残らない「なぜそう作ったか」を書いていきます。第0回の今回は、アプリを作ろうと思ったところから、題材に「ほんだな」を選び、作り始める前に「ユーザーのデータを持たない」と決めたところまでの話です。

先にあったのは「Claude Code で作りたい」だった

出発点は、漫画でも本棚でもありませんでした。Claude Code(AI に指示を出しながら、一緒にコードを書き進められる開発ツール)を使って、アプリを1本作ってみたかったのです。

そのために、まず題材を探していました。フレームワークに Flutter を選んだ経緯は、別の記事に書いています。

題材を探していたころ、ある人が、紙の本で集めている漫画をスマートフォンのテキストメモで管理しているのを見かけました。作品名を並べて、持っている巻数を書いておく。新しい巻を買ったら、メモを開いて数字を書き換える。

これをアプリにしたら、ちょうど「あったらいいな」になると思いました。具体的に思いついたのは2つです。

  • +ボタンを押すだけで、巻数を1つ増やせる
  • 本の表紙がサムネイルで並ぶ

作りたい気持ちが先にあって、そこにちょうど合う題材が見つかった、というのが実際の順番です。既存の漫画管理アプリも、調べずに作り始めています。

最初に決めたこと —— ユーザーのデータを持たない

作り始める前に決めていたことがあります。電子書籍は管理しない。紙の本だけに絞る、ということです。ソーシャル機能(他の人と本棚を見せ合う、ランキングを作る)も、最初から外しました。

どちらも理由は同じで、ユーザーのデータをこちらが持ちたくなかったからです。

電子書籍まで扱おうとすると、外部のサービスとアカウントを連携して、購入履歴を取り込んで……という話になりがちです。ソーシャル機能なら、ふつうは人と共有するためにデータをどこかのサーバーに集めることになります。どちらも、誰かの本棚の記録を、こちらが預かることになる。

預かれば、預かった分だけ守るものが増えます。預かった記録が漏れないように備える、他人がなりすましてログインできないように守る、預かり場所(サーバー)を止めずに動かし続ける。対策はいくらでも積めますが、それよりも、データを持たないことで、リスクそのものを減らすほうを選びました。

電子書籍もソーシャル機能も、あれば便利そうな機能です。外せば、できることは減ります。それでも、この2つは最初から入れていません。

記録は、使う人の手元にだけ置く

「ほんだな」が持っている記録は、どの本を何巻まで持っているか、だけです。その記録は使う人の手元にあって、こちらには届きません。

外とやりとりするのは、次のものだけです。

  • 本の情報を調べるときに、ISBN(本ごとに振られた識別番号)やタイトルを、書誌サービス(Google Books・openBD・国立国会図書館)へ問い合わせる
  • 本の表紙の画像を取得する
  • 使う人が操作したときに、Amazon や Google の検索を開く

利用状況を集める解析の仕組みや、クラッシュ報告の送信は入れていません。記録を預かる独自のサーバーもありません。どの本を何巻持っているかという記録そのものは、どこにも送りません。

その後に作ったものも、この前提の上にあります。電波の無い場所でもそのまま動くこと。バックアップを、こちらのサーバーを通さず、使う人自身がファイルとして持てること。

もちろん、最初から全部を決めていたわけではありません。巻の持ち方のように、作りながら割り切ったこともあります。そちらは後の回で書きます。

むすび

作るきっかけは、Claude Code でアプリを作ってみたいという気持ちでした。題材を探す中で、テキストメモで漫画を管理している人を見かけて、「ほんだな」ができました。その人は、いま「ほんだな」を使い始めています。

そして最初に決めたのは、何を作るかよりも何を持たないかでした。

次回は、最初の版が動いた後の話です。最初に思いついた不便が解けたあと、次に何を作るかをどう決め直したかを書きます。

この記事をシェアする

ゆーき
ゆーき

プログラマー経験10年以上。好きなプログラム言語はC#。使える言語はC++, Python他。好きな開発環境はVisual Studio。

プロフィールを見る →