Electron-builder একটি জনপ্রিয় টুল যা Electron অ্যাপ্লিকেশন প্যাকেজ এবং ডিপ্লয়মেন্টের জন্য ব্যবহৃত হয়। এটি আপনাকে auto-update সিস্টেম সেটআপ করার সুবিধা দেয়, যার মাধ্যমে আপনি অ্যাপ্লিকেশনের নতুন ভার্সন রিলিজ করলে ব্যবহারকারীরা সহজেই সেই ভার্সন আপডেট করতে পারবেন।
১. Electron Auto-Update কী এবং কেন এটি ব্যবহার করবেন?
Auto-update হল এমন একটি ফিচার যা Electron অ্যাপ্লিকেশনকে নতুন ভার্সন রিলিজের সময় ব্যবহারকারীদের জন্য স্বয়ংক্রিয়ভাবে আপডেট করার সুবিধা দেয়। এটি আপনাকে বিভিন্ন প্ল্যাটফর্মে (Windows, macOS, Linux) Electron অ্যাপ্লিকেশন আপডেট করার প্রক্রিয়া সহজ করতে সাহায্য করে।
২. Electron-builder ইনস্টলেশন
Electron-builder ইনস্টল করার জন্য আপনাকে npm ব্যবহার করতে হবে। নিচে এটি ইনস্টল করার পদ্ধতি দেয়া হল:
npm install electron-builder --save-dev
এটি ইনস্টল হলে, আপনি Electron অ্যাপ্লিকেশন প্যাকেজ এবং Auto-Update ফিচার সেটআপ করতে পারবেন।
৩. Auto-Update ফিচার সেটআপ করার জন্য পদক্ষেপ
Auto-update সিস্টেমের মাধ্যমে Electron অ্যাপ্লিকেশনের ব্যবহারকারীরা নতুন ভার্সন স্বয়ংক্রিয়ভাবে ডাউনলোড এবং ইনস্টল করতে সক্ষম হবেন। এতে electron-updater এবং electron-builder একত্রে কাজ করবে।
ধাপ ১: electron-updater প্যাকেজ ইনস্টল করা
electron-updater হল একটি লাইব্রেরি যা Electron অ্যাপ্লিকেশনের জন্য auto-update ফিচার হ্যান্ডেল করে।
npm install electron-updater --save
ধাপ ২: package.json কনফিগারেশন
আপনার package.json ফাইলে কিছু কনফিগারেশন করতে হবে, যেমন অ্যাপ্লিকেশনের ভার্সন, প্রকাশের (publishing) তথ্য, এবং অন্যান্য সেটিংস। এখানে build সেকশনটি ব্যবহার করা হবে।
{
"name": "my-electron-app",
"version": "1.0.0",
"description": "My first Electron app",
"main": "main.js",
"scripts": {
"start": "electron .",
"build": "electron-builder"
},
"devDependencies": {
"electron": "^25.0.0",
"electron-builder": "^23.0.0",
"electron-updater": "^4.0.0"
},
"build": {
"appId": "com.myapp.name",
"productName": "MyApp",
"publish": {
"provider": "github",
"owner": "your-github-username",
"repo": "your-repo-name"
},
"mac": {
"category": "public.app-category.utilities"
},
"win": {
"target": "nsis"
},
"linux": {
"target": "AppImage"
}
}
}
publish সেকশনে GitHub রিপোজিটরি সেট করতে হবে, যেখানে আপডেট ফাইলগুলি হোস্ট করা হবে। এছাড়া, appId এবং productName এর মাধ্যমে আপনার অ্যাপ্লিকেশনের আইডেন্টিটি এবং নাম সেট করতে হবে।
ধাপ ৩: Auto-Update কোড যোগ করা
আপনি Main Process (যেমন main.js) এ কোড যোগ করে auto-update ফিচারটি ইনটিগ্রেট করবেন। autoUpdater ব্যবহার করে অ্যাপ্লিকেশনটি স্বয়ংক্রিয়ভাবে আপডেট চেক করবে এবং নতুন ভার্সন ডাউনলোড করবে।
const { app, BrowserWindow, autoUpdater, ipcMain } = 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');
}
// Auto-update শুরু
function checkForUpdates() {
autoUpdater.setFeedURL({
provider: 'github',
repo: 'your-repo-name',
owner: 'your-github-username'
});
autoUpdater.checkForUpdatesAndNotify(); // আপডেট চেক এবং নোটিফিকেশন
}
// নতুন আপডেট পাওয়ার পর অ্যাপ্লিকেশনকে পুনরায় চালু করা
autoUpdater.on('update-downloaded', (info) => {
autoUpdater.quitAndInstall(); // আপডেট ইনস্টল করার পর অ্যাপ্লিকেশন বন্ধ এবং পুনরায় চালু হবে
});
app.whenReady().then(() => {
createWindow();
checkForUpdates(); // অ্যাপ্লিকেশন শুরু হওয়ার সাথে সাথে আপডেট চেক করা
});
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit();
}
});
autoUpdater.checkForUpdatesAndNotify() এর মাধ্যমে অ্যাপ্লিকেশন শুরু হওয়ার সময় স্বয়ংক্রিয়ভাবে আপডেট চেক করা হবে। এবং যদি নতুন আপডেট পাওয়া যায়, তবে autoUpdater.quitAndInstall() এর মাধ্যমে সেই আপডেটটি ডাউনলোড এবং ইনস্টল করা হবে।
৪. GitHub Release সেটআপ
Auto-update সিস্টেম কাজ করতে গেলে আপনাকে আপনার GitHub রিপোজিটরিতে অ্যাপের নতুন ভার্সন প্রকাশ করতে হবে। আপনি GitHub Releases ব্যবহার করে নতুন ভার্সন আপলোড করতে পারেন।
ধাপ:
- আপনার অ্যাপের নতুন ভার্সন তৈরি করুন।
- GitHub এ একটি Release তৈরি করুন এবং ভার্সনটি আপলোড করুন।
electron-builder টুল ব্যবহার করে আপনার অ্যাপ্লিকেশনটি প্যাকেজ করুন।
npm run buildএটি আপনার অ্যাপ্লিকেশনটি প্যাকেজ করবে এবং সংশ্লিষ্ট আপডেট ফাইলগুলি GitHub রিপোজিটরিতে আপলোড করবে (আপনার
publishকনফিগারেশন অনুযায়ী)।
৫. Auto-Update সম্পর্কিত কিছু গুরুত্বপূর্ণ পয়েন্ট
- AppId:
appIdএবংproductNameআপনার অ্যাপ্লিকেশনকে সনাক্ত করতে সাহায্য করে। সেগুলি সঠিকভাবে কনফিগার করা প্রয়োজন। - Feed URL:
autoUpdater.setFeedURLব্যবহার করে অ্যাপ্লিকেশন কোথায় আপডেট ফাইলগুলি থেকে ডাউনলোড করবে তা সেট করা হয়। সাধারণত GitHub ব্যবহার করা হয়। - GitHub Release: GitHub রিপোজিটরি ও রিলিজ ব্যবস্থাপনা অ্যাপ্লিকেশনের নতুন ভার্সন ডিস্ট্রিবিউট করতে ব্যবহার করা হয়।
সারাংশ
- Electron-builder ব্যবহার করে অ্যাপ্লিকেশনে auto-update সিস্টেম যুক্ত করা যায়, যা স্বয়ংক্রিয়ভাবে নতুন ভার্সন ডাউনলোড এবং ইনস্টল করে।
- electron-updater লাইব্রেরি ব্যবহার করে Main Process-এ আপডেট চেক এবং ইনস্টল করার কোড যোগ করা হয়।
- GitHub Release ব্যবহারের মাধ্যমে নতুন ভার্সন প্রকাশ করা হয়, যা electron-builder এর মাধ্যমে হোস্ট করা হয় এবং আপডেট সিস্টেম ব্যবহারকারীকে স্বয়ংক্রিয়ভাবে প্রদান করে।
Read more