Firebase হোস্টিং এমুলেটর দিয়ে প্রোটোটাইপ এবং পরীক্ষা ওয়েব অ্যাপস

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

ফায়ারবেস হোস্টিং-এর বৈশিষ্ট্য এবং বাস্তবায়ন কর্মপ্রবাহের সাথেও আপনার পরিচিত হওয়া উচিত। Firebase হোস্টিং এর ভূমিকা দিয়ে শুরু করুন।

Firebase হোস্টিং এমুলেটর দিয়ে আমি কি করতে পারি?

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

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

একটি ফায়ারবেস প্রকল্প বেছে নিন

Firebase স্থানীয় এমুলেটর স্যুট একটি একক Firebase প্রকল্পের জন্য পণ্য অনুকরণ করে।

ব্যবহার করার জন্য প্রজেক্ট নির্বাচন করতে, আপনি এমুলেটরগুলি শুরু করার আগে, CLI-এ আপনার কাজের ডিরেক্টরিতে firebase use । অথবা, আপনি প্রতিটি এমুলেটর কমান্ডে --project পতাকা পাস করতে পারেন।

স্থানীয় এমুলেটর স্যুট বাস্তব ফায়ারবেস প্রকল্প এবং ডেমো প্রকল্পের অনুকরণ সমর্থন করে।

প্রকল্পের ধরন বৈশিষ্ট্য এমুলেটরগুলির সাথে ব্যবহার করুন
রিয়াল

একটি আসল ফায়ারবেস প্রজেক্ট হল আপনি তৈরি এবং কনফিগার করেছেন (সম্ভবত Firebase কনসোলের মাধ্যমে)।

বাস্তব প্রজেক্টে লাইভ রিসোর্স থাকে, যেমন ডাটাবেস ইনস্ট্যান্স, স্টোরেজ বাকেট, ফাংশন বা অন্য কোনো রিসোর্স যা আপনি সেই Firebase প্রোজেক্টের জন্য সেট আপ করেন।

বাস্তব ফায়ারবেস প্রকল্পগুলির সাথে কাজ করার সময়, আপনি যেকোন বা সমস্ত সমর্থিত পণ্যের জন্য এমুলেটর চালাতে পারেন।

যে কোনো পণ্যের জন্য আপনি অনুকরণ করছেন না, আপনার অ্যাপ এবং কোড লাইভ রিসোর্সের সাথে ইন্টারঅ্যাক্ট করবে (ডাটাবেস ইনস্ট্যান্স, স্টোরেজ বাকেট, ফাংশন, ইত্যাদি)।

ডেমো

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

ডেমো প্রজেক্টের জন্য প্রজেক্ট আইডিতে demo- প্রিফিক্স থাকে।

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

আমরা আপনাকে যেখানেই সম্ভব ডেমো প্রকল্প ব্যবহার করার পরামর্শ দিই। সুবিধার মধ্যে রয়েছে:

  • সহজ সেটআপ, যেহেতু আপনি ফায়ারবেস প্রজেক্ট তৈরি না করেই এমুলেটর চালাতে পারবেন
  • শক্তিশালী নিরাপত্তা, যেহেতু আপনার কোড ভুলবশত নন-ইমুলেটেড (উৎপাদন) সংস্থানগুলিকে আমন্ত্রণ জানায়, তবে ডেটা পরিবর্তন, ব্যবহার এবং বিলিং এর কোন সুযোগ নেই
  • ভাল অফলাইন সমর্থন, যেহেতু আপনার SDK কনফিগারেশন ডাউনলোড করতে ইন্টারনেট অ্যাক্সেস করার প্রয়োজন নেই৷

মূল প্রোটোটাইপিং কর্মপ্রবাহ

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

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

  2. আপনার স্থানীয় প্রকল্প ডিরেক্টরির রুট থেকে, নিম্নলিখিত কমান্ডটি চালান:

    firebase emulators:start
  3. CLI (সাধারণত http://localhost:5000 ) দ্বারা প্রত্যাবর্তিত স্থানীয় URL-এ আপনার ওয়েব অ্যাপ খুলুন।

  4. পরিবর্তন সহ স্থানীয় URL আপডেট করতে, আপনার ব্রাউজার রিফ্রেশ করুন।

অন্যান্য স্থানীয় ডিভাইস থেকে পরীক্ষা

ডিফল্টরূপে, এমুলেটররা শুধুমাত্র localhost অনুরোধে সাড়া দেয়। এর মানে হল যে আপনি আপনার কম্পিউটারের ওয়েব ব্রাউজার থেকে আপনার হোস্ট করা সামগ্রী অ্যাক্সেস করতে পারবেন কিন্তু আপনার নেটওয়ার্কের অন্যান্য ডিভাইস থেকে নয়৷ আপনি যদি অন্যান্য স্থানীয় ডিভাইস থেকে পরীক্ষা করতে চান, তাহলে আপনার firebase.json কনফিগার করুন এভাবে:

"emulators": {
    // ...

    "hosting": {
      "port": 5000
      "host": "0.0.0.0"
    }
  }

ক্রমাগত ইন্টিগ্রেশন কর্মপ্রবাহের জন্য প্রমাণীকরণ টোকেন তৈরি করুন

যদি আপনার ক্রমাগত ইন্টিগ্রেশন ওয়ার্কফ্লোগুলি Firebase হোস্টিং-এর উপর নির্ভর করে, তাহলে firebase emulators:exec চালানোর জন্য আপনাকে একটি টোকেন ব্যবহার করে লগ ইন করতে হবে। অন্যান্য এমুলেটরগুলির লগইন প্রয়োজন হয় না।

একটি টোকেন তৈরি করতে, আপনার স্থানীয় পরিবেশে firebase login:ci চালান; এটি একটি CI সিস্টেম থেকে সঞ্চালিত করা উচিত নয়। প্রমাণীকরণ নির্দেশাবলী অনুসরণ করুন. প্রতি প্রোজেক্টে আপনাকে একবার এই ধাপটি সম্পাদন করতে হবে, যেহেতু টোকেনটি বিল্ড জুড়ে বৈধ হবে। টোকেনটিকে একটি পাসওয়ার্ডের মতো বিবেচনা করা উচিত; নিশ্চিত করুন যে এটি গোপন রাখা হয়েছে।

যদি আপনার CI এনভায়রনমেন্ট আপনাকে এনভায়রনমেন্ট ভেরিয়েবল নির্দিষ্ট করতে দেয় যা বিল্ড স্ক্রিপ্টে ব্যবহার করা যেতে পারে, তাহলে FIREBASE_TOKEN নামে একটি এনভায়রনমেন্ট ভেরিয়েবল তৈরি করুন, যার মানটি হল অ্যাক্সেস টোকেন স্ট্রিং। Firebase CLI স্বয়ংক্রিয়ভাবে FIREBASE_TOKEN এনভায়রনমেন্ট ভেরিয়েবল বাছাই করবে এবং এমুলেটরগুলি সঠিকভাবে শুরু হবে।

একটি শেষ অবলম্বন হিসাবে, আপনি কেবল আপনার বিল্ড স্ক্রিপ্টে টোকেন অন্তর্ভুক্ত করতে পারেন, তবে নিশ্চিত করুন যে অবিশ্বস্ত দলগুলির অ্যাক্সেস নেই৷ এই হার্ড-কোডেড পদ্ধতির জন্য, আপনি firebase emulators:exec কমান্ডে --token "YOUR_TOKEN_STRING_HERE" যোগ করতে পারেন।

এরপর কী?