Electron Mimarisi: Ana ve Görüntüleyici Süreçleri
Electron'un çok süreçli modelini anlayın: yerel API'ler için ana süreç, React kullanıcı arayüzü için görüntüleyici süreci.
Electron Mimarisi: Ana ve Görüntüleyici Süreçleri, CoddyKit'te ücretsiz bir React Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, React Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. React Academy kursu toplamda 4 dersten oluşur.
Electron Nedir
Electron, Chromium'u (web oluşturma için) Node.js ile (yerel API erişimi için) birleştiren ve geliştiricilerin tanıdık web teknolojilerini kullanarak farklı platformlarda çalışan masaüstü uygulamaları oluşturmasını sağlayan bir çerçevedir. React uygulamanız bir Chromium tarayıcı penceresinin içinde çalışırken Node.js, işletim sistemi yeteneklerine erişmenizi sağlar.
Ana Süreç
Ana süreç, bir Electron uygulamasının giriş noktasıdır; uygulamanın yaşam döngüsünü yönetir, pencereler oluşturup denetler ve yerel OS etkileşimlerini işler. Oluşturucu süreçleri başlatır ve Node.js API'lerine ve temel işletim sistemine tam erişime sahiptir.
Oluşturucu Süreç
Her BrowserWindow, Chromium'u çalıştıran ve React uygulamanızı yürüten kendi oluşturucu sürecini başlatır. Her pencere için bir oluşturucu süreç vardır ve bu süreç normal bir tarayıcı sekmesine çok benzer şekilde davranır; HTML, CSS ve JavaScript oluşturur.
Ana Sürecin Yetenekleri
Ana süreç tam Node.js erişimine sahip olduğundan dosya sistemini okuyup yazabilir, yerel menüler oluşturabilir, sistem tepsisini yönetebilir, alt süreçler başlatabilir ve donanımla etkileşim kurabilir. Güvenlik nedenleriyle bu yetenekler varsayılan olarak oluşturucu süreçte kullanılamaz.
Oluşturucu Sürecin Korumalı Alana Alınması
contextIsolation true olarak ayarlandığında (modern varsayılan ayar), oluşturucu süreç korumalı alana alınır ve Node.js API'lerine doğrudan erişemez. Bu güvenlik modeli, kötü amaçlı web içeriğinin dosya sisteminize erişmesini veya rastgele sistem komutları çalıştırmasını önler.
IPC: Süreçler Arasındaki Köprü
Süreçler Arası İletişim (IPC), ana ve oluşturucu süreçlerin mesaj alışverişi yapmasını sağlayan mekanizmadır. Ana süreç mesajları dinlemek ve yanıtlamak için ipcMain'i, oluşturucu süreç ise mesaj göndermek için ipcRenderer'ı kullanır; tüm iletişim eşzamansız ve mesaj tabanlıdır.
Ön Yükleme Betiği
Ön yükleme betiği özel bir ara katmanda çalışır: oluşturucu süreç bağlamında yürütülür, ancak sayfa içeriği yüklenmeden önce Node.js API'lerine erişimini korur. Bu özellik, korumalı alana alınmış oluşturucu süreç ile ayrıcalıklı ana süreç arasında güvenli bir köprü oluşturmasını sağlar.
contextBridge: Güvenli API Dışa Aktarımı
contextBridge.exposeInMainWorld, ön yükleme betiğinin oluşturucu sürece seçerek sunduğu güvenli ve özenle belirlenmiş bir API'yi dışa aktarmasını sağlar. Oluşturucu süreç, Node.js'e veya Electron iç yapılarına hiçbir zaman doğrudan erişmeden bu dışa aktarılan işlevleri çağırabilir; böylece güçlü bir güvenlik sınırı korunur.
React'ten Dışa Aktarılan API'lere Erişme
contextBridge, API'yi "api" gibi bir ad altında dışa aktardıktan sonra React bileşenleriniz bu API'yi window.api.myFunction() aracılığıyla çağırabilir. Bu işlem normal bir JavaScript işlevini çağırmaya çok benzer; ancak arka planda IPC üzerinden ana sürece yönlendirilir.
Güvenlik Modelinin Özeti
Electron güvenlik modeli, contextIsolation etkinleştirildiğinde oluşturucu süreçte Node.js'e doğrudan erişimi açıkça yasaklar. Tüm ayrıcalıklı işlemler ön yükleme betiği ve contextBridge üzerinden gerçekleştirilmelidir. Böylece oluşturucu süreçte bir XSS saldırısı gerçekleşse bile saldırı dosya sistemine erişemez.
Süreçler Arası İletişim Akışı
Tipik bir etkileşim şu şekilde ilerler: React bileşeni window.api.readFile() işlevini çağırır → ön yükleme betiği ipcRenderer.invoke() işlevini çağırır → ana süreçte ipcMain.handle() fs.readFile() işlevini yürütür → sonuç, oluşturucu sürece Promise olarak döner. Bu mimari, oluşturucu süreci temiz ve güvenli tutar.
contextBridge'in Amacı
Electron'da contextBridge.exposeInMainWorld işlevinin temel amacı nedir?
Ders Özeti
Electron, Chromium ile Node.js'i birleştirir: ana süreç uygulamanın yaşam döngüsünü yönetir ve OS'ye tam erişime sahiptir; oluşturucu süreçler ise React kullanıcı arayüzünüzü korumalı bir ortamda çalıştırır. Ön yükleme betiği ile contextBridge güvenli köprüyü oluşturur, IPC ise ayrıcalıklı ana süreç ile yalıtılmış oluşturucu süreç arasında güvenli iletişimi sağlar.
Sıkça Sorulan Sorular
“Electron Mimarisi: Ana ve Görüntüleyici Süreçleri” dersi ücretsiz mi?
Evet — “Electron Mimarisi: Ana ve Görüntüleyici Süreçleri” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve React Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. React Academy kursu toplamda 4 dersten oluşur.
“Electron Mimarisi: Ana ve Görüntüleyici Süreçleri” dersinde ne öğreneceğim?
Electron'un çok süreçli modelini anlayın: yerel API'ler için ana süreç, React kullanıcı arayüzü için görüntüleyici süreci. React Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
React Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te React Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“Electron Mimarisi: Ana ve Görüntüleyici Süreçleri” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu React Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her React Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Electron Mimarisi: Ana ve Görüntüleyici Süreçleri
- React'i Electron ile Kurma
- Süreçler Arası IPC İletişimi
- Masaüstü Platformları için Paketleme ve Dağıtım