Google 致力于为黑人社区推动种族平等。查看具体举措

ওয়েব এবং ফায়ারবেস সম্পর্কে আরও জানুন

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

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

এসডিকে 8 এবং 9 সংস্করণ

ফায়ারবেস ওয়েব অ্যাপ্লিকেশনগুলির জন্য দুটি এসডিকে সংস্করণ সরবরাহ করে, যার মধ্যে একটি বর্তমানে বিটাতে রয়েছে:

  • সংস্করণ ৮. এটি জাভাস্ক্রিপ্ট ইন্টারফেস যা ফায়ারবেস বেশ কয়েক বছর ধরে ধরে রেখেছে এবং বিদ্যমান ফায়ারবেস অ্যাপ্লিকেশন সহ ওয়েব বিকাশকারীদের সাথে পরিচিত।
  • মডুলার সংস্করণ 9 (বিটা) । এই SDK এর একটি মডুলার পদ্ধতির যে এই ধরনের আধুনিক জাভাস্ক্রিপ্ট বিল্ড সরঞ্জামগুলির সাথে SDK এর আকার এবং আরও দক্ষতার কমে প্রদান করে প্রবর্তন Webpack বা রোলআপ

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

যদিও সংস্করণ 9-এর বেশিরভাগ এসডিকে সংস্করণ 8 এর মতো একই ধরণগুলি অনুসরণ করে, কোডটির সংগঠনটি আলাদা। সাধারণত 8 সংস্করণটি একটি নেমস্পেস এবং পরিষেবা ধরণের দিকে দৃষ্টি নিবদ্ধ করে, 9 ম সংস্করণটি বিচ্ছিন্ন ফাংশনগুলির দিকে পরিচালিত। উদাহরণ হিসেবে বলা যায়, সংস্করণ 8 এর ডট chaining যেমন firebaseApp.auth() , একটি একক দ্বারা সংস্করণ 9 প্রতিস্থাপিত হয় getAuth() ফাংশন যা লাগে firebaseApp এবং আয় একটি প্রমাণীকরণ উদাহরণস্বরূপ।

এর অর্থ হ'ল সংস্করণ 8 বা তার আগের সংস্করণ দিয়ে তৈরি ওয়েব অ্যাপ্লিকেশনগুলিকে সংস্করণ 9 এর মডুলার পদ্ধতির সুবিধা গ্রহণের জন্য রিফ্যাক্টরিং প্রয়োজন। ফায়ারবেস সেই রূপান্তরটি সহজ করার জন্য কমপ্যাট লাইব্রেরি সরবরাহ করে; আরও তথ্যের জন্য আপগ্রেড গাইড দেখুন।

কি সমর্থিত?

সংস্করণ 8 এবং সংস্করণ 9 (বিটা) এর আলাদা কোড শৈলী রয়েছে, তারা ফায়ারবেস বৈশিষ্ট্য এবং বিকল্পগুলির জন্য খুব অনুরূপ সমর্থন সরবরাহ করে। আমরা এই গাইডটিতে বিস্তারিতভাবে বর্ণনা করব, উভয় এসডিকে সংস্করণ জাভাস্ক্রিপ্ট এবং নোড.জেএস রূপগুলি সমর্থন করে এসডিকে যুক্ত / ইনস্টল করার জন্য বেশ কয়েকটি বিকল্পের সাথে।

এর সাথে এসডিকে যুক্ত করুন ৮.০ (নেমস্পিড) 9.0 (মডুলার বিটা)
এনপিএম
  • জাভাস্ক্রিপ্ট জন্য
  • নোড.জেএস এর জন্য
  • জাভাস্ক্রিপ্ট জন্য
  • নোড.জেএস এর জন্য
সিডিএন (সামগ্রী বিতরণ নেটওয়ার্ক)
  • জাভাস্ক্রিপ্ট জন্য
  • জাভাস্ক্রিপ্ট জন্য
হোস্টিং ইউআরএল
  • জাভাস্ক্রিপ্ট জন্য
  • নোড.জেএস এর জন্য
  • জাভাস্ক্রিপ্ট এবং নোড.জেএস এর জন্য শীঘ্রই আসছে

আরও তথ্যের জন্য, পরে এই পৃষ্ঠায় আপনার অ্যাপ্লিকেশনটিতে ওয়েব এসডিকে এবং ফায়ারবেস ওয়েব এসডিকে রূপগুলি যুক্ত করার উপায়গুলি দেখুন।

নতুন অ্যাপ্লিকেশনগুলির জন্য 9 সংস্করণ

আপনি যদি ফায়ারবেসের সাথে কোনও নতুন সংহতকরণ শুরু করছেন, আপনি এসডিকে যুক্ত করে আরম্ভ করার সময় আপনি 9 বিটা এসডিকে সংস্করণটি বেছে নিতে পারেন।

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

import { getAuth, onAuthStateChanged } from "firebase/auth";

const auth = getAuth(firebaseApp);
onAuthStateChanged(auth, user => {
  // Check for user status
});

আরও উদাহরণ এবং বিশদ জন্য, প্রতিটি পণ্য ক্ষেত্রের জন্য গাইড হিসাবে দেখুন সংস্করণ 9 রেফারেন্স ডকুমেন্টেশন

আপনার অ্যাপে ওয়েব এসডিকে যুক্ত করার উপায়

ফায়ারবেস রিমোট কনফিগারেশন, এফসিএম এবং আরও অনেকগুলি সহ বেশিরভাগ ফায়ারবেস পণ্যগুলির জন্য জাভাস্ক্রিপ্ট লাইব্রেরি সরবরাহ করে। আপনি কীভাবে আপনার ওয়েব অ্যাপ্লায় ফায়ারবেস এসডিকে যুক্ত করবেন তা নির্ভর করে আপনি আপনার অ্যাপ্লিকেশনটির জন্য ফায়ারবেস হোস্টিং ব্যবহার করা বেছে নিয়েছেন, আপনি কী অ্যাপ্লিকেশনটি ব্যবহার করছেন (মডিউল ব্যান্ডলারের মতো), বা যদি আপনার অ্যাপটি কোনও ব্রাউজার ছাড়াই চলে runs পরিবেশ যেমন নোড.জেএস।

আপনি সমর্থিত কোনও পদ্ধতির মাধ্যমে আপনার অ্যাপ্লিকেশনটিতে যে কোনও উপলব্ধ লাইব্রেরি যুক্ত করতে পারেন:

  • এনপিএম (মডিউল বান্ডেলার এবং নোড.জেএস এর জন্য)
  • সিডিএন (সামগ্রী বিতরণ নেটওয়ার্ক)
  • ফায়ারবেস হোস্টিং ইউআরএল

প্রতিটি পদ্ধতির বিশদ সেটআপ নির্দেশাবলীর জন্য, আপনার জাভাস্ক্রিপ্ট অ্যাপে ফায়ারবেস যুক্ত করুন দেখুন। এই বিভাগের বাকি অংশে উপলভ্য বিকল্পগুলি থেকে আপনি চয়ন করতে সহায়তা করার জন্য তথ্য রয়েছে।

এনপিএম

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

যেমন bundler একটি মডিউল রূপে সঙ্গে npm ব্যবহার Webpack বা রোলআপ "গাছ শেক" অব্যবহৃত কোডে অপ্টিমাইজেশান বিকল্প প্রদান করে এবং লক্ষ্যবস্তু polyfills, যা ব্যাপকভাবে আপনার অ্যাপের আকার পদাঙ্ক কমাতে পারে প্রযোজ্য। এই বৈশিষ্ট্যগুলি প্রয়োগ করা আপনার কনফিগারেশন এবং চেইন তৈরিতে কিছুটা জটিলতা যুক্ত করতে পারে তবে মূলধারার বিভিন্ন সিএলআই সরঞ্জাম এটি হ্রাস করতে সহায়তা করতে পারে। এই সরঞ্জামগুলির মধ্যে কৌণিক , প্রতিক্রিয়া , মান , নেক্সট এবং অন্যান্য অন্তর্ভুক্ত রয়েছে।

সংক্ষেপে:

  • মূল্যবান অ্যাপ্লিকেশন আকারের অপ্টিমাইজেশন সরবরাহ করে
  • মডিউলগুলি পরিচালনা করার জন্য দৃust় সরঞ্জামাদি উপলব্ধ
  • নোড.জেএস সহ এসএসআরের জন্য প্রয়োজনীয়

সিডিএন (সামগ্রী বিতরণ নেটওয়ার্ক)

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

সংক্ষেপে:

  • পরিচিত এবং সহজ
  • অ্যাপ্লিকেশন আকার যখন বড় উদ্বেগ নয় উপযুক্ত
  • আপনার ওয়েবসাইটটি যখন বিল্ড সরঞ্জামগুলি ব্যবহার না করে তখন উপযুক্ত।

হোস্টিং ইউআরএল

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

সংক্ষেপে:

  • সিডিএন এর চেয়ে সামান্য পারফরম্যান্স সুবিধা সরবরাহ করে
  • একাধিক বিকাশের পরিবেশে কাজ সহজ করতে পারে
  • ফায়ারবেস হোস্টিং ব্যবহার করে এমন অ্যাপ্লিকেশনগুলির জন্য সুবিধাজনক

ফায়ারবেস ওয়েব এসডিকে রূপগুলি

বর্তমানে, ফায়ারবেস দুটি ওয়েব এসডিকে ভেরিয়েন্ট সরবরাহ করে:

  • ব্রাউজারে ব্যবহারের জন্য সমস্ত ফায়ারবেস বৈশিষ্ট্য সমর্থন করে একটি জাভাস্ক্রিপ্ট বান্ডিল।
  • একটি ক্লায়েন্ট-পাশ নোড.জেএস বান্ডিল যা ফায়ারবেস বৈশিষ্ট্যগুলিকে অনেকগুলি তবে সমস্ত নয় - সমর্থন করে। সমর্থিত পরিবেশগুলির তালিকা দেখুন।

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

বান্ডিলার এবং ফ্রেমওয়ার্ক সহ পরিবেশ সনাক্তকরণ

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

আপনার কোড ব্যবহার করে Node.js require বিবৃতি, SDK এর নোড-নির্দিষ্ট বান্ডিল খুঁজে বের করে। অন্যথায়, আপনার package.json ফাইলের (যেমন, main , browser বা module ) সঠিক প্রবেশিকা পয়েন্ট ক্ষেত্রটি সনাক্ত করতে আপনার package.json সেটিংসটি সঠিকভাবে অঙ্কিত হওয়া উচিত। আপনি যদি এসডিকে দিয়ে রানটাইম ত্রুটিগুলি অনুভব করেন, আপনার পরিবেশের জন্য সঠিক ধরণের বান্ডিলটিকে অগ্রাধিকার দিতে আপনার বান্ডলারটি কনফিগার করা হয়েছে কিনা তা পরীক্ষা করে দেখুন।

উপলব্ধ গ্রন্থাগারগুলি

অতিরিক্ত সেটআপ অপশন

ফায়ারবেস এসডিকে বিলম্বকরণ (সিডিএন থেকে)

পুরো পৃষ্ঠাটি লোড না হওয়া পর্যন্ত আপনি ফায়ারবেস এসডিকে অন্তর্ভুক্ত করতে বিলম্ব করতে পারেন।

  1. ফায়ারবেস এসডিকেগুলির জন্য প্রতিটি script ট্যাগে একটি defer পতাকা যুক্ত করুন, তারপরে দ্বিতীয় স্ক্রিপ্ট ব্যবহার করে ফায়ারব্যাসের সূচনা স্থগিত করুন:

    <script defer src="https://www.gstatic.com/firebasejs/8.6.8/firebase-app.js"></script>
    
    <script defer src="https://www.gstatic.com/firebasejs/8.6.8/firebase-auth.js"></script>
    <script defer src="https://www.gstatic.com/firebasejs/8.6.8/firebase-firestore.js"></script>
    
    // ...
    
    <script defer src="./init-firebase.js"></script>
    
  2. একটি init-firebase.js ফাইল তৈরি করুন, তারপরে ফাইলটিতে নিম্নলিখিতগুলি অন্তর্ভুক্ত করুন:

    // TODO: Replace the following with your app's Firebase project configuration
    var firebaseConfig = {
      // ...
    };
    
    // Initialize Firebase
    firebase.initializeApp(firebaseConfig);
    

একক অ্যাপে একাধিক ফায়ারবেস প্রকল্প ব্যবহার করুন

বেশিরভাগ ক্ষেত্রে, আপনাকে কেবলমাত্র একটি একক, ডিফল্ট অ্যাপ্লিকেশনটিতে ফায়ারবেস শুরু করতে হবে। আপনি দুটি সমতুল্য উপায়ে সেই অ্যাপ্লিকেশন থেকে ফায়ারবেস অ্যাক্সেস করতে পারেন:

// Initialize Firebase with a "default" Firebase project
var defaultProject = firebase.initializeApp(firebaseConfig);

console.log(defaultProject.name);  // "[DEFAULT]"

// Option 1: Access Firebase services via the defaultProject variable
var defaultStorage = defaultProject.storage();
var defaultFirestore = defaultProject.firestore();

// Option 2: Access Firebase services using shorthand notation
defaultStorage = firebase.storage();
defaultFirestore = firebase.firestore();

যদিও মাঝে মাঝে আপনাকে একসাথে একাধিক ফায়ারবেস প্রকল্প অ্যাক্সেস করতে হবে। উদাহরণস্বরূপ, আপনি একটি ফায়ারবেস প্রকল্পের ডাটাবেস থেকে ডেটা পড়তে চাইতে পারেন তবে ফাইলগুলি অন্য ফায়ারবেস প্রকল্পে সঞ্চয় করতে পারেন। অথবা আপনি দ্বিতীয় প্রকল্পটিকে অচিহ্নিত অবস্থায় রেখে একটি প্রকল্পের প্রমাণীকরণ করতে চাইতে পারেন।

ফায়ারবেস জাভাস্ক্রিপ্ট এসডিকে আপনাকে একই সাথে একক অ্যাপ্লিকেশনটিতে একাধিক ফায়ারবেস প্রকল্প আরম্ভ করতে এবং প্রতিটি প্রকল্পের নিজস্ব ফায়ারবেস কনফিগারেশন তথ্য ব্যবহার করার অনুমতি দেয়।

// Initialize Firebase with a default Firebase project
firebase.initializeApp(firebaseConfig);

// Initialize Firebase with a second Firebase project
var otherProject = firebase.initializeApp(otherProjectFirebaseConfig, "other");

console.log(firebase.app().name);  // "[DEFAULT]"
console.log(otherProject.name);    // "otherProject"

// Use the shorthand notation to access the default project's Firebase services
var defaultStorage = firebase.storage();
var defaultFirestore = firebase.firestore();

// Use the otherProject variable to access the second project's Firebase services
var otherStorage = otherProject.storage();
var otherFirestore = otherProject.firestore();

উন্নয়নের জন্য একটি স্থানীয় ওয়েব সার্ভার চালান

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

আপনি যদি ইতিমধ্যে আপনার অ্যাপ্লিকেশনটির জন্য ফায়ারবেস হোস্টিং সেট আপ করেন তবে আপনি ইতিমধ্যে নীচের কয়েকটি ধাপ সম্পন্ন করতে পারেন।

আপনার ওয়েব অ্যাপ্লিকেশন পরিবেশন করতে, আপনি ফায়ারবেস সিএলআই, একটি কমান্ড-লাইন সরঞ্জাম ব্যবহার করবেন।

  1. কীভাবে সিএমএল ইনস্টল করবেন বা তার সর্বশেষ সংস্করণে আপডেট করবেন তা শিখতে ফায়ারবেস সিএলআই ডকুমেন্টেশন দেখুন।

  2. আপনার ফায়ারবেস প্রকল্প শুরু করুন। আপনার স্থানীয় অ্যাপ্লিকেশন ডিরেক্টরিটির মূল থেকে নিম্নলিখিত কমান্ডটি চালান:

    firebase init

  3. উন্নয়নের জন্য স্থানীয় সার্ভার শুরু করুন । আপনার স্থানীয় অ্যাপ্লিকেশন ডিরেক্টরিটির মূল থেকে নিম্নলিখিত কমান্ডটি চালান:

    firebase serve

ফায়ারবেস জাভাস্ক্রিপ্ট এসডিকেগুলির জন্য ওপেন সোর্স রিসোর্স

ফায়ারবেস ওপেন সোর্স বিকাশ সমর্থন করে এবং আমরা সম্প্রদায়ে অবদান এবং প্রতিক্রিয়া উত্সাহিত করি।

ফায়ারবেস জাভাস্ক্রিপ্ট এসডিকে

বেশিরভাগ ফায়ারবেস জাভাস্ক্রিপ্ট এসডিকেগুলি আমাদের সর্বজনীন ফায়ারবেস গিটহাব সংগ্রহস্থলে ওপেন সোর্স লাইব্রেরি হিসাবে তৈরি করা হয়।

কুইকস্টার্ট নমুনা

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