Tauri App

前々回、Nextron/Electron を扱いましたが、iOSで動かすにはTauri、ということで試してみました。
目指しているものは似ていますが、node.jsの部分を、Rustで記述しなくてはいけないところが大きく違います。しかしながら充実したAPIによってJavaScript(TypeScript)で大半を記述できるようになっているため、Rustでゴリゴリ書くことはなさそうです。

ここでは、デモの起動とデモプログラムの中でHTTPクライアントを動かしてみました。
https://github.com/tauri-apps/create-tauri-app

muiもインストール
npm i @mui/material @emotion/react @emotion/styled

HTTPクライアントはプラグインを追加
npm run tauri add http

src-tauri/capabilities/default.json の permissons に アクセスURLの追加

実行画面

npm run tauri dev

npm run tauri ios dev

ここでもTypeScriptは使える言語として存在感を感じます。

参考)
https://v2.tauri.app/blog/tauri-20/
https://v2.tauri.app/plugin/http-client/
https://gihyo.jp/article/2022/10/rust-monthly-topics-02
https://blog.keiya01.dev/entry/ipc-strategy-of-tauri/
https://zenn.dev/kumassy/books/6e518fe09a86b2/viewer/010d21
https://zenn.dev/de_teiu_tkg/articles/29ab64fe67a1af
https://dev.to/valorsoftware/developing-a-desktop-application-via-rust-and-nextjs-the-tauri-way-2iin
https://medium.com/@sirarpimanukyan/azure-active-directory-login-with-tauri-react-desktop-applications-3c804b08f8f4
https://github.com/AzureAD/microsoft-authentication-library-for-js/issues/6241
https://learn.microsoft.com/ja-jp/entra/identity-platform/msal-error-handling-js

追記)iPhoneへのインストール
src-tauri/gen/apple/ExportOptions.plist
method:development に変更

npm run tauri ios build

src-tauri/gen/apple/build/arm64/tauri-app.ipa
をXcodeの window -> Devices & Simulators の  Installed Apps に Drag & Drop

xcodeは通常のアプリ開発と同様、src-tauri/gen/apple/tauri-app.xcodeproj に対して、Signeing & Capabilities を設定しておく。(npm run tauri ios init で生成される)