Ionic অ্যাপ্লিকেশনগুলোতে ডেটা সঞ্চয় এবং অ্যাক্সেস করার জন্য বিভিন্ন ধরনের storage সিস্টেম ব্যবহার করা হয়। Ionic framework নেটিভ ডিভাইসে ডেটা সংরক্ষণের জন্য কিছু powerful টুলস প্রদান করে, যার মাধ্যমে ডেটা লোকালি বা নেটিভ ডিভাইসে সংরক্ষণ করা সম্ভব হয়। এতে ডেটা অ্যাপ্লিকেশন বন্ধ হলেও টিকে থাকে এবং পরবর্তীতে ব্যবহার করা যায়।
Ionic এ স্টোরেজ ব্যবস্থার জন্য Ionic Storage লাইব্রেরি এবং LocalStorage/ SessionStorage ব্যবহৃত হয়। এটি মূলত অ্যাপ্লিকেশনের মধ্যে ছোট ডেটা সংরক্ষণের জন্য ব্যবহার করা হয় যেমন ইউজারের সেশন তথ্য, পছন্দসই সেটিংস, লগইন ডেটা ইত্যাদি।
১. Ionic Storage
Ionic Storage হলো Ionic ফ্রেমওয়ার্কের একটি প্লাগইন যা স্থানীয় ডেটাবেসে (যেমন IndexedDB, SQLite, LocalStorage, WebSQL) ডেটা সঞ্চয় করার জন্য ব্যবহৃত হয়। এটি Angular এবং Ionic অ্যাপ্লিকেশনের মধ্যে ডেটা পERSIST করার জন্য খুবই কার্যকরী।
Ionic Storage এর সুবিধাসমূহ:
- কমপ্লেক্স ডেটা স্টোরেজ: Ionic Storage ব্যবহার করে আপনি সহজেই JSON বা অন্যান্য কমপ্লেক্স ডেটা স্টোর করতে পারবেন।
- প্ল্যাটফর্ম স্বাধীনতা: Ionic Storage Web Storage API ব্যবহার করতে পারে এবং অ্যাপ্লিকেশনটি মোবাইল প্ল্যাটফর্মে চলাকালীনেও কার্যকর থাকে।
- রিলেশনাল ডেটাবেস সমর্থন: IndexedDB এবং SQLite এর মতো প্ল্যাটফর্মে রিলেশনাল ডেটাবেস সমর্থন দেয়।
Ionic Storage ইনস্টল এবং কনফিগারেশন:
Ionic Storage লাইব্রেরি ইনস্টল করা:
প্রথমে, Ionic Storage লাইব্রেরিটি ইনস্টল করতে হবে:
npm install @ionic/storage-angularIonic Storage কনফিগারেশন:
অ্যাপ্লিকেশন মডিউলে Ionic Storage সেটআপ করুন:
import { NgModule } from '@angular/core'; import { IonicStorageModule } from '@ionic/storage-angular'; @NgModule({ imports: [ IonicStorageModule.forRoot() ], }) export class AppModule { }Storage Service তৈরি করা:
এখন একটি সার্ভিস তৈরি করে ডেটা সংরক্ষণ এবং রিট্রিভ করার ফাংশন তৈরি করা যায়:
import { Injectable } from '@angular/core'; import { Storage } from '@ionic/storage-angular'; @Injectable({ providedIn: 'root' }) export class StorageService { constructor(private storage: Storage) { } async init() { await this.storage.create(); } set(key: string, value: any) { this.storage.set(key, value); } get(key: string) { return this.storage.get(key); } remove(key: string) { this.storage.remove(key); } clear() { this.storage.clear(); } }Storage ব্যবহার করা:
আপনি যেকোনো কম্পোনেন্টে
StorageServiceব্যবহার করে ডেটা সঞ্চয় এবং রিট্রিভ করতে পারেন:import { Component } from '@angular/core'; import { StorageService } from './storage.service'; @Component({ selector: 'app-home', templateUrl: 'home.page.html', styleUrls: ['home.page.scss'], }) export class HomePage { constructor(private storageService: StorageService) { } async saveData() { await this.storageService.set('username', 'JohnDoe'); } async loadData() { const username = await this.storageService.get('username'); console.log(username); // Output: JohnDoe } async clearData() { await this.storageService.remove('username'); } }
Ionic Storage এর পছন্দসই প্ল্যাটফর্ম:
- IndexedDB: এটি একটি ওয়েব ডেটাবেস API যা ব্রাউজারে ডেটা স্টোর করতে ব্যবহৃত হয় এবং এটি অফলাইন অ্যাপ্লিকেশনগুলির জন্য উপযুক্ত।
- SQLite: SQLite হল একটি লাইটওয়েট ডেটাবেস যা মোবাইল ডিভাইসের জন্য খুবই কার্যকরী। Ionic Storage SQLite প্লাগইনটি মোবাইল ডিভাইসে ডেটা সংরক্ষণের জন্য ব্যবহার করা যায়।
- WebSQL: যদিও এটি পুরনো প্রযুক্তি, এটি কিছু ব্রাউজারে ব্যবহৃত হতে পারে।
২. LocalStorage ও SessionStorage
LocalStorage এবং SessionStorage হল ওয়েব স্টোরেজের দুটি গুরুত্বপূর্ণ প্রযুক্তি, যা সাধারনত ব্রাউজারেই ব্যবহৃত হয়।
- LocalStorage: এটি ওয়েব ব্রাউজারে ডেটা স্টোর করতে ব্যবহার করা হয় এবং এটি ডেটা স্থায়ীভাবে সংরক্ষণ করে, অর্থাৎ অ্যাপ বা ব্রাউজার বন্ধ হলেও ডেটা মুছে যায় না।
- SessionStorage: এটি একইভাবে ডেটা সংরক্ষণ করে তবে এটি শুধুমাত্র সেশন চলাকালীন সময়ে কার্যকর থাকে। ব্রাউজার বা ট্যাব বন্ধ করলে ডেটা মুছে যায়।
LocalStorage ব্যবহার করা:
// LocalStorage থেকে ডেটা সেট করা
localStorage.setItem('username', 'JohnDoe');
// LocalStorage থেকে ডেটা নিয়ে আসা
let username = localStorage.getItem('username');
console.log(username); // Output: JohnDoe
// LocalStorage থেকে ডেটা মুছে ফেলা
localStorage.removeItem('username');
SessionStorage ব্যবহার করা:
// SessionStorage থেকে ডেটা সেট করা
sessionStorage.setItem('sessionID', '12345');
// SessionStorage থেকে ডেটা নিয়ে আসা
let sessionID = sessionStorage.getItem('sessionID');
console.log(sessionID); // Output: 12345
// SessionStorage থেকে ডেটা মুছে ফেলা
sessionStorage.removeItem('sessionID');
৩. Storage ব্যবস্থার উপকারিতা
- অফলাইন সাপোর্ট: Ionic Storage এর মাধ্যমে আপনি অ্যাপ্লিকেশনকে অফলাইনে কাজ করার জন্য প্রস্তুত করতে পারেন, যেখানে ব্যবহারকারী যেকোনো সময় ডেটা অ্যাক্সেস করতে পারে, এমনকি যদি নেটওয়ার্ক অ্যাক্সেস না থাকে।
- ডেটা সঞ্চয়ের স্থিতিশীলতা: Ionic Storage এবং Web Storage API ব্যবহার করলে অ্যাপ্লিকেশনটি বন্ধ হলেও ডেটা সুরক্ষিত থাকে এবং পরবর্তী ব্যবহারকারীর জন্য উপলব্ধ থাকে।
- প্রদর্শন দ্রুত: ব্যবহারকারী যখন পরবর্তী বার অ্যাপ খুলবে, তখন তাদের পূর্বের অবস্থায় ফিরে যাওয়ার জন্য প্রাসঙ্গিক ডেটা লোড করতে পারে, যা দ্রুততার সাথে ইউজার এক্সপেরিয়েন্স উন্নত করে।
সারাংশ
Ionic অ্যাপ্লিকেশনে Storage ব্যবস্থার মাধ্যমে আপনি ব্যবহারকারীর তথ্য বা অ্যাপের প্রাসঙ্গিক ডেটা সঞ্চয় করতে পারেন। Ionic Storage একটি শক্তিশালী টুল যা IndexedDB, SQLite, WebSQL এবং LocalStorage/SessionStorage ব্যবহার করে ডেটা সংরক্ষণ করতে সাহায্য করে। এটি অ্যাপের পারফরম্যান্স এবং ইউজার এক্সপেরিয়েন্স উন্নত করার জন্য অপরিহার্য।
Read more