App Hosting-এর জন্য ফ্রেমওয়ার্ক ও টুলিং

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

ওয়েব ফ্রেমওয়ার্ক ও App Hosting

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

আগে থেকেই কনফিগার করা বিল্ড ও ডিপ্লয় সহায়তা সহ ফ্রেমওয়ার্ক

আগে থেকে কনফিগার করা বিল্ড ও ডেপ্লয় সংক্রান্ত সহায়তা সহ, Firebase, package-lock.json ফাইল বা অন্যান্য লক ফাইল পরীক্ষা করে দেখে আপনি কোন ফ্রেমওয়ার্ক ব্যবহার করছেন তা শনাক্ত করে এবং আপনার অ্যাপের জন্য বিল্ড ও ডেপ্লয়মেন্ট প্রসেস অপ্টিমাইজ করে। Google এইসব ফ্রেমওয়ার্কের জন্য সহায়তা বজায় রাখতে বদ্ধপরিকর এবং Firebase সহায়তা টিম সমস্যা সংক্রান্ত রিপোর্ট ও ফিচার অনুরোধ গ্রহণ করতে পারে।

এই লেভেলের সহায়তা এইসব ক্ষেত্রে প্রদান করা হয়:

  • Next.js
  • Angular

নির্দিষ্ট ভার্সন ও লেভেলের সহায়তা সম্পর্কে বিস্তারিত জানতে সহায়তা শিডিউল দেখুন।

আপনি যদি এমন কোনও Node.js অ্যাপ ডেপ্লয় করার চেষ্টা করেন যাতে কোনও লক ফাইল নেই, তাহলে App Hosting আপনার অ্যাপ তৈরি ও রান করতে পারবে না। আপনি নিজের রুট ডিরেক্টরিতে npm install রান করিয়ে package-lock.json তৈরি করতে পারেন।

কমিউনিটি-সমর্থিত ফ্রেমওয়ার্ক

Next.js ও Angular ছাড়াও, App Hosting এমন যেকোনও ওয়েব ফ্রেমওয়ার্ক কাজ করে যা আমাদের আউটপুট বান্ডেল স্পেসিফিকেশন অনুযায়ী বিল্ড আউটপুট দিতে পারে। ফ্রেমওয়ার্কের লেখকরা আউটপুট বান্ডেল স্পেসিফিকেশন ব্যবহার করে নিশ্চিত করতে পারেন যে তাদের ফ্রেমওয়ার্ক App Hosting-এ কাজ করে। যেমন, জনপ্রিয় Nuxt ফ্রেমওয়ার্ক Nitro টিমের দ্বারা পরিচালিত হয়, যারা App Hosting-এ Nuxt অ্যাপ ডেপ্লয়মেন্ট চালু করতে Firebase অ্যাডাপ্টার তৈরি করেছে।

App Hosting-এর সাথে কাজ করে এমন অতিরিক্ত ফ্রেমওয়ার্ক দেখতে চাইলে, আপনি ফ্রেমওয়ার্ক অ্যাডাপ্টার তৈরি করতে পারেন অথবা ফ্রেমওয়ার্কের রক্ষণাবেক্ষণকারীদের সাথে যোগাযোগ করে বিল্ড আউটপুটকে App Hosting ফর্ম্যাটে কনভার্ট করতে পারেন। যারা অ্যাডাপ্টার তৈরি করছেন তাদের জন্য Next.js এবং Angular অ্যাডাপ্টার হল ভালো রেফারেন্স উদাহরণ।

কমিউনিটি-সমর্থিত ফ্রেমওয়ার্ক সংক্রান্ত তথ্য Firebase ওপেন সোর্স লিঙ্কে পাওয়া যাবে। কমিউনিটি-সমর্থিত ফ্রেমওয়ার্কের সমস্যা ও ফিচার সংক্রান্ত অনুরোধ ওপেন সোর্স কমিউনিটি বা ফ্রেমওয়ার্কের লেখকদের কাছে পাঠাতে হবে। কিছু ক্ষেত্রে Google সাহায্য করতে পারলেও, এই অ্যাডাপ্টারের জন্য কমিউনিটিই হল সহায়তার প্রথম মাধ্যম।

App Hosting ফ্রেমওয়ার্ক অ্যাডাপ্টার

App Hosting-এ, ফ্রেমওয়ার্ক অ্যাডাপ্টরের মাধ্যমে আগে থেকে কনফিগার করা এবং কমিউনিটি-সাপোর্টেড ফ্রেমওয়ার্কের জন্য সহায়তা প্রদান করা হয়। App Hosting ফ্রেমওয়ার্ক অ্যাডাপ্টরের দুটি প্রধান ভূমিকা রয়েছে:

  • এগুলি আপনার সোর্স কোড এবং ফ্রেমওয়ার্ক-নির্দিষ্ট কনফিগারেশন ফাইল (যেমন next.config.js) পার্স করে এবং একটি আউটপুট বান্ডেল তৈরি করে যা বাকি App Hosting পরিকাঠামো প্রসেস করতে পারে।
  • স্ট্যাটিক অ্যাসেট তৈরি করতে এবং প্রোডাকশনের জন্য আপনার অ্যাপের একটি অপ্টিমাইজ করা ভার্সন তৈরি করতে, তারা আপনার অ্যাপের বিল্ড কমান্ড রান করে।

ফ্রেমওয়ার্ক অ্যাডাপ্টার আপনার Node.js অ্যাপকে npm run build-এর সাথে তৈরি করে, প্রতিটি ফ্রেমওয়ার্কের ডিফল্ট বিল্ড স্ক্রিপ্টের সাথে সবচেয়ে ভাল কাজ করে: Next.js-এর জন্য next build এবং Angular-এর জন্য ng build। App Hosting কাস্টম বিল্ড কমান্ডের মাধ্যমে বিল্ড করার চেষ্টা করবে, তবে সাফল্যের গ্যারান্টি নির্ভরযোগ্যভাবে দেওয়া যাবে না। আপনি apphosting.yaml-এ বিল্ড ও রান স্ক্রিপ্ট ওভাররাইড করতে পারবেন।

Next.js এবং Angular অ্যাডাপ্টারের সোর্স apphosting-adapters-এ উপলভ্য।

App Hosting-এর রানটাইম

App Hosting এটি তৈরি ও রিলিজ করার পরে, আপনার Node.js অ্যাপ একটি Cloud Run রিভিশনে রান করে। সেই অনুযায়ী, আপনার অ্যাপের রানটাইম ভার্সন Cloud Run-এর কাজ করে এমন রেঞ্জ এবং আপনার বেছে নেওয়া ওয়েব ফ্রেমওয়ার্কের রেঞ্জ, এই দুটির মধ্যেই থাকতে হবে। Angular ও Next.js-এর জন্য আগে থেকেই কনফিগার করা সহায়তার ক্ষেত্রে, এর অর্থ হল যে নিম্নলিখিত ফ্রেমওয়ার্ক ও Node.js ভার্সন কাজ করে:

  • Next.js 13.5.x ও তার পরের যেকোনও ভার্সন
  • Angular 18.2.x ও তার পরবর্তী যেকোনও ভার্সন
  • Node.js 22 ও তার পরবর্তী যেকোনও ভার্সন

App Hosting নতুন রিলিজ করা ফ্রেমওয়ার্ক ভার্সনের জন্য অটোমেটিক অ্যাক্টিভ সহায়তা প্রদান করে না। আমাদের বর্তমানে নির্ধারিত 'অ্যাক্টিভ' ভার্সনের থেকে নতুন ভার্সন App Hosting-এর জন্য আনুষ্ঠানিকভাবে 'অ্যাক্টিভ' হিসেবে চিহ্নিত না করা পর্যন্ত সেটিকে 'প্রিভিউ' হিসেবে বিবেচনা করা হবে।

App Hosting অ্যাক্টিভ সহায়তা প্রদান করার সময়সীমা থেকে এক বছরের জন্য মেজর রিলিজের লেটেস্ট মাইনর ভার্সনের জন্য দীর্ঘমেয়াদী সহায়তা (LTS) প্রদান করে, তবে আপনাকে সেই মাইনর ভার্সনের মধ্যে লেটেস্ট প্যাচ রিলিজের সাথে সামঞ্জস্যপূর্ণভাবে আপডেট করতে হবে। Next.js ও Angular-এর বিবরণ জানতে নিম্নলিখিত টেবিল দেখুন।

Next.js-এর জন্য সহায়তা সংক্রান্ত শিডিউল

সংস্করণ স্ট্যাটাস ডেপ্রিকেশন
13.5.x lts 2026-10-9
14.2.x lts 2026-10-9
15.0.x lts 2027-10-9
15.1.x lts 2027-10-9
15.2.x সক্রিয় ২০২৬-১০-৯ তারিখের আগে নয়

Angular সহায়তা শিডিউল

সংস্করণ স্ট্যাটাস ডেপ্রিকেশন
18.2.x lts 2026-10-9
19.0.x lts 2027-10-9
19.1.x lts 2027-10-9
19.2.x সক্রিয় -

অটোমেটিক বেস ইমেজ আপডেট (ABIU)

অটোমেটিক বেস ইমেজ আপডেট (ABIU) হল এমন একটি ফিচার যা আপনাকে নতুন অ্যাপ রোলআউট ট্রিগার করার প্রয়োজন ছাড়াই আপনার অন্তর্নিহিত রানটাইম এনভায়রনমেন্টে অটোমেটিক নিরাপত্তা প্যাচ প্রয়োগ করে।

App Hosting নতুন ব্যাকএন্ডের জন্য ডিফল্ট হিসেবে ABIU চালু করে, সাথে এইসব নির্দিষ্ট প্রয়োজনীয়তা:

  • ভার্সন করা রানটাইম: ABIU ব্যবহার করতে, আপনাকে অবশ্যই ভার্সন করা রানটাইম (যেমন nodejs22 বা nodejs24) নির্দিষ্ট করতে হবে। App Hosting এমনকি Cloud Run-এর সাপোর্টকে মিরর করে, জোড় সংখ্যাযুক্ত Node.js ভার্সনও সাপোর্ট করে।
  • package.json ম্যাচ করা: App Hosting এর জন্য আপনার বেছে নেওয়া Node ভার্সনটি অবশ্যই আপনার package.json ফাইলের engines ফিল্ডে উল্লেখ করা ভার্সনের সাথে মানানসই হতে হবে। কোনও মিল না থাকলে, আপনি Cloud Build থেকে বিল্ড-টাইম সমস্যার সম্মুখীন হবেন। আপনি যেকোনও সময় engines ফিল্ড পরিবর্তন করলে, ডিপ্লয় করার আগে আপনার ব্যাকএন্ডের রানটাইম আপডেট করতে ভুলবেন না।

ABIU বন্ধ করা

আপনি ABIU থেকে বেরিয়ে আসতে চাইলে, অনবোর্ডিং চলাকালীন অথবা Firebase কনসোলে আপনার রানটাইমের জন্য "উল্লেখ করা নেই" বিকল্প বেছে নিয়ে এটি বন্ধ করতে পারেন। ভার্সন ছাড়া nodejs ডিফল্ট ব্যবহার করা হলে, ABIU অটোমেটিক বন্ধ হয়ে যায়।

রানটাইম ভার্সন ম্যানেজ করা

আপনি যেকোনও সময় App Hosting ড্যাশবোর্ডের সেটিংস ট্যাবে গিয়ে আপনার ব্যাকএন্ডের রানটাইম ভার্সন ও ABIU পছন্দ দেখতে ও পরিবর্তন করতে পারবেন। তবে, মনে রাখবেন যে আপনার রানটাইম ভার্সন পরিবর্তন করলে, আপনার অ্যাপ্লিকেশন কাজ নাও করতে পারে যদি নতুন ভার্সন আপনার কোডের সাথে মানানসই না হয়।

রানটাইম ভার্সনের সাপোর্ট লাইফসাইকেল শেষ হয়ে যায়। ব্রেকিং পরিবর্তন এড়াতে আপনার রানটাইম আপডেট করা গুরুত্বপূর্ণ:

  • পুরনো হয়ে যাওয়া রানটাইম: আপনার বেছে নেওয়া রানটাইম পুরনো হয়ে গেলে, আপনার অ্যাপ্লিকেশন সাধারণত কাজ করা চালিয়ে যাবে। আপনি কনসোলে একটি সতর্কতা পাবেন এবং যত শীঘ্র সম্ভব আপনাকে একটি নতুন ভার্সনে আপডেট করতে হবে। আরও তথ্যের জন্য, রানটাইম লাইফসাইকেল-এর Cloud Run ডকুমেন্টেশন দেখুন।
  • বন্ধ করে দেওয়া রানটাইম: বন্ধ করে দেওয়া রানটাইম সম্পূর্ণভাবে কাজ করে না। বন্ধ করে দেওয়া ভার্সন ব্যবহার করে আপনাকে নতুন বিল্ড বা ব্যাকএন্ড তৈরি করতে দেওয়া হবে না এবং তা করার চেষ্টা করলে বিল্ড সংক্রান্ত সমস্যা হবে। বন্ধ করে দেওয়া ভার্সনে আগে থেকে থাকা ডেপ্লয়মেন্ট কাজ করা বন্ধ করে দিতে পারে এবং Cloud Run সেগুলি মুছে দেওয়ার অধিকার সংরক্ষণ করে।

কাজ করে, বন্ধ করা হয়েছে এবং বন্ধ করে দেওয়া হয়েছে এমন Node ভার্সনের সম্পূর্ণ তালিকা পেতে, Cloud Run রানটাইম সাপোর্ট ডকুমেন্টেশন দেখুন। বেস ইমেজ আপডেট কীভাবে কাজ করে সেই সম্পর্কে আরও টেকনিক্যাল বিবরণ পেতে, Cloud Run ABIU ডকুমেন্টেশন দেখুন।

প্যাকেজ ম্যানেজার

App Hosting Cloud Native Buildpacks ব্যবহার করে ডিপেন্ডেন্সি ইনস্টল করে এবং npm, yarn বা pnpm ব্যবহার করে অ্যাপ তৈরি করে। JSR-এর মতো অন্যান্য প্যাকেজ ম্যানেজার কাজ করে না।

NPM

  • NPM হল ডিফল্ট প্যাকেজ ম্যানেজার।
  • বিল্ড সফলভাবে হয়ে গেলে, প্রোডাকশন নয় এমন ডিপেন্ডেন্সি সরিয়ে দেওয়া হয়।
  • আপনার package.json ফাইলে engines.npm ফিল্ড ব্যবহার করে আপনি npm ভার্সন বিভাগ নির্দিষ্ট করতে পারবেন।

উলের বল

  • আপনার প্রোজেক্টে yarn.lock ফাইল অন্তর্ভুক্ত করলে, Yarn ব্যবহার করা হয়।
  • আপনার package.json ফাইলের engines.yarn বা packageManager ফিল্ডে ব্যবহার করার জন্য আপনি Yarn ভার্সন নির্দিষ্ট করতে পারবেন।
  • App Hosting Yarn2 PnP মোডে কাজ করে।

Pnpm

  • আপনার প্রোজেক্টে pnpm-lock.yaml ফাইল অন্তর্ভুক্ত করলে, তার পরিবর্তে pnpm ব্যবহার করা হয়।
  • আপনার package.json ফাইলের engines.pnpm বা packageManager ফিল্ডে pnpm-এর একটি ভার্সন নির্দিষ্ট করতে পারবেন।
  • কাজ করে এমন উদাহরণের জন্য, sample-node-pnpm অ্যাপ দেখুন।

App Hosting-এর জন্য মোনোরেপো

App Hosting Nx এবং Turborepo monorepo অ্যাপে কাজ করে। বিস্তারিত নির্দেশিকার জন্য App Hosting-এর সাথে মনোরেপো ব্যবহার করুন দেখুন।

Nx-এর নিম্নলিখিত ভার্সন কাজ করে:

সংস্করণ স্ট্যাটাস ডেপ্রিকেশন
20.8.x lts ২০২৭-১০-৯-এর আগে নয়

অন্য ধরনের মনোরেপো ওয়ার্কস্পেসের জন্য আপনার সহায়তা প্রয়োজন হলে, আমাদের Firebase UserVoice-এ জানান।