Main Process এবং Renderer Process এর মধ্যে পার্থক্য

Main Process এবং Renderer Process - ইলেকট্রন  (Electron) - Web Development

259

Electron অ্যাপ্লিকেশন মূলত দুইটি প্রধান প্রক্রিয়া (Main Process এবং Renderer Process) ব্যবহার করে কাজ করে। তাদের ভূমিকা এবং কার্যক্রম আলাদা হলেও একসঙ্গে সমন্বয় করে অ্যাপ্লিকেশন পরিচালনা করে। নিচে Main Process এবং Renderer Process এর মধ্যে পার্থক্য বিস্তারিতভাবে দেখানো হয়েছে।


পার্থক্যের তালিকা

বৈশিষ্ট্যMain ProcessRenderer Process
কাজের ধরনঅ্যাপ্লিকেশনের জীবনচক্র এবং উইন্ডো নিয়ন্ত্রণ।UI রেন্ডারিং এবং ব্যবহারকারীর ইন্টারঅ্যাকশন।
সংখ্যাএকটি অ্যাপ্লিকেশনে শুধুমাত্র একটি।একাধিক হতে পারে (প্রতি উইন্ডোর জন্য একটি)।
Node.js অ্যাক্সেসপুরোপুরি Node.js API ব্যবহার করতে পারে।সীমিত Node.js API ব্যবহার করতে পারে।
যোগাযোগ পদ্ধতিRenderer Process এর সাথে IPC (Inter-Process Communication) ব্যবহার করে।Main Process এর সাথে IPC ব্যবহার করে।
উইন্ডো তৈরিBrowserWindow তৈরি এবং পরিচালনা করে।UI রেন্ডার এবং ব্যবহারকারীর ইনপুট গ্রহণ করে।
API অ্যাক্সেসNode.js এবং Electron API সম্পূর্ণরূপে সমর্থন।DOM এবং Web API সমর্থন।
ব্যবহারব্যাকএন্ড কাজ (ফাইল সিস্টেম, মেনু, নেটওয়ার্ক)।ফ্রন্টএন্ড কাজ (UI এবং ইন্টারঅ্যাকশন)।
রেন্ডারিংকোনো UI রেন্ডার করে না।UI রেন্ডারিং এবং ব্যবহারকারীর সাথে ইন্টারঅ্যাকশন।

Main Process

বৈশিষ্ট্য

  • অ্যাপ্লিকেশনের জীবনচক্র পরিচালনা করে।
  • একক প্রক্রিয়া হিসেবে কাজ করে।
  • Node.js API সম্পূর্ণরূপে ব্যবহার করতে পারে।
  • BrowserWindow তৈরি এবং পরিচালনা করে।

উদাহরণ

const { app, BrowserWindow } = require('electron');

let mainWindow;

app.on('ready', () => {
  mainWindow = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      nodeIntegration: true,
    },
  });
  mainWindow.loadFile('index.html');
});

Renderer Process

বৈশিষ্ট্য

  • প্রতিটি উইন্ডোর জন্য একটি পৃথক Renderer Process থাকে।
  • HTML, CSS, এবং JavaScript ব্যবহার করে UI রেন্ডার করে।
  • DOM এবং Web API সম্পূর্ণরূপে সমর্থন করে।
  • Main Process এর সাথে IPC এর মাধ্যমে যোগাযোগ করে।

উদাহরণ

index.html:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Renderer Process</title>
</head>
<body>
  <h1>Renderer Process চলছে!</h1>
</body>
</html>

Main Process এবং Renderer Process এর মধ্যে যোগাযোগ

IPC (Inter-Process Communication) ব্যবহার করে Main Process এবং Renderer Process এর মধ্যে তথ্য আদান-প্রদান করা হয়।

উদাহরণ

Main Process:

const { ipcMain } = require('electron');

ipcMain.on('message', (event, args) => {
  console.log('Renderer থেকে বার্তা:', args);
  event.reply('reply', 'Main Process থেকে উত্তর!');
});

Renderer Process:

const { ipcRenderer } = require('electron');

ipcRenderer.send('message', 'Hello from Renderer!');
ipcRenderer.on('reply', (event, args) => {
  console.log('Main Process থেকে বার্তা:', args);
});

পার্থক্যের মূল সারাংশ

  1. Main Process:
    • ব্যাকএন্ড কাজ পরিচালনা করে।
    • একটিমাত্র থাকে।
    • Node.js এবং Electron API পুরোপুরি ব্যবহার করে।
    • Renderer Process এর সাথে সমন্বয় করে অ্যাপ্লিকেশন কার্যকর করে।
  2. Renderer Process:
    • UI রেন্ডারিং এবং ব্যবহারকারীর ইন্টারঅ্যাকশন পরিচালনা করে।
    • একাধিক থাকতে পারে।
    • Web API এবং DOM ব্যবহারের জন্য দায়ী।
    • Main Process এর সাথে IPC ব্যবহার করে যোগাযোগ করে।

Main Process এবং Renderer Process এর এই আলাদা কার্যক্রম Electron অ্যাপ্লিকেশনকে সহজে এবং কার্যকরভাবে পরিচালনা করতে সাহায্য করে।

Content added By
Promotion

Are you sure to start over?

Loading...