🤔

【DAY64】新規開発 or 改修?JavaとFirebaseの選択で迷ったら

に公開

はじめに

とりあえず、過去のSpring Bootで作ったやつがまだ編集できる状態なので、これをベースに再構築できないかと考え中。

ただ、ここ最近のプライベートでの経験から、新しいWEBシステムをゼロから作るという選択肢も出てきた。

そこで、「今の資産を活かす改修」か「新たに作るべきか」、さらに「Java(Spring Boot)」か「Firebase(+フロント)」かという技術的な選択も含めて、方向性を整理してみる。

Firebaseではできないこと、Javaでできること

Firebaseは無料枠でもそれなりに使えるし、スピード感はある。ただ、以下の点で限界もある:

  • ロジックの柔軟性が低い(Cloud Functionsに依存)
  • 本格的なDB設計にはやや不向き(NoSQLのクセ)
  • 複雑な業務処理・ワークフローには非効率
  • カスタムセキュリティやバックエンド統合が面倒

一方で、Java(Spring Boot)なら以下のような自由度がある:

  • 複雑なビジネスロジックを柔軟に設計できる
  • 安定したORM、トランザクション制御
  • 自由なアーキテクチャ設計(モノリス/マイクロサービス)
  • 業務向け要件を含む中規模システムにも耐えうる

アイディア:今考えているWEBシステム構想

最近のプライベート体験から、「行動記録 × 自己管理 × 軽い業務ツール」的なニーズが浮かび上がっている。

想定している機能:

  • ボタン1つで1日の行動ログを残せる
  • 定期的に振り返りリマインダーが来る
  • 自動でMarkdown or PDFで日報出力
  • シンプルなグラフによる可視化

結論に向けて

今あるSpring Bootのコードベースを活かすなら、スピードは出せる。ただ、今のニーズに100%マッチさせるには、もしかしたらゼロから構築したほうが良いかもしれない。

いずれにしても、**「選ぶ技術」と「作る目的」**が一致してないと後からつらくなるので、このフェーズでちゃんと考えておきたい。

GitHubで編集を提案

Discussion