Membuat Aplikasi Desktop Sederhana Menggunakan Vite, React dan Tauri.js


19 April 2022

--------

Tersedia dalam .

Hai semuanya! Di post ini saya akan membagikan bagaimana cara untuk membuat aplikasi desktop sederhana menggunakan React, Vite, dan Tauri.js. Aplikasi sederhana nya adalah sebuah penghitung (bawaan dari Vite React boilerplate) yang akan kita build menjadi aplikasi desktop yang bisa diinstall di macOS, Windows dan Linux. Tapi sebelum kita memulai, saya ada beberapa catatan penting yang Anda harus perhatikan:

  • Tauri ini masih baru.
  • Mereka baru saja merilis versi release candidate nya ke publik (v1.0 RC) di Q1 2022. Jadi jika Anda menemukan permasalahan saat pengembangan, tempat terbaik untuk mencari atau bahkan melaporkan permasalahan anda adalah GitHub repository mereka.

  • Tauri menggunakan Rust sebagai server-side runtime mereka
  • Jika Anda membutuhkan Node.js sebagai server-side runtime Anda (seperti Electron), Tauri bukan untuk Anda.

    Oke, mari kita mulai!

    Persyaratan

    Node.js LTS (> v14.0) dan npm / yarn harus sudah terinstall dan berjalan dengan baik pada perangkat Anda. Untuk post kali ini, saya akan menggunakan yarn untuk menginstall berbagai dependencies yang kita perlukan.

    Langkah-Langkah

    Pertama, kita perlu membuat sebuah aplikasi Vite React. Anda bisa mengikuti langkah-langkah bagaimana cara membuatnya dari dokumentasi mereka, atau bisa dengan menuliskan perintah ini pada terminal Anda:

    $ yarn create vite

    Isi bagian nama project dengan nama yang Anda inginkan. Lalu pada saat opsi pemilihan framework muncul, pilih react. Untuk bagian varian, pilih opsi varian yang Anda biasanya gunakan (JavaScript/TypeScript). Saya akan memilih JavaScript untuk post ini. Berikutnya, ikuti langkah-langkah yang sudah disediakan untuk menginstall dan menjalankan aplikasi tersebut.

    Persiapan menginstall Tauri

    Selanjutnya, kita perlu mempersiapkan perangkat kita untuk dapat menginstall Tauri. Anda dapat melihat langkah-langkahnya dari dokumentasi resmi mereka:

    Menginstall Tauri ke dalam Aplikasi Vite React

    Jika persiapan sudah selesai, kita dapat menginstall Tauri ke dalam aplikasi kita. Ikuti langkah-langkahnya berikut ini:

    # pertama, install paket Tauri CLI sebagai devDependencies
    $ yarn add -D @tauri-apps/cli
    
    # kedua, install paket Tauri API sebagai dependencies 
    $ yarn add @tauri-apps/api
    
    # terakhir, jalankan perintah init Tauri
    $ yarn tauri init

    Tauri akan menanyakan beberapa hal untuk mengkonfigurasi aplikasi Anda:

    What is your app name? (Apa nama aplikasi Anda?)

    Isi dengan nama yang Anda inginkan. Atau gunakan nama yang sama seperti saat Anda membuat aplikasi Vite React app sebelumnya.

    What should the window title be? (Apa judul jendelanya?)

    Beri judul ke jendela aplikasi supaya pengguna dapat melihatnya saat mereka membuka aplikasi tersebut.

    Where are your web assets ... ? (Dimana web asset nya?)

    Isi dengan: ../dist

    What is the URL of your dev server? (URL dev server nya apa?)

    Isi dengan: http://localhost:3000

    Kemudian, Tauri akan otomatis membuat sebuah folder baru bernama src-tauri. Didalamnya, akan ada banyak konfigurasi, namun yang perlu kita perhatikan adalah file tauri.conf.json. Buka file tersebut dan lihat dua key konfigurasi ini:

    build.beforeDevCommand

    Isinya harus sesuai dengan perintah untuk menjalankan (dev command) aplikasi Vite React app kita.

    build.beforeBuildCommand

    Isinya harus sesuai dengan perintah untuk membangun (build command) aplikasi Vite React app kita.

    Contoh yang benar adalah seperti kode dibawah ini. Jika konfigurasi di sisi Anda belum seperti ini, maka sesuaikanlah seperti contoh kode yang ada dibawah ini:

    {
      "build": {
        "beforeDevCommand": "yarn dev",
        "beforeBuildCommand": "yarn build"
      },
    }

    Selanjutnya jika sudah sesuai, kita dapat menjalankan aplikasi Vite React app dalam mode pengembangan (development mode) menggunakan perintah dari Tauri:

    $ yarn tauri dev

    Tunggu hingga proses build nya selesai. Setelah selesai maka aplikasi desktop yang sudah di-bundle oleh Tauri akan muncul seperti ini:

    Tara! Jika ini yang Anda lihat juga, selamat Anda sudah berhasil membuat sebuah aplikasi desktop sederhana dengan menggunakan Vite, React, dan Tauri.

    Oiya satu hal lagi, jika Anda ingin melakukan debug di mode production build, Anda dapat melakukannya dengan menggunakan perintah ini:

    $ yarn tauri build

    Setelah proses build-nya selesai, maka akan muncul perintah untuk menginstall aplikasi tersebut ke dalam perangkat Anda.

    Melakukan Cross-Platform Builds

    Saat post ini ditulis, Tauri belum support untuk melakukan cross-platform build di local atau di perangkat kita masing. Untungnya, Tauri menawarkan solusi dengan membuat sebuah GitHub action yang dapat kita gunakan untuk melakukan cross-platform build.

    Pertama, kita harus menaruh kode kita ke sebuah repositori GitHub. Selanjutnya, dari folder root project Anda, buatlah folder baru dengan nama .github dan isilah folder tersebut dengan folder lagi bernama workflows, lalu yang terakhir buatlah sebuah file dengan nama apapun namun harus berformat .yml. Contohnya release.yml. Selanjunya, silakan salin kode ini ke dalam file tersebut:

    name: "build-and-publish" # nama workflow nya
    on:
      push:
        branches:
          - main # workflow ini hanya akan berjalan saat ada perubahan di branch `main`
    concurrency:
      group: ${{ github.ref }}
      cancel-in-progress: true
    
    jobs:
      publish-tauri:
        strategy:
          fail-fast: false
          matrix:
            platform: [macos-latest, ubuntu-latest, windows-latest] # platform yang ingin Anda build
    
        runs-on: ${{ matrix.platform }}
        steps:
          - uses: actions/checkout@v2
          - name: setup node
            uses: actions/setup-node@v1
            with:
              node-version: 16
          - name: install Rust stable
            uses: actions-rs/toolchain@v1
            with:
              toolchain: stable
          - name: install dependencies (ubuntu only)
            if: matrix.platform == 'ubuntu-latest'
            run: |
              sudo apt-get update
              sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf
          - name: install app dependencies
            run: yarn
          - uses: tauri-apps/tauri-action@v0
            env:
              GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
            with:
              tagName: app-v__VERSION__
              releaseName: "app v__VERSION__"
              releaseBody: "See the assets to download this version and install."
              releaseDraft: true
              prerelease: false

    Jika nama branch utama Anda bukanlah main, silakan ubah pada opsi branches dengan nama branch utama Anda.

    Anda juga dapat melakukan build spesifik untuk sebuah atau beberapa platform saja. Anda dapat melakukannya dengan mengubah isi dari opsi platform yang ada pada file tersebut. Contohnya, jika Anda hanya ingin melakukan build untuk macOS Anda bisa isi dengan macos-latest saja. Perlu dicatat bahwa hingga saat ini, Tauri hanya support 3 platform saja: macos-latest, windows-latest, dan ubuntu-latest.

    Selanjutnya, lakukan commit pada file tersebut dan push ke repositori Anda. Akan muncul sebuah titik kecil berwarna kuning pada bagian header repositori Anda yang menandakan ada proses GitHub workflow yang sedang berjalan. Klik titik tersebut untuk melihat prosesnya.

    Setelah semua proses build nya rampung, statusnya akan berubah menjadi sukses dengan ikon centang berwarna hijau.

    Lalu GitHub workflow akan otomatis membuat sebuah rilisan draft yang isinya adalah image dan file aplikasi yang sudah selesai di-build. Untuk melihatnya Anda bisa membuka halaman “Releases” pada repositori Anda, dan akan terlihat kurang lebih seperti ini:

    Selamat! Anda sudah dapat membuat aplikasi desktop sederhana, yang dapat Anda unduh dan jalankan di perangkat Anda. Sekarang Anda dapat mengubah-ubah kode Anda seperti yang Anda inginkan, lalu tinggal commit & push saja ke branch utama Anda, dan aplikasi desktop akan secara otomatis di-build dan dalam beberapa menit akan tersedia untuk Anda. Anda juga dapat melihat contoh repositori nya, disini.

    “Selamat mencoba!” -
    Sisca Kohl

    Email

    Resume

    Timeline

    Twitter

    GitHub

    LinkedIn

    Instagram

    YouTube

    SoundCloud