一つのVueアプリ、3つのホーム:Tauriによるデスクトッ... ノート

一つのVueアプリ、3つのホーム:Tauriによるデスクトップ、CapacitorによるAndroid、そしてWeb

著者は、デスクトップクライアント、Androidアプリ、Webアプリとして機能する単一のVue.jsアプリケーションを構築しました。このアプローチにより、すべてのターゲットで統一されたUI、API呼び出し、OAuthフローが可能になります。デスクトップにはRustバックエンドを持つTauriが使用され、AndroidにはCapacitorが選択されました。プレーンなWebバージョンも利用可能です。大きな課題は、クロスコンパイルが実現不可能であることです。ビルドには各プラットフォームのネイティブツールチェーンが必要です。古いWindowsバージョンではWebView2が不足している可能性があり、インストーラーにブートストラップをバンドルする必要があります。パッケージ化されたアプリでのOAuthリダイレクトの処理は複雑で、従来のWebサーバーコールバックの代わりにカスタムスキームまたはディープリンクが必要です。Rustのリリースバイナリサイズは、panic="abort"やリンク時最適化などのCargo.tomlの特定の最適化によって削減できます。これらの複雑さにもかかわらず、著者は別々のプロジェクトのメンテナンスを回避するためにこのアプローチは価値があると考えています。著者は、デスクトップとモバイルをターゲットとするWeb開発者向けに、TauriとCapacitorを組み合わせたVueを推奨しており、パッケージ化とOAuthの複雑さを考慮に入れるようにアドバイスしています。著者はまた、この種の開発のフリーランスサービスも提供しています。