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-এর বাকি পরিকাঠামো প্রসেস করতে পারে। - স্ট্যাটিক অ্যাসেট জেনারেট করতে এবং প্রোডাকশনের জন্য আপনার অ্যাপের অপ্টিমাইজ করা ভার্সন তৈরি করতে, তারা আপনার অ্যাপের বিল্ড কমান্ড রান করে।
ফ্রেমওয়ার্ক অ্যাডাপ্টার npm run build-এর মাধ্যমে আপনার Node.js অ্যাপ তৈরি করে, যা প্রতিটি ফ্রেমওয়ার্কের জন্য ডিফল্ট বিল্ড স্ক্রিপ্টের সাথে সবচেয়ে ভালোভাবে কাজ করে: 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 সাপোর্ট শিডিউল
| সংস্করণ | স্ট্যাটাস | বন্ধ করে দেওয়া |
|---|---|---|
| ১৮.২.x | lts | 2026-10-9 |
| ১৯.০.x | lts | 2027-10-9 |
| 19.1.x | lts | 2027-10-9 |
| ১৯.২.x | সক্রিয় | - |
অটোমেটিক বেস ইমেজ আপডেট (ABIU)
অটোমেটিক বেস ইমেজ আপডেট (ABIU) হল এমন একটি ফিচার যা নতুন অ্যাপ রোল-আউট ট্রিগার করার প্রয়োজন ছাড়াই আপনার অন্তর্নিহিত রানটাইম এনভায়রনমেন্টে অটোমেটিক সিকিউরিটি প্যাচ প্রয়োগ করে।
App Hosting ডিফল্ট হিসেবে নতুন ব্যাকএন্ডের জন্য ABIU চালু করে, যার জন্য এইসব নির্দিষ্ট প্রয়োজনীয়তা রয়েছে:
- ভার্সন করা রানটাইম: ABIU ব্যবহার করতে, আপনাকে অবশ্যই একটি ভার্সন করা রানটাইম নির্দিষ্ট করতে হবে
(যেমন
nodejs22বাnodejs24)। App Hosting জোড়-সংখ্যার Node.js ভার্সন সমর্থন করে, Cloud Run-এর সমর্থন মিরর করে। - 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 মোনোরেপো অ্যাপ কাজ করে। বিস্তারিত নির্দেশিকার জন্য App Hosting-এর সাথে মোনোরেপো ব্যবহার করুন দেখুন।
Nx-এর নিম্নলিখিত ভার্সন কাজ করে:
| সংস্করণ | স্ট্যাটাস | বন্ধ করে দেওয়া |
|---|---|---|
| ২০.৮.x | lts | ৯-১০-২০২৭-এর আগে নয় |
অন্য ধরনের মোনোরেপো ওয়ার্কস্পেসের জন্য আপনার সহায়তা প্রয়োজন হলে, Firebase UserVoice-এ আমাদের জানান।