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

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

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

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

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

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

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

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

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

কি সমর্থিত?

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

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

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

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

আপনি Firebase সাথে নতুন ইন্টিগ্রেশন থেকে শুরু করে থাকেন, তাহলে আপনি সংস্করণ 9 বেটা SDK এর করা পছন্দ যখন আপনি করতে পারেন যোগ করতে পারেন এবং SDK এর আরম্ভ

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

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

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

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

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

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

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

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

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

এনপিএম

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

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

সংক্ষেপে:

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

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

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

সংক্ষেপে:

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

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

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

সংক্ষেপে:

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

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

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

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

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

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

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

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

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

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

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

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

  1. একটি যোগ করুন defer প্রতিটি পতাকা script Firebase SDK আছে জন্য ট্যাগ, তারপর একটি দ্বিতীয় স্ক্রিপ্ট ব্যবহারের, উদাহরণস্বরূপ Firebase আরম্ভের মুলতবি:

    <script defer src="https://www.gstatic.com/firebasejs/8.8.0/firebase-app.js"></script>
    
    <script defer src="https://www.gstatic.com/firebasejs/8.8.0/firebase-auth.js"></script>
    <script defer src="https://www.gstatic.com/firebasejs/8.8.0/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();

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

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

// 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();

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

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

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

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

  1. করা শিখতে Firebase CLI ডকুমেন্টেশন যান CLI ইনস্টল বা তার সাম্প্রতিক সংস্করণে আপডেট করুন

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

    firebase init

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

    firebase serve

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

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

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

সর্বাধিক Firebase জাভাস্ক্রিপ্ট SDK আছে আমাদের পাবলিক ওপেন সোর্স লাইব্রেরি হিসাবে বিকশিত হয় Firebase GitHub সংগ্রহস্থলের

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

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