🤔
【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%マッチさせるには、もしかしたらゼロから構築したほうが良いかもしれない。
いずれにしても、**「選ぶ技術」と「作る目的」**が一致してないと後からつらくなるので、このフェーズでちゃんと考えておきたい。
Discussion