Electron একটি শক্তিশালী ফ্রেমওয়ার্ক, যা Main Process এবং Renderer Process এর মধ্যে যোগাযোগ এবং বিভিন্ন সিস্টেম ফিচার ব্যবহারের জন্য বিভিন্ন API সরবরাহ করে। নিচে Electron এর কিছু গুরুত্বপূর্ণ API গুলো এবং তাদের ব্যবহার বিস্তারিতভাবে আলোচনা করা হয়েছে।
১. app API
app API হলো Electron অ্যাপ্লিকেশনের জীবনচক্র (lifecycle) এবং সার্ভিস চালানোর জন্য ব্যবহৃত API। এটি অ্যাপের শুরু, বন্ধ, এবং অন্যান্য গ্লোবাল কার্যক্রম পরিচালনা করতে সহায়ক।
ভূমিকা:
- অ্যাপ্লিকেশন শুরু হওয়া এবং বন্ধ হওয়া নিয়ন্ত্রণ করা।
- অ্যাপ্লিকেশন বন্ধ করা হলে (অথবা উইন্ডো বন্ধ হলে) অ্যাপ্লিকেশন সম্পূর্ণভাবে বন্ধ করার কাজ করা।
- Tray icon এবং অ্যাপ মেনু ইত্যাদি কনফিগার করা।
উদাহরণ: app API ব্যবহার
const { app, BrowserWindow } = require('electron');
let mainWindow;
app.on('ready', () => {
mainWindow = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
nodeIntegration: true
}
});
mainWindow.loadFile('index.html');
});
// উইন্ডো বন্ধ হলে অ্যাপ বন্ধ হবে
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') { // macOS ছাড়া সব প্ল্যাটফর্মে অ্যাপ বন্ধ হবে
app.quit();
}
});
২. BrowserWindow API
BrowserWindow API Electron অ্যাপ্লিকেশনে উইন্ডো তৈরি এবং নিয়ন্ত্রণ করার জন্য ব্যবহৃত হয়। এটি UI রেন্ডারিং এর জন্য একটি Chromium উইন্ডো তৈরি করে, যেখানে HTML, CSS, এবং JavaScript ব্যবহার করে ব্যবহারকারীর ইন্টারফেস প্রদর্শন করা হয়।
ভূমিকা:
- নতুন উইন্ডো তৈরি করা।
- উইন্ডোর সাইজ, পজিশন এবং অন্যান্য সেটিংস কনফিগার করা।
- HTML ফাইল বা URL লোড করা।
উদাহরণ: BrowserWindow API ব্যবহার
const { app, BrowserWindow } = require('electron');
let mainWindow;
app.on('ready', () => {
mainWindow = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
nodeIntegration: true
}
});
// index.html ফাইল লোড করা
mainWindow.loadFile('index.html');
});
৩. ipcMain API
ipcMain API হলো Electron এর Main Process-এর জন্য ব্যবহৃত API, যা Renderer Process থেকে মেসেজ গ্রহণ করে এবং তার সাড়া পাঠায়। এটি Inter-Process Communication (IPC) ব্যবস্থাপনা করে, যার মাধ্যমে Main Process এবং Renderer Process এর মধ্যে যোগাযোগ করা যায়।
ভূমিকা:
- Renderer Process থেকে আসা মেসেজ গ্রহণ করা।
- Renderer Process-এ সাড়া পাঠানো।
উদাহরণ: ipcMain API ব্যবহার
const { ipcMain } = require('electron');
ipcMain.on('message-from-renderer', (event, arg) => {
console.log('Renderer থেকে বার্তা:', arg);
// Renderer Process-এ সাড়া পাঠানো
event.reply('reply-from-main', 'Main Process থেকে বার্তা!');
});
৪. ipcRenderer API
ipcRenderer API হলো Electron এর Renderer Process-এর জন্য ব্যবহৃত API, যা Main Process-এর সাথে যোগাযোগের জন্য ব্যবহৃত হয়। এটি Renderer Process থেকে মেসেজ পাঠায় এবং Main Process থেকে সাড়া গ্রহণ করে।
ভূমিকা:
- Main Process-এ মেসেজ পাঠানো।
- Main Process থেকে আসা সাড়া গ্রহণ করা।
উদাহরণ: ipcRenderer API ব্যবহার
const { ipcRenderer } = require('electron');
// Main Process-এ মেসেজ পাঠানো
ipcRenderer.send('message-from-renderer', 'Hello from Renderer!');
// Main Process থেকে সাড়া গ্রহণ করা
ipcRenderer.on('reply-from-main', (event, arg) => {
console.log('Main Process থেকে বার্তা:', arg);
});
app, BrowserWindow, ipcMain, এবং ipcRenderer এর মধ্যে পারস্পরিক সম্পর্ক
app: অ্যাপের জীবনচক্র পরিচালনা করে, যেমন অ্যাপ চালু হওয়া, উইন্ডো বন্ধ হওয়া ইত্যাদি।BrowserWindow: নতুন উইন্ডো তৈরি করে এবং Renderer Process এর মাধ্যমে UI রেন্ডার করে।ipcMain: Main Process এর মধ্যে Renderer Process থেকে মেসেজ গ্রহণ করে এবং সাড়া পাঠায়।ipcRenderer: Renderer Process এর মধ্যে Main Process এর সাথে যোগাযোগ করতে ব্যবহৃত হয়।
এভাবে, app, BrowserWindow, ipcMain, এবং ipcRenderer APIs একত্রে কাজ করে Electron অ্যাপ্লিকেশনের কার্যক্রম এবং উইন্ডো ব্যবস্থাপনা পরিচালনা করে।
সারাংশ
appAPI: অ্যাপ্লিকেশনের জীবনচক্র এবং গ্লোবাল কার্যক্রম পরিচালনা।BrowserWindowAPI: উইন্ডো তৈরি এবং কনফিগারেশন।ipcMainAPI: Main Process এ Renderer Process থেকে মেসেজ গ্রহণ এবং সাড়া পাঠানো।ipcRendererAPI: Renderer Process এ Main Process এর সাথে যোগাযোগ করা।
এই APIs Electron অ্যাপ্লিকেশনের ভিত্তি গঠন করে এবং Main Process এবং Renderer Process এর মধ্যে কার্যকরী যোগাযোগ এবং উইন্ডো ব্যবস্থাপনা সক্ষম করে।
Read more