Progressive Web App (PWA) হলো এমন একটি অ্যাপ্লিকেশন যা ওয়েব অ্যাপ্লিকেশন এবং মোবাইল অ্যাপ্লিকেশনের বৈশিষ্ট্য একত্রিত করে। PWA-র মাধ্যমে ব্যবহারকারীরা অ্যাপটি তাদের ব্রাউজারে বা মোবাইল ডিভাইসে ইনস্টল করে ব্যবহার করতে পারেন এবং এটি অফলাইনেও কাজ করতে সক্ষম।
Ionic একটি জনপ্রিয় ফ্রেমওয়ার্ক যা Angular, React, Vue.js-এর সাথে কাজ করে এবং এটি সহজেই PWA তৈরি করতে সহায়তা করে। Ionic দিয়ে একটি PWA তৈরি করার জন্য কিছু নির্দিষ্ট পদক্ষেপ রয়েছে।
১. Ionic PWA সাপোর্ট
Ionic framework 4 এবং পরবর্তী সংস্করণগুলোতে PWA তৈরি করার জন্য প্রাক-সংগঠিত সাপোর্ট রয়েছে। এটি Ionic CLI-এর মাধ্যমে খুব সহজে ইনস্টল এবং কনফিগার করা যায়।
২. Ionic PWA তৈরি করার ধাপ
ধাপ ১: Ionic প্রোজেক্ট তৈরি করা
আপনার Ionic প্রোজেক্টে প্রথমে ionic start কমান্ড দিয়ে একটি নতুন প্রোজেক্ট তৈরি করুন।
ionic start myPWA blank --type=angular
এখানে blank হল একটি সাধারণ স্টার্টার টেমপ্লেট, আপনি চাইলে অন্যান্য টেমপ্লেট যেমন tabs বা sidemenu ব্যবহার করতে পারেন।
ধাপ ২: PWA সেটআপ সক্রিয় করা
Ionic PWA সক্রিয় করার জন্য @angular/pwa প্যাকেজ ইনস্টল করা প্রয়োজন। এটি অ্যাপ্লিকেশনের Service Worker এবং Web App Manifest কনফিগার করে।
- Angular PWA প্যাকেজ ইনস্টল করুন:
ng add @angular/pwa
এই কমান্ডটি Angular প্যাকেজের মাধ্যমে প্রয়োজনীয় ফাইল তৈরি করবে, যেমন:
ngsw-config.json: Service Worker কনফিগারেশন।manifest.webmanifest: অ্যাপ্লিকেশনটি কীভাবে ব্রাউজারে প্রদর্শিত হবে, এর কনফিগারেশন।
- Service Worker কনফিগারেশন:
ngsw-config.jsonফাইলটি পরিষ্কারভাবে কনফিগার করে ওয়েব অ্যাপ্লিকেশনটির ক্যাশিং এবং অন্যান্য অফলাইন ফিচার।
ধাপ ৩: PWA ফিচার কনফিগারেশন
Ionic PWA সেটআপের জন্য manifest.webmanifest ফাইলটি কনফিগার করতে হবে। এই ফাইলটি ব্যবহারকারীকে অ্যাপটি ইনস্টল করার জন্য ওয়েব ব্রাউজার থেকে প্রয়োজনীয় নির্দেশনা সরবরাহ করে।
manifest.webmanifest উদাহরণ:
{
"name": "My Ionic PWA",
"short_name": "IonicPWA",
"description": "A Progressive Web App built with Ionic",
"start_url": "/",
"display": "standalone",
"background_color": "#ffffff",
"theme_color": "#3880ff",
"icons": [
{
"src": "assets/icons/icon-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "assets/icons/icon-512x512.png",
"sizes": "512x512",
"type": "image/png"
}
]
}
- name: অ্যাপের নাম।
- start_url: অ্যাপের হোম পেজ।
- display: অ্যাপটি কীভাবে প্রদর্শিত হবে (যেমন:
standaloneমানে এটি ব্রাউজারের ইউআই ছাড়া প্রদর্শিত হবে)। - icons: অ্যাপের জন্য আইকন ফাইল।
ধাপ ৪: Service Worker কনফিগারেশন
Service Worker একটি পটভূমি স্ক্রিপ্ট যা ব্যবহারকারীর ব্রাউজারে চলতে থাকে এবং অফলাইনে অ্যাপ্লিকেশনকে কাজ করার ক্ষমতা দেয়।
ngsw-config.json উদাহরণ:
{
"index": "/index.html",
"assetGroups": [
{
"name": "core",
"resources": {
"urls": [
"/",
"/index.html",
"/manifest.webmanifest",
"/assets/icons/icon-192x192.png",
"/assets/icons/icon-512x512.png"
]
}
}
]
}
এই কনফিগারেশনটি অ্যাপ্লিকেশনের মূল ফাইল এবং আইকনগুলি ক্যাশে রাখে এবং অফলাইনে অ্যাপটি কাজ করার সুবিধা দেয়।
ধাপ ৫: অ্যাপটি বিল্ড করা
এখন, অ্যাপটি বিল্ড করার জন্য --prod অপশন ব্যবহার করে প্রোডাকশন মোডে বিল্ড করুন:
ionic build --prod
এই কমান্ডটি অ্যাপটির প্রোডাকশন ভার্সন তৈরি করবে, যা আপনার PWA অ্যাপ্লিকেশনটি তৈরি এবং অপ্টিমাইজ করবে।
ধাপ ৬: অ্যাপটি সার্ভ করা
PWA অ্যাপ্লিকেশনটি পরীক্ষা করার জন্য, আপনি এটি লোকাল সার্ভারে চালাতে পারেন। http-server অথবা অন্যান্য সার্ভারের মাধ্যমে আপনি অ্যাপটি চালাতে পারেন।
http-server ইনস্টল করা:
npm install -g http-serverঅ্যাপ চালানো:
http-server www
এটি আপনার PWA অ্যাপ্লিকেশনটি লোকাল সার্ভারে রান করবে এবং আপনি ব্রাউজারে http://localhost:8080 এ গিয়ে অ্যাপটি দেখতে পাবেন।
৩. PWA এর কিছু গুরুত্বপূর্ণ ফিচার:
- Offline Functionality: PWA অ্যাপ্লিকেশনগুলো offline বা ইন্টারনেট সংযোগ না থাকলেও কাজ করতে পারে।
- Push Notifications: PWA অ্যাপ্লিকেশনগুলোতে Push Notifications চালু করা যায়, যাতে ব্যবহারকারীকে নতুন কনটেন্ট বা আপডেট জানানো যায়।
- Add to Home Screen: ব্যবহারকারীকে PWA অ্যাপটি তাদের ডিভাইসের হোম স্ক্রীনে যুক্ত করতে উৎসাহিত করা যায়।
- Responsive Design: PWA গুলি সব ধরনের ডিভাইসে ভালোভাবে কাজ করে, যেমন: মোবাইল, ট্যাবলেট, ডেস্কটপ।
উপসংহার
Ionic দিয়ে PWA তৈরি করা খুবই সহজ এবং এটি ব্যবহারকারীদের একটি Native অ্যাপ্লিকেশনের মতো অভিজ্ঞতা প্রদান করতে সক্ষম। @angular/pwa প্যাকেজটি ব্যবহার করে, আপনি সহজেই আপনার অ্যাপকে একটি Progressive Web App-এ পরিণত করতে পারেন। উপরের ধাপগুলো অনুসরণ করলে আপনি একটি পূর্ণাঙ্গ PWA অ্যাপ্লিকেশন তৈরি করতে পারবেন।
Read more