ZenTube 4.1 - レビュー待ち…
今日は 4.1 向けにいくつかバグを修正し、App Store のレビューに提出しました。 いつものように、待っています…
次のアップデートではディープリンクを実装する必要があります。
React Native Web と Next.js Web アプリ + Capacitor の間で悩む
Next.js の Web アプリで Capacitor を使おうとしていました。しかし、いくつかのことに気づきました:
1. Android での Capacitor の 問題
iOS では問題なく動作する一方で、Android アプリでは を使う際に大きな障害に直面しました。プロジェクトには静的エクスポートを必ず使うようにしましたが、Link のルート処理が Android ではどうしても動作しません。どうやら Android の WebView が古すぎて対応していないようです。そのため、Next.js のファイルベースのページルートは Link を使うと動作しませんでした。
もう少し詳しく調べるために、useRoute、route.push、そして href を試してみましたが、うまくいきませんでした。後になって気づいたのは、ほとんどの人が Capacitor を React や Svelte と組み合わせて使っているということです。しかし最も重要なのは、彼らがそれをマルチページ Web アプリではなく、シングルページ Web アプリとして使っているということです。ルートを動作させ続けたい私としては、Capacitor を使うことで Web コードベースを 1 つだけ持つという利点を活かすことはできません。解決する方法はあるのかもしれませんが、まだ見つけられていません。現段階では、Web が最も重要なので、オフライン同期機能を備えた PWA にすることに取り組んでいます。
2. なぜ React Native Web ではないのか?
Expo で React Native Web を使った別のプロジェクトがあり、素晴らしい体験でした。実は、そちらが進むべき道なのかもしれないと考えています。Web アプリであっても、RN Web を使うことで将来のモバイルアプリ開発のための良い基盤が得られます。モバイルアプリをリリースしないと決めたとしても、それで問題ないでしょう。さらに、RN Web でも JS ライブラリを使えますし、ルートも持てます。
唯一の欠点は依存関係の地獄で、これはある程度避けたいと思っています。Next.js のほうがずっとシンプルで管理しやすいのです。
私のスタックが RN Web を使っても動作するか試してみようと思います。そして/あるいは、Android での Capacitor の奇妙なルートを修正してみようと思います。
どう思いますか?