0Pricing
React Academy · Pelajaran

Pengemasan dan Distribusi untuk Platform Desktop

Buat penginstal untuk macOS, Windows, dan Linux menggunakan electron-builder dengan penandatanganan kode dan pembaruan otomatis.

Pengemasan dan Distribusi untuk Platform Desktop adalah pelajaran React Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar React Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus React Academy mencakup 4 pelajaran total.

Konfigurasi electron-builder

electron-builder adalah alat standar untuk mengemas aplikasi Electron menjadi penginstal yang dapat didistribusikan. Konfigurasinya berada di package.json di bawah kunci "build", yang menentukan metadata aplikasi (appId, productName), jalur ikon, dan format target untuk setiap platform.

Target Pembuatan berdasarkan Platform

electron-builder mendukung macOS (dmg dan zip), Windows (penginstal NSIS), dan Linux (AppImage dan deb). Anda dapat menargetkan beberapa platform dengan satu perintah pembuatan, atau mengonfigurasi CI untuk membuat setiap platform pada pelaksana aslinya agar kompatibilitasnya optimal.

Penandatanganan Kode untuk macOS

macOS memerlukan penandatanganan kode dengan sertifikat Apple Developer agar Gatekeeper mengizinkan pengguna membuka aplikasi tanpa peringatan keamanan. electron-builder membaca sertifikat Anda dari Keychain macOS selama proses pembuatan dan menandatangani semua biner secara otomatis.

Notarisasi untuk macOS

Selain penandatanganan kode, macOS modern juga memerlukan notarisasi—mengirimkan aplikasi ke layanan notarisasi Apple, yang memindai malware dan menerbitkan tiket. electron-builder dapat mengotomatiskan notarisasi melalui electron-notarize, dan pengguna macOS 10.15 atau yang lebih baru akan diblokir tanpa notarisasi tersebut.

Penandatanganan Kode untuk Windows

Windows memerlukan sertifikat Authenticode dari Otoritas Sertifikat (CA) tepercaya agar SmartScreen mempercayai penginstal Anda. Tanpa penandatanganan, pengguna akan melihat peringatan "Windows protected your PC". Sertifikat Extended Validation (EV) langsung menghilangkan peringatan tersebut, sedangkan sertifikat OV standar membangun kepercayaan seiring waktu.

Struktur Hasil Pembuatan

Setelah pembuatan berhasil, electron-builder menulis penginstal khusus platform ke direktori dist/. Anda akan menemukan DMG atau zip untuk macOS, berkas .exe NSIS untuk Windows, serta AppImage atau .deb untuk Linux, bersama dengan manifes pembaruan otomatis latest.yml (atau latest-mac.yml).

Ikon Aplikasi

Aplikasi Electron memerlukan ikon dalam format khusus platform: PNG berukuran 512x512 untuk Linux, berkas ICNS (multiresolusi) untuk macOS, dan berkas ICO (multiresolusi) untuk Windows. electron-builder dapat membuat semua format tersebut dari satu PNG berukuran 1024x1024 menggunakan opsi --icon.

Pembaruan Otomatis dengan electron-updater

Paket electron-updater terintegrasi dengan electron-builder untuk menyediakan pembaruan otomatis. Publikasikan hasil pembuatan Anda ke GitHub Releases atau S3, lalu electron-updater dapat memeriksa pembaruan saat aplikasi dimulai, mengunduh pembaruan delta di latar belakang, dan meminta pengguna untuk memulai ulang.

Memeriksa Pembaruan saat Memulai

Panggil autoUpdater.checkForUpdatesAndNotify() di main.js setelah aplikasi siap. electron-updater mengambil manifes latest.yml dari target publikasi Anda, membandingkan versi, dan jika pembaruan tersedia, mengunduhnya serta menampilkan notifikasi asli saat pembaruan siap dipasang.

Arsip ASAR

electron-builder mengemas berkas JavaScript aplikasi Anda ke dalam satu arsip ASAR (mirip berkas tar) untuk didistribusikan. Hal ini meningkatkan kinerja saat memulai dengan mengurangi pencarian di sistem berkas dan membuat kode sumber Anda lebih sulit (meskipun bukan mustahil) untuk diperiksa secara langsung.

Membongkar Modul Asli dari ASAR

Modul Node.js asli (berkas .node) tidak dapat dimuat dari dalam arsip ASAR—modul tersebut harus dibongkar ke sistem berkas. Konfigurasikan asarUnpack di electron-builder untuk mencantumkan pola modul asli; konfigurasi ini menempatkannya di direktori app.asar.unpacked bersama arsip tersebut.

Persyaratan Notarisasi macOS

Mengapa notarisasi diperlukan untuk distribusi macOS selain sekadar penandatanganan kode?

Ringkasan Pelajaran

Mendistribusikan aplikasi Electron mencakup konfigurasi target electron-builder, penandatanganan kode untuk macOS (dengan notarisasi) dan Windows (Authenticode), serta secara opsional menyiapkan pembaruan otomatis dengan electron-updater. Arsip ASAR mengemas aplikasi untuk didistribusikan, sedangkan modul asli dibongkar secara terpisah. Alur CI/CD yang solid menangani langkah-langkah ini secara otomatis untuk setiap platform.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Pengemasan dan Distribusi untuk Platform Desktop” gratis?

Ya — teks lengkap “Pengemasan dan Distribusi untuk Platform Desktop” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus React Academy, upgrade ke CoddyKit PRO. Kursus React Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Pengemasan dan Distribusi untuk Platform Desktop”?

Buat penginstal untuk macOS, Windows, dan Linux menggunakan electron-builder dengan penandatanganan kode dan pembaruan otomatis. Kamu berlatih React Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai React Academy?

Tidak diperlukan pengalaman sebelumnya. React Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Pengemasan dan Distribusi untuk Platform Desktop” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran React Academy ini?

Ya. Setiap pelajaran React Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Arsitektur Electron: Proses Utama dan Perender
  2. Menyiapkan React dengan Electron
  3. Komunikasi IPC Antarproses
  4. Pengemasan dan Distribusi untuk Platform Desktop
← Kembali ke React Academy