Arsitektur Electron: Proses Utama dan Perender
Pahami model multiproses Electron: proses utama untuk API native dan proses perender untuk UI React.
Arsitektur Electron: Proses Utama dan Perender adalah pelajaran React Academy gratis di CoddyKit. Ini adalah pelajaran 1 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.
Apa Itu Electron
Electron adalah kerangka kerja yang menggabungkan Chromium (untuk perenderan web) dengan Node.js (untuk akses ke API asli), sehingga pengembang dapat membuat aplikasi desktop lintas platform menggunakan teknologi web yang sudah dikenal. Aplikasi React Anda berjalan di dalam jendela peramban Chromium, sedangkan Node.js memberi Anda akses ke kemampuan sistem operasi.
Proses Utama
Proses utama adalah titik masuk aplikasi Electron — proses ini mengelola siklus hidup aplikasi, membuat dan mengendalikan jendela, serta menangani interaksi dengan OS. Proses ini membuat proses perender dan memiliki akses penuh ke API Node.js serta sistem operasi yang mendasarinya.
Proses Perender
Setiap BrowserWindow membuat proses perendernya sendiri, yang menjalankan Chromium dan mengeksekusi aplikasi React Anda. Ada satu proses perender untuk setiap jendela, dan perilakunya sangat mirip dengan tab peramban biasa — proses ini merender HTML, CSS, dan JavaScript.
Kemampuan Proses Utama
Karena proses utama memiliki akses penuh ke Node.js, proses ini dapat membaca dan menulis sistem berkas, membuat menu asli, mengelola baki sistem, membuat proses anak, dan berinteraksi dengan perangkat keras. Demi alasan keamanan, kemampuan ini secara bawaan tidak tersedia di proses perender.
Penyandboxan Proses Perender
Ketika contextIsolation disetel ke true (bawaan modern), proses perender disandbox dan tidak dapat mengakses API Node.js secara langsung. Model keamanan ini mencegah konten web berbahaya mengakses sistem berkas Anda atau menjalankan perintah sistem sembarang.
IPC: Jembatan Antarproses
Komunikasi Antarproses (IPC) adalah mekanisme yang memungkinkan proses utama dan proses perender saling bertukar pesan. Proses utama menggunakan ipcMain untuk mendengarkan dan merespons pesan, sedangkan perender menggunakan ipcRenderer untuk mengirimkannya — seluruh komunikasi berlangsung secara asinkron dan berbasis pesan.
Skrip Pramuat
Skrip pramuat menempati posisi tengah yang khusus: skrip ini berjalan dalam konteks proses perender, tetapi tetap memiliki akses ke API Node.js sebelum konten halaman dimuat. Dengan demikian, skrip ini menjadi jembatan aman antara proses perender yang disandbox dan proses utama yang memiliki hak istimewa.
contextBridge: Mengekspos API dengan Aman
contextBridge.exposeInMainWorld memungkinkan skrip pramuat mengekspos API yang aman dan telah dipilih secara selektif kepada proses perender. Proses perender dapat memanggil fungsi yang diekspos tersebut tanpa pernah memperoleh akses langsung ke internal Node.js atau Electron, sehingga batas keamanan tetap kuat.
Mengakses API yang Diekspos dari React
Setelah contextBridge mengekspos API dengan nama seperti "api", komponen React Anda dapat memanggilnya melalui window.api.myFunction(). Cara ini terasa seperti memanggil fungsi JavaScript biasa, tetapi di balik layar pemanggilan tersebut diteruskan melalui IPC ke proses utama.
Ringkasan Model Keamanan
Model keamanan Electron secara eksplisit melarang akses langsung ke Node.js dari proses perender ketika contextIsolation diaktifkan. Semua operasi dengan hak istimewa harus melewati skrip pramuat dan contextBridge, sehingga meskipun serangan XSS terjadi di proses perender, serangan tersebut tidak dapat mengakses sistem berkas.
Alur Komunikasi Antarproses
Interaksi yang umum berlangsung seperti ini: komponen React memanggil window.api.readFile() → pramuat memanggil ipcRenderer.invoke() → proses utama menjalankan fs.readFile() melalui ipcMain.handle() → hasil dikembalikan sebagai Promise ke proses perender. Arsitektur ini menjaga proses perender tetap bersih dan aman.
Tujuan contextBridge
Apa tujuan utama contextBridge.exposeInMainWorld di Electron?
Ringkasan Pelajaran
Electron menggabungkan Chromium dan Node.js: proses utama mengelola siklus hidup aplikasi dan memiliki akses penuh ke OS, sedangkan proses perender menjalankan UI React Anda dalam lingkungan yang disandbox. Skrip pramuat dan contextBridge membentuk jembatan yang aman, sementara IPC memungkinkan komunikasi yang aman antara proses utama dengan hak istimewa dan proses perender yang terisolasi.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Arsitektur Electron: Proses Utama dan Perender” gratis?
Ya — teks lengkap “Arsitektur Electron: Proses Utama dan Perender” 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 “Arsitektur Electron: Proses Utama dan Perender”?
Pahami model multiproses Electron: proses utama untuk API native dan proses perender untuk UI React. 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 1 dari 4.
Berapa lama pelajaran “Arsitektur Electron: Proses Utama dan Perender” 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
- Arsitektur Electron: Proses Utama dan Perender
- Menyiapkan React dengan Electron
- Komunikasi IPC Antarproses
- Pengemasan dan Distribusi untuk Platform Desktop