site-icon Hong Cheung
Sep 13, 2025

私の最終的なスタック選び。

ようやく落ち着いたのは…

Expo - Web とモバイルの両方に対応

純粋な Web アプリを手軽に開発して、Capacitor など(Tauri も含む)でラップするという手軽さに惹かれていたものの、WebView が最新技術とはあまりにも違う挙動をするせいで、Android で動かすのに苦労してしまった。

Tauri はデスクトップに特化できるのが利点だ。しかし、せいぜい全プラットフォーム向けのラッパーにすぎない。Web 技術の制約を受けることになり、スマホでのドラッグジェスチャーには回避策が必要だし、オフラインストレージの容量などにも悩まされる。

ともあれ、後々デスクトップアプリが欲しくなったら、Expo の React Native プロジェクトを Electron でラップすることもできる。

LegendState

MobX(かつての私のお気に入り)よりも効率的でモダンだと謳われている。だが、このプロジェクトで使っている主な理由は、Supabase とのオフライン同期用のプラグインが組み込まれていることだ。いくつかバグや回避策は必要だが、今のところ快調に動いている。

Web では IndexedDB、モバイルでは SQLite を使えるので、各プラットフォームの良さを最大限に引き出したい私にはまさにうってつけだ。

Supabase

ひとえに Postgres が定番であり、Auth と Stripe 連携をすぐ使える形で提供してくれるからだ。Appwrite をセルフホストして RxDB と組み合わせることも試したが、奇妙な問題があり、しかもそれが Capacitor プロジェクト上だったので、今はひとまず脇に置いている。悪いアイデアではなかったけれど。ただ、次回は Appwrite を使う場合でも LegendState を使うつもりだ。RxDB はモバイルで SQLite を使うのが無料ではないからね。

Stripe

オンライン SaaS の唯一の解だ。しかも Supabase とのスターターテンプレートがあるので、その上に構築している。

最後に…

今こうして形になったことに感謝している。あとはこのスタックでアプリを作り、使いこなせるようになって、作りたかった他のアプリを全部作るだけだ。

楽勝だ。

前へ
Copyright 2026
サイトマップ
プライバシーポリシー
利用規約

テーマ: Astro-Yi