はじめに 最近、趣味でElectronを使ったアプリを開発しています。その過程で、アーキテクチャ設計についていくつか悩んだポイントがありました。本記事では、実際に採用したアーキテクチャや解決策を紹介します。 今回はサーバーにデータを置かないローカルファーストなデスクトップアプリを作っているということもあり、特に以下の点で悩みました。 フレームワークどうする? WebのようなREST APIが使えない データベースどうしよう アプリのアップデートどうしよう アプリのコード署名むずい フレームワークどうする まずはじめにフレームワークをどうするかという問題がありました。 最初はNext.jsのApp Routerを使ってアプリを作っていました。しかし、Electronアプリは最終的に静的ファイルになるため、Next.jsのServer ComponentsやServer Actionsの恩恵を