Next.js(Typescript)+Tauri(Rust)でのデスクトップアプリ制作

Rust

はじめに

本記事では、Typescriptを使用したNext.jsとTauriによるアプリケーション開発のチュートリアルを紹介します。このチュートリアルを通じて、デスクトップアプリケーションの作成に必要なスキルと知識を身につけることができます。

Typescriptでデスクトップアプリを作成する場合、Electronも候補になってきますが、Tauriのほうがメモリや容量がかなり抑えられるアプリが作成できます

Next.jsとTauriの基本

Next.jsはサーバーサイドレンダリングや静的サイト生成に優れたReactフレームワークです。一方、Tauriはウェブ技術を使って軽量なデスクトップアプリケーションを作成するためのフレームワークです。

Next.jsの詳細については公式ドキュメントを、Tauriについては公式ガイドを参照してください。

今回Next.jsについてはAPPRouterを利用します

Next.js13でのページとAPIのファイル名とディレクトリの命名[APP Router]

Next.js13でのページとAPIのファイル名とディレクトリの命名[APP Router]
はじめに Next.jsは非常に重要なフレームワークとなり、その最新版Next.js 13が公開されました。本記事では、特に重要なNext.jsのファイル名とディレクトリの命名規則に焦点を当て、詳しく解説します。 今回はTypescript...

プロジェクトのセットアップ

まずはNext.jsプロジェクトを作成し、その後Tauriを統合します。

# Next.js+Tauriプロジェクトの作成(コマンド実行後にアプリ名やTypescriptを使用するかなどの選択ができます)
npx create-next-app@latest --use-npm

# プロジェクトディレクトリに移動
cd {作成したプロジェクト名}

# Next.jsで利用するライブラリのインストール
npm install --save-dev @tauri-apps/cli
# Tauriのセットアップ
npm run tauri init

package.jsonのscriptに下記部分にtauriコマンドが使用できるように追加します

"scripts": {
  "tauri": "tauri"
},

設定を追加したらTauriアプリケーションをセットアップして、TauriアプリケーションとしてNext.jsを実行することができます

# Tauriのセットアップ
npm run tauri init

TauriとNext.jsの統合

Next.jsとTauriを統合することで、デスクトップアプリケーションの開発が可能になります。
tauri.config.jsonの下記部分を任意の値に変更します
逆ドメイン名の表記法によるアプリケーション識別子 (例:com.tauri.example)になっているためアプリで一意の文字列になります

{
  "tauri": {
    "bundle": {
      "identifier": "任意の値に変更",
    },
}

この設定により、TauriはNext.jsのビルドを行うことができ、デスクトップアプリケーションを作成することができます

アプリケーションの実行

設定が完了したら、アプリケーションを実行してみましょう。

// デベロッパーモードでアプリを起動
npx tauri dev

このコマンドを実行すると、開発サーバーが起動し、デスクトップアプリケーションが表示されます。

まとめ

このチュートリアルでは、Next.jsとTauriを使用してTypescriptでデスクトップアプリケーションを開発する方法を紹介しました。この組み合わせにより、ウェブ技術を駆使して効率的かつ効果的にデスクトップアプリケーションを開発できます。

最後に、Next.jsとTauriを使用することで、リッチなユーザーインターフェースと優れたパフォーマンスを兼ね備えたアプリケーションを開発することができます。RustとTypescriptの知識が必要にはなってきますが性能の面で素晴らしいアプリケーションが作成できるため、ぜひともTauriを使ってみてはいかがでしょうか