App Hosting için çerçeveler ve araçlar

Firebase App Hosting, özellikle çerçeve merkezli modern web uygulaması geliştirmeyi desteklemek için tasarlanmıştır. Bu sayfayı, App Hosting tarafından doğrudan desteklenen araçlar ve çerçeveler hakkında bilgi edinmek için bir referans ve ilgili çerçeveler ile araçlar hakkında bilgi edinmek için bir başlangıç noktası olarak kullanın.

Web çerçeveleri ve App Hosting

App Hosting, modern web çerçeveleri için iki geniş destek düzeyi sunar: önceden yapılandırılmış derleme ve dağıtım desteği ile çıkış paketi spesifikasyonuna uygun açık kaynak katkıları aracılığıyla topluluk düzeyinde destek. Her iki durumda da framework adapter bileşeni, belirli bir framework'ün App Hosting ile entegrasyonunu sağlar.

Önceden yapılandırılmış derleme ve dağıtım desteği sunan çerçeveler

Önceden yapılandırılmış derleme ve dağıtım desteği sayesinde Firebase, package-lock.json dosyasını veya diğer kilit dosyalarını inceleyerek hangi çerçeveyi kullandığınızı belirler ve uygulamanız için derleme ve dağıtım süreçlerini optimize eder. Google, bu çerçeveler için desteği sürdürmeye kararlıdır ve Firebase destek ekibi, sorun raporlarını ve özellik isteklerini kabul edebilir.

Bu destek düzeyi şu durumlarda sağlanır:

  • Next.js
  • Angular

Belirli sürümler ve destek düzeyleri hakkında ayrıntılı bilgi için destek programlarına bakın.

Bir kilit dosyası eksik olan bir Node.js uygulamasını dağıtmaya çalışırsanız App Hosting uygulamanızı oluşturup çalıştırmaz. Kök dizininizde npm install komutunu çalıştırarak package-lock.json oluşturabilirsiniz.

Topluluk tarafından desteklenen çerçeveler

App Hosting, Next.js ve Angular'ın yanı sıra çıkış paketi spesifikasyonumuza uygun bir derleme çıkışı sağlayabilen tüm web çerçevelerini de destekler. Çerçeve yazarları, çerçevelerinin App Hosting tarafından desteklenmesini sağlamak için çıkış paketi spesifikasyonundan yararlanabilir. Örneğin, popüler Nuxt çerçevesi, Nuxt uygulamasının App Hosting'da dağıtılmasını sağlamak için Firebase bağdaştırıcısı oluşturan Nitro ekibi tarafından desteklenir.

App Hosting tarafından desteklenen ek çerçeveleri görmek istiyorsanız bir çerçeve bağdaştırıcısı oluşturabilir veya derleme çıkışlarını App Hosting biçimine dönüştürmek için çerçeve bakımcılarına ulaşabilirsiniz. Next.js ve Angular bağdaştırıcıları, bağdaştırıcı oluşturan herkes için iyi birer referans örneğidir.

Topluluk tarafından desteklenen çerçevelerle ilgili bilgileri Firebase Açık Kaynak sayfasında bulabilirsiniz. Topluluk tarafından desteklenen çerçevelerle ilgili sorunlar ve özellik istekleri açık kaynak topluluğuna veya çerçeve yazarlarına yönlendirilmelidir. Bazı durumlarda Google yardımcı olabilir ancak bu bağdaştırıcılar için ilk destek hattı topluluktur.

App Hosting çerçeve adaptörleri

App Hosting, hem önceden yapılandırılmış hem de topluluk tarafından desteklenen çerçeveler için çerçeve bağdaştırıcıları aracılığıyla destek sağlar. App Hosting çerçeve bağdaştırıcılarının iki temel rolü vardır:

  • Kaynak kodunuzu ve çerçeveye özgü tüm yapılandırma dosyalarını (ör. next.config.js) ayrıştırıp App Hosting altyapısının geri kalanı tarafından işlenebilecek bir çıkış paketi oluştururlar.
  • Statik öğeler oluşturmak ve uygulamanızın üretim için optimize edilmiş bir sürümünü oluşturmak üzere uygulamanızın derleme komutunu çalıştırırlar.

Çerçeve bağdaştırıcıları, Node.js uygulamanızı npm run build ile oluşturur. Bu bağdaştırıcılar, her çerçeve için varsayılan derleme komut dosyalarıyla en iyi şekilde çalışır: Next.js için next build, Angular için ng build. App Hosting, özel derleme komutlarıyla derleme yapmaya çalışır ancak başarıyı güvenilir bir şekilde garanti edemez. apphosting.yaml'de derleme ve çalıştırma komut dosyalarını geçersiz kılabilirsiniz.

Next.js ve Angular bağdaştırıcılarının kaynağı firebase-framework-tools içinde bulunur.

App Hosting için çalışma süreleri

App Hosting tarafından oluşturulup kullanıma sunulduktan sonra Node.js uygulamanız Cloud Run düzeltmesinde çalışır. Bu nedenle, uygulamanızın çalışma zamanı sürümü hem Cloud Run'ın desteklenen aralığında hem de seçtiğiniz web çerçevesinin aralığında olmalıdır. Angular ve Next.js için önceden yapılandırılmış destek söz konusu olduğunda, aşağıdaki Node.js sürümlerinin desteklendiği anlamına gelir:

  • Next.js 13.5.x ve üzeri
  • Angular 18.2.x ve üzeri
  • Node.js 20 ve üzeri

App Hosting, yeni yayınlanan çerçeve sürümleri için otomatik olarak etkin destek sağlamaz. Şu anda belirlenen "etkin" sürümümüzden daha yeni olan sürümler, App Hosting için resmi olarak "etkin" olarak işaretlenene kadar "önizleme" durumunda kabul edilir.

App Hosting, büyük bir sürümün en son küçük sürümü için etkin destek döneminden itibaren bir yıl boyunca uzun süreli destek (LTS) sağlar. Bunun için söz konusu küçük sürümdeki en son yama sürümlerine düzenli olarak güncelleme yapmanız gerekir. Next.js ve Angular ile ilgili ayrıntılar için aşağıdaki tablolara bakın.

Next.js destek planı

Sürüm Durum Kullanımdan kaldırma
13.5.x lts 2026-10-9
14.2.x lts 2026-10-9
15.0.x etkin 2025-10-9 tarihinden önce değil
15.1.x etkin 2025-10-9 tarihinden önce değil
15.2.x etkin -

Angular destek programı

Sürüm Durum Kullanımdan kaldırma
18.2.x lts 2026-10-9
19.0.x etkin 2025-10-9 tarihinden önce değil
19.1.x etkin 2025-10-9 tarihinden önce değil
19.2.x etkin -

Otomatik temel resim güncellemeleri (ABIU)

Otomatik temel resim güncellemeleri (ABIU), yeni bir uygulama dağıtımı tetiklemenizi gerektirmeden temel çalışma zamanı ortamınıza güvenlik yamalarını otomatik olarak uygulayan bir özelliktir.

App Hosting, yeni arka uçlar için ABIU'nun etkinleştirilmesini varsayılan olarak ayarlar. Bu işlem için aşağıdaki özel şartlar geçerlidir:

  • Sürümlendirilmiş Çalışma Zamanları: ABIU'yu kullanmak için sürümlendirilmiş bir çalışma zamanı (ör. nodejs20, nodejs22, nodejs24) belirtmeniz gerekir. App Hosting, Cloud Run'ın desteğini yansıtarak çift numaralı Node.js sürümlerini destekler.
  • package.json eşleşmesi: App Hosting için seçtiğiniz Node sürümü, package.json dosyanızın engines alanında belirtilen sürümle uyumlu olmalıdır. Bir uyuşmazlık varsa Cloud Build tarafından derleme zamanı hatasıyla karşılaşırsınız. engines alanını her değiştirdiğinizde, dağıtım yapmadan önce arka uçunuzun çalışma zamanını güncellediğinizden emin olun.

ABIU'yu devre dışı bırakma

ABIU'yu devre dışı bırakmak isterseniz bu özelliği ilk katılım sırasında veya Firebase konsolunda çalışma zamanınız için "Belirtilmedi"'yi seçerek devre dışı bırakabilirsiniz. Sürüm içermeyen nodejs varsayılanı kullanıldığında ABIU otomatik olarak devre dışı bırakılır.

Çalışma Zamanı Sürümlerini Yönetme

Arka uçunuzun çalışma zamanı sürümünü ve ABIU tercihini App Hosting kontrol panelinizin Ayarlar sekmesinden istediğiniz zaman görüntüleyip değiştirebilirsiniz. Ancak yeni sürüm kodunuzla uyumlu değilse çalışma zamanı sürümünüzü değiştirmenin uygulamanızı bozabileceğini unutmayın.

Çalışma zamanı sürümleri, destek yaşam döngüsünün sonuna ulaşır. Değişikliklerin bozulmasını önlemek için çalışma zamanlarınızı güncel tutmanız önemlidir:

  • Desteği Sonlandırılan Çalışma Zamanları: Seçtiğiniz çalışma zamanının desteği sonlandırılırsa uygulamanız genellikle çalışmaya devam eder. Konsolda bir uyarı alırsınız ve en kısa sürede daha yeni bir sürüme geçmeniz gerekir. Daha fazla bilgi için Cloud Run çalışma zamanı yaşam döngüsü dokümanlarına bakın.
  • Hizmetten kaldırılan çalışma zamanları: Hizmetten kaldırılan çalışma zamanları tamamen desteklenmez. Hizmetten kaldırılan bir sürümü kullanarak yeni derlemeler veya arka uçlar oluşturmanıza izin verilmez ve bunu yapmaya çalışırsanız derleme hatası alırsınız. Hizmetten kaldırılan sürümlerde çalışan mevcut dağıtımlar durabilir ve Cloud Run bunları silme hakkını saklı tutar.

Desteklenen, desteği sonlandırılan ve hizmetten kaldırılan Node sürümlerinin tam listesi için Cloud Run Çalışma Zamanı Desteği dokümanlarına bakın. Temel resim güncellemelerinin nasıl çalıştığıyla ilgili daha fazla teknik ayrıntı için Cloud Run ABIU dokümanlarına bakın.

Paket yöneticileri

App Hosting, bağımlılıkların yüklenmesini yürütmek için Cloud Native Buildpacks'i kullanır ve uygulamayı npm, yarn veya pnpm kullanarak oluşturur. JSR gibi diğer paket yöneticileri desteklenmez.

NPM

  • NPM, varsayılan paket yöneticisidir.
  • Üretim dışı bağımlılıklar, derleme başarılı olduktan sonra budanır.
  • package.json dosyanızdaki engines.npm alanını kullanarak npm sürüm bölümünü belirtebilirsiniz.

Yumak

  • Projenize yarn.lock dosyasını dahil ettiğinizde Yarn kullanılır.
  • engines.yarn veya package.json dosyanızın packageManager alanında kullanılacak iplik sürümünü belirtebilirsiniz.
  • App Hosting, Yarn2 PnP modunu destekler.

Pnpm

  • Projenize pnpm-lock.yaml dosyasını dahil ettiğinizde bunun yerine Pnpm kullanılır.
  • package.json dosyanızın engines.pnpm veya packageManager alanında bir pnpm sürümü belirtebilirsiniz.
  • Çalışan bir örnek için sample-node-pnpm'ye bakın. görüntüleyin.

App Hosting için monorepo'lar

App Hosting, Nx tabanlı uygulamaları destekler. Ayrıntılı bilgi için Tek depolu sistemleri App Hosting ile kullanma başlıklı makaleyi inceleyin.

Aşağıdaki Nx sürümleri desteklenir:

Sürüm Durum Kullanımdan kaldırma
19.5.x bakım 2025-10-9
19.6.x bakım 2025-10-9
19.7.x bakım 2025-10-9
19.8.x lts 2026-10-9
20.0.x etkin 2025-10-9 tarihinden önce değil
20.1.x etkin 2025-10-9 tarihinden önce değil
20.2.x etkin 2025-10-9 tarihinden önce değil
20.3.x etkin 2025-10-9 tarihinden önce değil
20.4.x etkin 2025-10-9 tarihinden önce değil
20.5.x etkin 2025-10-9 tarihinden önce değil
20.6.x etkin 2025-10-9 tarihinden önce değil
20.7.x etkin

Diğer monorepo çalışma alanı türleri için desteğe ihtiyacınız varsa Firebase UserVoice'tan bize bildirin.