Endlich entschieden für …
Expo – für Web und Mobile
Obwohl ich die Leichtigkeit einer reinen Web-App wollte und sie mit Capacitor oder ähnlichem (einschließlich Tauri) umhüllen wollte, fällt es mir schwer, sie auf Android zum Laufen zu bringen, weil die Webview so anders funktioniert als moderne Technologien.
Tauri kann sich auf den Desktop konzentrieren, was ein Vorteil ist. Allerdings ist es bestenfalls ein Wrapper für alle Plattformen. Es leidet unter den Einschränkungen der Web-Technologie, einschließlich der Notwendigkeit von Workarounds für Drag-Gesten auf dem Handy und der Offline-Speicherkapazität usw.
Wie auch immer, ich kann mein Expo React Native Projekt auch in Electron verpacken, wenn ich später eine Desktop-App möchte.
LegendState
Angeblich effizienter und moderner als MobX (mein Favorit). Aber der Hauptgrund, warum ich es in diesem Projekt verwende, ist das eingebaute Plugin für die Offline-Synchronisierung mit Supabase. Es gibt ein paar Bugs und nötige Workarounds, aber bisher funktioniert es gut.
Ich kann IndexedDB im Web und SQLite auf Mobilgeräten verwenden, was genau das ist, was ich will, um das Beste aus allen Plattformen herauszuholen.
Supabase
Einfach weil Postgres die erste Wahl ist und es von Haus aus Unterstützung für Auth und Stripe-Integration bietet. Ich habe versucht, Appwrite selbst zu hosten mit RxDB, aber es gab seltsame Probleme und es war im Capacitor-Projekt, also habe ich das erstmal beiseitegelegt. Es war keine schlechte Idee. Aber ich werde LegendState nächstes Mal auch für Appwrite verwenden, weil RxDB nicht kostenlos SQLite auf Mobilgeräten nutzen kann.
Stripe
Die einzige Lösung für Online-SaaS. Und es gibt Starter-Templates mit Supabase, also baue ich darauf auf.
Zu guter Letzt …
Ich bin dankbar, dass ich es jetzt herausgefunden habe. Ich muss meine Apps jetzt nur noch mit diesem Stack bauen und mich damit vertraut machen, um all die anderen Apps zu bauen, die ich wollte.
Zu einfach.