Firebase JavaScript SDK-এর জন্য সমর্থিত পরিবেশ

সমর্থিত পরিবেশ

Firebase JavaScript SDK আনুষ্ঠানিকভাবে নিম্নলিখিত পরিবেশে সমর্থিত।

ব্রাউজার

ফায়ারবেস পণ্য প্রান্ত ফায়ারফক্স ক্রোম আইওএস সাফারি সাফারি
App Check
Analytics
Authentication
Cloud Firestore
(ব্যতীত
অধ্যবসায়)

(ব্যতীত
অধ্যবসায়
যদি iOS < 10)
Cloud Functions
Firebase ইনস্টলেশন
Cloud Messaging
(এজ 17+, মোবাইল ছাড়া)
Cloud Storage
Performance Monitoring
Realtime Database
Remote Config
Vertex AI in Firebase

অন্যান্য পরিবেশ

ফায়ারবেস পণ্য নেটিভ প্রতিক্রিয়া Node.js (18+) ক্রোম
এক্সটেনশন
কর্ডোভা
App Check
(নেটিভ ডিভাইস প্রত্যয়ন করতে একটি কাস্টম প্রদানকারী ব্যবহার করে)

(একটি কাস্টম প্রদানকারী ব্যবহার করে)
Analytics
Authentication
( দ্রষ্টব্য দেখুন)

( দ্রষ্টব্য দেখুন)

( দ্রষ্টব্য দেখুন)

( দ্রষ্টব্য দেখুন)
Cloud Firestore
(ব্যতীত
অধ্যবসায়)

(ব্যতীত
অধ্যবসায়)
Cloud Functions
Firebase ইনস্টলেশন
Cloud Messaging
Cloud Storage
(ব্যতীত
আপলোড)
Performance Monitoring
Realtime Database
Remote Config
Vertex AI in Firebase

পলিফিলস

Firebase JavaScript SDK ওয়েব প্ল্যাটফর্মের সর্বশেষ মানগুলির উপর নির্মিত। কিছু পুরানো ব্রাউজার এবং জাভাস্ক্রিপ্ট এনভায়রনমেন্ট Firebase-এর জন্য প্রয়োজনীয় সমস্ত বৈশিষ্ট্য সমর্থন করে না। আপনি যদি এই ব্রাউজার/পরিবেশগুলিকে সমর্থন করেন তবে আপনাকে সেই অনুযায়ী পলিফিলগুলি লোড করতে হবে।

নীচের বিভাগগুলি আপনার প্রয়োজন হতে পারে এমন বেশিরভাগ পলিফিল সনাক্ত করে।

প্রয়োজনীয় পলিফিলস

পরিবেশ পলিফিলস
সাফারি 7 এবং 8 এবং 9 ES স্থিতিশীল
নোড < 10 ES স্থিতিশীল

ঐচ্ছিক পলিফিল

পরিবেশ পলিফিলস ফায়ারবেস পণ্য
  • সাফারি < 10.1
  • iOS < 10.3
আনা
  • Authentication
  • Cloud Firestore
  • Cloud Functions
  • Performance Monitoring
  • নোড < 18
আনা
  • Authentication
  • Cloud Firestore
  • Cloud Functions
  • Cloud Storage
  • নেটিভ এবং এক্সপো প্রতিক্রিয়া
ভিত্তি-64
  • Cloud Storage

প্রস্তাবিত পলিফিলস

পলিফিলস লাইসেন্স
ES স্থিতিশীল এমআইটি
আনয়ন - `ক্রস-ফেচ` - পুরানো ব্রাউজারগুলির জন্য সেরা৷ এমআইটি
fetch - `undici` - Node.js এর জন্য সেরা এমআইটি
ভিত্তি-64 এমআইটি

রিঅ্যাক্ট নেটিভ এবং এক্সপোর জন্য প্রয়োজনীয় পলিফিল সেটআপ

রিঅ্যাক্ট নেটিভ এবং এক্সপোর জন্য যদি আপনি একটি বেস-64 এনকোডেড স্ট্রিং আপলোড করছেন, তাহলে আপনাকে নিম্নলিখিতগুলি করতে হবে:

npm থেকে বেস-64 ইনস্টল করুন:

npm install base-64

base-64 থেকে decode আমদানি করুন এবং এটিকে atob হিসাবে গ্লোবাল স্কোপের সাথে সংযুক্ত করুন যাতে Cloud Storage এটি অ্যাক্সেস করতে পারে।

import { decode } from 'base-64';

if(typeof atob === 'undefined') {
  global.atob = decode;
}

আপনার অ্যাপ্লিকেশনে পলিফিল যোগ করুন

বিকল্প 1 : (প্রস্তাবিত) ব্যাবেলের সাথে একত্রিত বান্ডলার ব্যবহার করুন

আপনি যদি একটি বান্ডলার ব্যবহার করেন, পলিফিল পেতে Babel এবং @babel/preset-env-এর সাথে একীভূত করুন।

আপনার বান্ডলারের সাথে ব্যাবেলকে কীভাবে একীভূত করতে হয় তা শিখতে ব্যাবেলের ইন্টারেক্টিভ সেটআপ গাইড ব্যবহার করুন।

ব্যাবেলের সাথে, আপনাকে অন্তর্ভুক্ত করার জন্য সঠিক পলিফিলগুলি সম্পর্কে চিন্তা করার দরকার নেই। পরিবর্তে, আপনি ন্যূনতম ব্রাউজার পরিবেশ নির্দিষ্ট করুন যা আপনাকে সমর্থন করতে হবে। বাবেল তারপর আপনার জন্য প্রয়োজনীয় পলিফিল যোগ করে। Babel নিশ্চিত করে যে ব্রাউজার সমর্থনের জন্য আপনার প্রয়োজনীয়তা সবসময় পূরণ হয়, এমনকি যদি Firebase বা আপনার নিজের কোড নতুন ES বৈশিষ্ট্য ব্যবহার করা শুরু করে।

@babel/preset-env-এর কাছে এনভায়রনমেন্ট টার্গেট (অপশন targets ) এবং পলিফিলস যোগ করার জন্য উপলব্ধ কনফিগারেশন অপশন সম্পর্কে বিস্তারিত তথ্য রয়েছে (বিকল্প useBuiltIns )।

বিকল্প 2 : (প্রস্তাবিত নয়) ম্যানুয়ালি পলিফিল যোগ করুন

আপনি আপনার প্রিয় পলিফিল লাইব্রেরি ব্যবহার করে ম্যানুয়ালি পলিফিল যোগ করতে পারেন (উদাহরণস্বরূপ, core-js )।

import 'core-js/stable'
import 'cross-fetch/polyfill';

core-js একটি অল-ইন-ওয়ান পলিফিল ফাইলও প্রদান করে যা আপনি সরাসরি HTML পৃষ্ঠায় অন্তর্ভুক্ত করতে পারেন।

আপনি যদি ব্যাবেল ব্যবহার না করেন তবে পলিফিলগুলি পরিচালনা করার জন্য এই বিকল্পটি একটি সুবিধাজনক উপায় হতে পারে। যাইহোক, আমরা প্রোডাকশন অ্যাপের জন্য এই অল-ইন-ওয়ান বিকল্পটি সুপারিশ করি না কারণ এতে সম্ভবত অপ্রয়োজনীয় পলিফিল অন্তর্ভুক্ত থাকবে, যা পৃষ্ঠার ওজন বাড়ায় এবং তাই পৃষ্ঠা লোডের সময়।