ऐप्लिकेशन होस्टिंग के लिए फ़्रेमवर्क और टूल

Firebase App Hosting को खास तौर पर, फ़्रेमवर्क पर आधारित मॉडर्न वेब ऐप्लिकेशन डेवलपमेंट के लिए बनाया गया है. इस पेज का इस्तेमाल, App Hosting के साथ काम करने वाले टूल और फ़्रेमवर्क के बारे में जानने के लिए करें. साथ ही, इससे मिलते-जुलते फ़्रेमवर्क और टूल के बारे में जानने के लिए भी इसका इस्तेमाल करें.

वेब फ़्रेमवर्क और App Hosting

App Hosting मॉडर्न वेब फ़्रेमवर्क के लिए, दो लेवल पर सहायता उपलब्ध कराता है: पहले से कॉन्फ़िगर किए गए बिल्ड और डिप्लॉयमेंट की सहायता. साथ ही, कम्यूनिटी लेवल पर सहायता. इसके लिए, ओपन सोर्स कॉन्ट्रिब्यूशन का इस्तेमाल किया जाता है. ये कॉन्ट्रिब्यूशन, आउटपुट बंडल स्पेसिफ़िकेशन के मुताबिक होते हैं. दोनों ही मामलों में, फ़्रेमवर्क अडैप्टर कॉम्पोनेंट की मदद से, किसी फ़्रेमवर्क को App Hosting के साथ इंटिग्रेट किया जा सकता है.

ऐसे फ़्रेमवर्क जिनमें पहले से कॉन्फ़िगर किए गए बिल्ड और डिप्लॉय की सुविधा उपलब्ध है

पहले से कॉन्फ़िगर किए गए बिल्ड और डिप्लॉय की सुविधा के साथ, Firebase यह पता लगाता है कि package-lock.json फ़ाइल या अन्य लॉक फ़ाइल की जांच करके, कौनसे फ़्रेमवर्क का इस्तेमाल किया जा रहा है. साथ ही, यह आपके ऐप्लिकेशन के लिए बिल्ड और डिप्लॉयमेंट प्रोसेस को ऑप्टिमाइज़ करता है. Google इन फ़्रेमवर्क के लिए सहायता बनाए रखने के लिए प्रतिबद्ध है. साथ ही, Firebase की सहायता टीम, समस्या की रिपोर्ट और सुविधा के अनुरोध स्वीकार कर सकती है.

इस लेवल की सहायता इन मामलों में मिलती है:

  • Next.js
  • Angular

किसी खास वर्शन और सहायता के लेवल के बारे में ज़्यादा जानने के लिए, सहायता के शेड्यूल देखें.

अगर लॉक फ़ाइल के बिना किसी Node.js ऐप्लिकेशन को डिप्लॉय करने की कोशिश की जाती है, तो App Hosting आपके ऐप्लिकेशन को न तो बना पाएगा और न ही चला पाएगा. package-lock.json बनाने के लिए, अपनी रूट डायरेक्ट्री में npm install चलाएं.

कम्यूनिटी की मदद से बनाए गए फ़्रेमवर्क

Next.js और Angular के अलावा, App Hosting ऐसे किसी भी वेब फ़्रेमवर्क के साथ काम करता है जो हमारे आउटपुट बंडल स्पेसिफ़िकेशन से मेल खाने वाला बिल्ड आउटपुट दे सकता है. फ़्रेमवर्क के लेखक, आउटपुट बंडल स्पेसिफ़िकेशन का फ़ायदा ले सकते हैं. इससे वे यह पक्का कर सकते हैं कि उनका फ़्रेमवर्क App Hosting के साथ काम करता हो. उदाहरण के लिए, लोकप्रिय Nuxt फ़्रेमवर्क को Nitro टीम सपोर्ट करती है. इस टीम ने Firebase अडैप्टर बनाया है, ताकि App Hosting पर Nuxt ऐप्लिकेशन को डिप्लॉय किया जा सके.

अगर आपको App Hosting के साथ काम करने वाले अन्य फ़्रेमवर्क देखने हैं, तो फ़्रेमवर्क अडैप्टर बनाया जा सकता है. इसके अलावा, फ़्रेमवर्क को बनाए रखने वालों से संपर्क करके, बिल्ड आउटपुट को App Hosting फ़ॉर्मैट में बदला जा सकता है. Next.js और Angular अडैप्टर, अडैप्टर बनाने वाले किसी भी व्यक्ति के लिए अच्छे रेफ़रंस उदाहरण हैं.

कम्यूनिटी के साथ मिलकर बनाए गए फ़्रेमवर्क के बारे में जानकारी, Firebase Open Source पर मिल सकती है. कम्यूनिटी की मदद से बनाए गए फ़्रेमवर्क से जुड़ी समस्याओं और सुविधाओं के अनुरोधों के बारे में, ओपन सोर्स कम्यूनिटी या फ़्रेमवर्क बनाने वाले लोगों को बताएं. कुछ मामलों में, 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, मुख्य रिलीज़ के सबसे नए माइनर वर्शन के लिए, एक साल तक लंबे समय तक सहायता (एलटीएस) देता है. यह सहायता, रिलीज़ के लिए सहायता मिलते रहने की अवधि के दौरान दी जाती है. हालांकि, इसके लिए ज़रूरी है कि आप उस माइनर वर्शन के लिए, लगातार नए पैच रिलीज़ को अपडेट करते रहें. 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 सक्रिय 2026-10-9 से पहले नहीं

ऐंगुलर के लिए सहायता पाने का शेड्यूल

वर्शन स्थिति बंद की गई सुविधा
18.2.x lts 2026-10-9
19.0.x lts 2027-10-9
19.1.x lts 2027-10-9
19.2.x सक्रिय -

बुनियादी इमेज अपने-आप अपडेट होने की सुविधा (एबीआईयू)

बेस इमेज अपने-आप अपडेट होने की सुविधा (एबीआईयू) एक ऐसी सुविधा है जो आपके रनटाइम एनवायरमेंट में सुरक्षा पैच अपने-आप लागू करती है. इसके लिए, आपको ऐप्लिकेशन का नया वर्शन रोल आउट करने की ज़रूरत नहीं होती.

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 फ़ील्ड में इस्तेमाल किए जाने वाले यार्न के वर्शन के बारे में बताया जा सकता है.
  • 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 2027-10-9 से पहले नहीं

अगर आपको अन्य तरह के मोनोरिपो वर्कस्पेस के लिए सहायता चाहिए, तो हमें Firebase UserVoice पर बताएं.