ইলেকট্রন অ্যাপ্লিকেশনে অ্যাপ্লিকেশন আপডেট প্রক্রিয়া ব্যবহৃত হয়, যাতে ব্যবহারকারীরা নতুন ভার্সন ডাউনলোড এবং ইনস্টল করতে পারে। ইলেকট্রন অ্যাপ্লিকেশনে আপডেট ব্যবস্থাপনার জন্য বেশ কিছু প্যাকেজ রয়েছে, যার মধ্যে সবচেয়ে জনপ্রিয় এবং ব্যবহৃত হচ্ছে electron-updater এবং electron-builder।
এখানে, আমরা দেখব কীভাবে electron-updater এবং electron-builder ব্যবহার করে অ্যাপ্লিকেশনের আপডেট ডাউনলোড এবং ইনস্টল করা যায়।
১. electron-updater প্যাকেজ ব্যবহার করে আপডেটিং
electron-updater হলো ইলেকট্রন অ্যাপ্লিকেশনে আপডেট ডাউনলোড এবং ইনস্টল করার জন্য একটি প্যাকেজ। এটি electron-builder এর সাথে ইন্টিগ্রেটেড থাকে এবং সহজেই ডেভেলপারদের জন্য কাজ করে।
১.১ ইনস্টলেশন
প্রথমে, আপনাকে electron-updater এবং electron-builder ইনস্টল করতে হবে:
npm install electron-updater --save
npm install electron-builder --save-dev
১.২ main.js এ আপডেট চেক করা
আপনি Main Process-এ electron-updater ব্যবহার করে নতুন আপডেট চেক করতে পারেন এবং তা ডাউনলোড ও ইনস্টল করতে পারেন।
const { app, BrowserWindow } = require('electron');
const { autoUpdater } = require('electron-updater'); // electron-updater ইম্পোর্ট করা
let mainWindow;
app.on('ready', () => {
mainWindow = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
nodeIntegration: true,
},
});
mainWindow.loadFile('index.html');
// আপডেট চেক করা
autoUpdater.checkForUpdatesAndNotify();
// আপডেটের জন্য ইভেন্ট লিসেনার
autoUpdater.on('update-available', (info) => {
console.log('নতুন আপডেট পাওয়া গেছে:', info);
});
autoUpdater.on('update-not-available', () => {
console.log('আপডেট নেই');
});
autoUpdater.on('error', (err) => {
console.error('আপডেটের সমস্যা:', err);
});
autoUpdater.on('download-progress', (progressObj) => {
let log_message = 'ডাউনলোড অগ্রগতি: ';
log_message += `${progressObj.percent}% (${progressObj.transferred}/${progressObj.total})`;
console.log(log_message);
});
autoUpdater.on('update-downloaded', () => {
console.log('আপডেট ডাউনলোড হয়ে গেছে, অ্যাপ্লিকেশন পুনরায় চালু হবে!');
autoUpdater.quitAndInstall(); // আপডেট ইনস্টল এবং অ্যাপ পুনরায় চালু করা
});
});
১.৩ index.html ফাইল
এটি Renderer Process এর জন্য যা UI তৈরি করে।
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Electron App</title>
</head>
<body>
<h1>Electron App - আপডেট সিস্টেম</h1>
<button id="checkUpdateBtn">আপডেট চেক করুন</button>
<script>
const { ipcRenderer } = require('electron');
document.getElementById('checkUpdateBtn').addEventListener('click', () => {
ipcRenderer.send('check-update'); // আপডেট চেক করার জন্য মেসেজ পাঠানো
});
</script>
</body>
</html>
১.৪ package.json কনফিগারেশন
আপডেটের জন্য electron-builder কনফিগারেশন ফাইলটি package.json এ যোগ করুন।
{
"name": "my-electron-app",
"version": "1.0.0",
"build": {
"appId": "com.example.myapp",
"productName": "My App",
"publish": {
"provider": "generic",
"url": "https://myserver.com/updates/"
}
}
}
publish: এখানে আপনার আপডেট ফাইলগুলো সার্ভারে হোস্ট করা থাকবে।url: আপডেটের জন্য সার্ভারের URL প্রদান করতে হবে।
২. electron-builder ব্যবহার করে অ্যাপ্লিকেশন প্যাকেজিং এবং আপডেট
electron-builder হল ইলেকট্রন অ্যাপ্লিকেশন প্যাকেজ এবং আপডেট ব্যবস্থাপনা করার জন্য একটি শক্তিশালী টুল। এটি ডিস্ট্রিবিউশন ফাইল তৈরি এবং অ্যাপ্লিকেশন আপডেটের জন্য সহজ কনফিগারেশন সরবরাহ করে।
২.১ ইনস্টলেশন
npm install electron-builder --save-dev
২.২ প্যাকেজিং এবং আপডেট প্রস্তুত করা
আপডেট সিস্টেম তৈরি করতে, electron-builder কনফিগারেশন ফাইলে আপডেট প্যাকেজ তৈরি করতে হবে। আপনার package.json ফাইলে build সেকশনে publish এবং url সেটিংস যোগ করুন।
{
"name": "my-electron-app",
"version": "1.0.0",
"build": {
"appId": "com.example.myapp",
"productName": "My App",
"publish": {
"provider": "generic",
"url": "https://myserver.com/updates/"
}
}
}
২.৩ ডিপ্লয়মেন্ট এবং আপডেট সিস্টেম
আপডেট সিস্টেম সফলভাবে কাজ করার জন্য আপনাকে একটি আপডেট সার্ভার সেটআপ করতে হবে যেখানে আপডেট ফাইলগুলি হোস্ট হবে। এক্ষেত্রে আপনি একটি সাধারণ ওয়েব সার্ভার বা GitHub Releases বা Amazon S3 ব্যবহার করতে পারেন।
- আপডেট ফাইল এবং ইন্ডেক্স ফাইলগুলো তৈরি করুন।
electron-builderব্যবহার করে অ্যাপ্লিকেশনটি প্যাকেজ করুন এবং আপডেট ফাইল আপলোড করুন।
প্যাকেজিং কমান্ড:
npm run build
এটি আপনার অ্যাপ্লিকেশনটি প্যাকেজ করবে এবং আপডেট ফাইলগুলো তৈরি করবে।
সারাংশ
electron-updaterএবংelectron-builderব্যবহৃত হয় ইলেকট্রন অ্যাপ্লিকেশনে আপডেট সিস্টেম তৈরি করতে।electron-updaterএর মাধ্যমে আপনি নতুন আপডেট চেক এবং ডাউনলোড করতে পারবেন।electron-builderএর সাহায্যে অ্যাপ্লিকেশন প্যাকেজিং এবং আপডেটের জন্য কনফিগারেশন করা হয়।- সার্ভার সাইডে আপডেট ফাইল হোস্ট করা এবং ক্লায়েন্ট সাইডে আপডেট চেক করা ইলেকট্রন অ্যাপের আপডেট প্রক্রিয়াকে সহজ করে তোলে।
Read more