Electron অ্যাপ্লিকেশনগুলির জন্য স্বয়ংক্রিয় আপডেটিং (Auto-Update) একটি গুরুত্বপূর্ণ বৈশিষ্ট্য, যা ব্যবহারকারীদেরকে নতুন ভার্সনটি ইনস্টল করতে সাহায্য করে এবং অ্যাপ্লিকেশনের পুরানো সংস্করণটি আপডেট থাকে। Electron এ auto-update কনফিগার করা বেশ সহজ, এবং এটি electron-updater প্যাকেজ ব্যবহার করে করা হয়।
এখানে, Electron অ্যাপ্লিকেশনের জন্য auto-update কনফিগার করার ধাপগুলোর বিস্তারিত আলোচনা করা হলো।
১. electron-updater ইনস্টল করা
Electron অ্যাপ্লিকেশনকে আপডেট করার জন্য electron-updater প্যাকেজটি ব্যবহৃত হয়। এটি electron-builder এর একটি অংশ এবং স্বয়ংক্রিয়ভাবে আপডেট পরিচালনা করতে সাহায্য করে।
ইনস্টলেশন:
npm install electron-updater --save
এছাড়াও, যদি আপনি electron-builder ব্যবহার করে থাকেন, তবে এটি স্বয়ংক্রিয়ভাবে ইনস্টল হয়ে যাবে।
npm install electron-builder --save-dev
২. electron-builder কনফিগারেশন
আপনার package.json ফাইলে electron-builder এর কনফিগারেশন করতে হবে। এখানে আপনি আপনার অ্যাপের আপডেট সেটিংস, ভার্সন, এবং আপডেট সার্ভারের তথ্য প্রদান করবেন।
উদাহরণ: package.json কনফিগারেশন
{
"name": "my-electron-app",
"version": "1.0.0",
"build": {
"appId": "com.myapp.desktop",
"productName": "MyElectronApp",
"publish": {
"provider": "generic",
"url": "https://your-app-update-server.com/updates/"
},
"mac": {
"category": "public.app-category.utilities"
},
"win": {
"target": "nsis"
}
},
"dependencies": {
"electron-updater": "^4.0.0"
}
}
এখানে publish ফিল্ডের অধীনে, আপনাকে আপডেট সার্ভারের URL সেট করতে হবে। এই URL থেকে আপনার অ্যাপ্লিকেশন আপডেট ফাইলগুলি ডাউনলোড হবে।
৩. Auto-Update কোড লিখা
এখন, electron-updater ব্যবহার করে অ্যাপ্লিকেশনের আপডেট চেক এবং ইনস্টল করার জন্য কোড লিখতে হবে। এটি সাধারণত Main Process-এ করা হয়।
উদাহরণ: Main Process - main.js
const { app, BrowserWindow, autoUpdater } = require('electron');
const path = require('path');
const { autoUpdater } = require('electron-updater');
let mainWindow;
function createWindow() {
mainWindow = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
nodeIntegration: true
}
});
mainWindow.loadFile('index.html');
}
app.on('ready', () => {
createWindow();
// Auto-Update কনফিগারেশন
autoUpdater.setFeedURL({
provider: 'generic',
url: 'https://your-app-update-server.com/updates/'
});
// আপডেট চেক করা
autoUpdater.checkForUpdatesAndNotify();
// আপডেটের জন্য ইভেন্ট লিসেনিং
autoUpdater.on('update-available', () => {
console.log('নতুন আপডেট উপলব্ধ');
});
autoUpdater.on('update-not-available', () => {
console.log('কোনো নতুন আপডেট নেই');
});
autoUpdater.on('error', (err) => {
console.error('আপডেটের ত্রুটি:', err);
});
autoUpdater.on('download-progress', (progressObj) => {
console.log('ডাউনলোড প্রগ্রেস:', progressObj);
});
autoUpdater.on('update-downloaded', (info) => {
console.log('আপডেট ডাউনলোড হয়েছে:', info);
autoUpdater.quitAndInstall(); // ইনস্টল করা
});
});
এই কোডটি autoUpdater এর মাধ্যমে আপনার অ্যাপ্লিকেশনকে আপডেট চেক করতে এবং ডাউনলোড করার জন্য প্রস্তুত করবে। যখন আপডেট ডাউনলোড হবে, তখন quitAndInstall() ব্যবহার করে এটি ইনস্টল করা হবে।
৪. আপডেট ফাইল প্রস্তুত করা
আপনার অ্যাপ্লিকেশন আপডেট করার জন্য, প্রথমে আপনার অ্যাপ্লিকেশনের একটি নতুন ভার্সন তৈরি করতে হবে এবং আপডেট ফাইলগুলি আপডেট সার্ভারে আপলোড করতে হবে।
electron-builder ব্যবহার করে বিল্ড তৈরি করা
আপনি electron-builder ব্যবহার করে নতুন অ্যাপ্লিকেশন প্যাকেজ করতে পারেন এবং এটি আপনার আপডেট সার্ভারে আপলোড করতে পারেন।
npm run build
এর পরে, electron-builder আপনার অ্যাপ্লিকেশনটি প্যাকেজ করবে এবং আপডেটের জন্য সমস্ত প্রয়োজনীয় ফাইল তৈরি করবে। আপনি আপনার আপডেট সার্ভারে এই ফাইলগুলি আপলোড করবেন।
৫. আপডেট সার্ভার
আপডেট পরিচালনা করার জন্য আপনাকে একটি সার্ভারের প্রয়োজন হবে যেখানে আপনার অ্যাপ্লিকেশনের নতুন ভার্সন এবং সংশ্লিষ্ট আপডেট ফাইলগুলি রাখা হবে। এটি সাধারণত HTTP/HTTPS সার্ভার হতে পারে।
উদাহরণ:
আপডেট সার্ভারে ফাইল আপলোড করতে পারেন, যেমন:
latest.ymlফাইল: এটি আপডেট ফাইলের তথ্য ধারণ করে, যেমন ভার্সন নম্বর, আপডেট ফাইলের অবস্থান ইত্যাদি।setup.exe,dmgফাইল: ইনস্টলেশন ফাইল।
এই ফাইলগুলি সার্ভারে আপলোড করতে হবে যাতে Electron অ্যাপ্লিকেশন সেগুলি অ্যাক্সেস করতে পারে এবং নতুন আপডেট চেক করতে পারে।
৬. স্বয়ংক্রিয় আপডেটের সময় সতর্কতা
- অ্যাপ্লিকেশন রিস্টার্ট: নতুন আপডেট ইনস্টল করার জন্য অ্যাপ্লিকেশনটি পুনরায় চালু করতে হবে।
- ইউজার ইন্টারফেস: ইউজারকে আপডেটের জন্য সতর্ক করতে একটি ডায়ালগ বক্স বা নোটিফিকেশন দেখানো উচিত, যাতে তারা জানে যে একটি নতুন আপডেট উপলব্ধ।
- প্রতিবার আপডেট চেক: আপনি চাইলে অ্যাপ্লিকেশন চালু হওয়ার পর বা নির্দিষ্ট সময় পর পর আপডেট চেক করতে পারেন।
সারাংশ
- Auto-Update কনফিগার করার জন্য
electron-updaterপ্যাকেজ ব্যবহার করা হয়। electron-builderদিয়ে আপডেট ফাইল প্যাকেজ এবং সার্ভারে আপলোড করা হয়।- autoUpdater এর মাধ্যমে আপডেট চেক এবং ইনস্টল করার প্রক্রিয়া সহজ করা হয়।
checkForUpdatesAndNotify()এবংquitAndInstall()মেথড ব্যবহার করে আপডেটের প্রক্রিয়া সম্পন্ন করা যায়।
এই প্রক্রিয়া অনুসরণ করে, আপনি Electron অ্যাপ্লিকেশনের জন্য auto-update কনফিগার করতে পারবেন এবং আপনার ব্যবহারকারীদের সর্বদা সর্বশেষ ভার্সনে রাখতে পারবেন।
Read more