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

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

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

ব্রাউজার

ফায়ারবেস পণ্য প্রান্ত ফায়ারফক্স ক্রোম আইওএস সাফারি সাফারি
অ্যাপ চেক
বিশ্লেষণ
প্রমাণীকরণ
ক্লাউড ফায়ারস্টোর
(ব্যতীত
অধ্যবসায়)

(ব্যতীত
অধ্যবসায়
যদি iOS < 10)
ক্লাউড ফাংশন
ফায়ারবেস ইনস্টলেশন
ক্লাউড মেসেজিং
(এজ 17+, মোবাইল ছাড়া)
মেঘ স্টোরেজ
কর্মক্ষমতা নিরীক্ষণ
রিয়েলটাইম ডাটাবেস
দূরবর্তী কনফিগারেশন

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

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

(একটি কাস্টম প্রদানকারী ব্যবহার করে)
বিশ্লেষণ
প্রমাণীকরণ
( নোট দেখা )

( নোট দেখা )

( নোট দেখা )

( নোট দেখা )
ক্লাউড ফায়ারস্টোর
(ব্যতীত
অধ্যবসায়)

(ব্যতীত
অধ্যবসায়)
ক্লাউড ফাংশন
ফায়ারবেস ইনস্টলেশন
ক্লাউড মেসেজিং
মেঘ স্টোরেজ
(ব্যতীত
আপলোড)
কর্মক্ষমতা নিরীক্ষণ
রিয়েলটাইম ডাটাবেস
দূরবর্তী কনফিগারেশন

পলিফিলস

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

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

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

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

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

পরিবেশ পলিফিলস ফায়ারবেস পণ্য
  • নোড
  • সাফারি < 10.1
  • iOS < 10.3
আনা
  • ক্লাউড ফাংশন
  • কর্মক্ষমতা নিরীক্ষণ
  • নেটিভ এবং এক্সপো প্রতিক্রিয়া
ভিত্তি-64
  • মেঘ স্টোরেজ

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

পলিফিলস লাইসেন্স
ES স্থিতিশীল এমআইটি
আনা এমআইটি
ভিত্তি-64 এমআইটি

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

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

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

npm install base-64

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

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 পৃষ্ঠায় অন্তর্ভুক্ত করতে পারেন।

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