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

Firebase App Hosting, özellikle çerçeve odaklı 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 için referans olarak kullanabilir, ilgili çerçeveler ve araçlar hakkında bilgi edinmek için başlangıç noktası olarak değerlendirebilirsiniz.

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 çerçeve bağdaştırıcısı bileşeni, belirli bir çerçevenin 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 dosyası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 destek sağlamaya devam eder. Firebase destek ekibi, sorun raporlarını ve özellik isteklerini kabul edebilir.

Bu destek düzeyi şunlar için sağlanır:

  • Next.js
  • Angular

Belirli sürümler ve destek seviyeleri hakkında ayrıntılı bilgi için destek takvimlerine bakın.

Kilit dosyası eksik olan bir Node.js uygulamasını dağıtmaya çalışırsanız App Hosting, uygulamanızı derleyip çalıştıramaz. Kök dizininizde npm install komutunu çalıştırarak package-lock.json dosyasını 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, App Hosting üzerinde Nuxt uygulaması dağıtımını etkinleştirmek için Firebase bağdaştırıcısı oluşturan Nitro ekibi tarafından desteklenir.

App Hosting tarafından desteklenen başka çerçeveler görmek isterseniz bir çerçeve adaptörü oluşturabilir veya derleme çıktılarını App Hosting biçimine dönüştürmek için çerçevenin bakımını yapan kişilerle iletişime geçebilirsiniz. Next.js ve Angular adaptörleri, adaptör oluşturan herkes için iyi birer referans örneğidir.

Topluluk tarafından desteklenen çerçeveler hakkında 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 bağdaştırıcıları

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 sunar. App Hosting çerçeve bağdaştırıcılarının iki önemli rolü vardır:

  • Kaynak kodunuzu ve çerçeveye özgü yapılandırma dosyalarını (ör. next.config.js) ayrıştırır ve App Hosting altyapısının geri kalanı tarafından işlenebilecek bir çıkış paketi oluşturur.
  • 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 derler ve her çerçeve için varsayılan derleme komut dosyalarıyla en iyi şekilde çalışır: Next.js için next build ve Angular için ng build. App Hosting, özel derleme komutlarıyla derleme yapmayı dener ancak başarıyı güvenilir bir şekilde garanti edemez. apphosting.yaml içinde 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ğı apphosting-adapters sayfasında bulunabilir.

App Hosting için çalışma zamanları

App Hosting tarafından derlenip kullanıma sunulduktan sonra Node.js uygulamanız bir Cloud Run düzeltmesinde çalışır. Bu nedenle, uygulamanızın çalışma zamanı sürümü hem Cloud Run tarafından desteklenen aralıkta 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, aşağıdaki çerçeve ve Node.js sürümlerinin desteklendiği anlamına gelir:

  • Next.js 13.5.x ve sonraki sürümler
  • Angular 18.2.x ve üzeri
  • Node.js 22 ve sonraki sürümler

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

App Hosting, bir ana sürümün en son alt sürümü için uzun süreli desteği (LTS), etkin destek döneminden itibaren bir yıl boyunca sağlar. Bunun için, ilgili alt sürümdeki en son yama sürümlerine tutarlı bir şekilde 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 lts 2027-10-9
15.1.x lts 2027-10-9
15.2.x etkin 9 Ekim 2026'dan önce değil

Angular destek planı

Sürüm Durum Kullanımdan Kaldırma
18.2.x lts 2026-10-9
19.0.x lts 2027-10-9
19.1.x lts 2027-10-9
19.2.x etkin -

Otomatik Temel Görüntü Güncellemeleri (ABIU)

Otomatik Temel Görüntü Güncellemeleri (ABIU), yeni bir uygulama sunumu tetiklemenize gerek kalmadan 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'yu varsayılan olarak etkinleştirir. Bu durumda aşağıdaki şartlar geçerlidir:

  • Sürümlü çalışma zamanları: ABIU'yu kullanmak için sürümlü bir çalışma zamanı (ör. nodejs22 veya nodejs24) belirtmeniz gerekir. App Hosting, Cloud Run'in 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. Eşleşme yoksa Cloud Build tarafından derleme zamanı hatası alırsınız. engines alanını her değiştirdiğinizde, dağıtımdan önce arka ucunuzun çalışma zamanını güncellediğinizden emin olun.

ABIU devre dışı bırakılıyor

ABIU'yu devre dışı bırakmak istiyorsanız ilk katılım sırasında veya Firebase konsolunda çalışma zamanınız için "Belirtilmedi" seçeneğini belirleyerek devre dışı bırakabilirsiniz. Sürüm bilgisi içermeyen varsayılan bir nodejs kullanıldığında ABIU otomatik olarak devre dışı bırakılır.

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

Arka ucunuzun çalışma zamanı sürümünü ve ABIU tercihini istediğiniz zaman App Hosting kontrol panelinizin Ayarlar sekmesinde görüntüleyebilir ve 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ülerinin sonuna ulaşır. Zarar veren değişikliklerden kaçınmak 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 çalışma zamanı yaşam döngüsü ile ilgili Cloud Run belgelerine bakın.
  • Kullanımdan kaldırılan çalışma zamanları: Kullanımdan kaldırılan çalışma zamanları tamamen desteklenmez. Kullanımdan kaldırılan bir sürümü kullanarak yeni derlemeler veya arka uçlar oluşturmanıza izin verilmez. Bunu yapmaya çalışırsanız derleme hatası alırsınız. Kullanımdan kaldırılan sürümlerde çalışan mevcut dağıtımlar çalışmayı durdurabilir ve Cloud Run bunları silme hakkını saklı tutar.

Desteklenen, desteği sonlandırılan ve kullanımdan kaldırılan Node sürümlerinin tam listesi için Cloud Run Çalışma Zamanı Desteği belgelerine bakın. Temel görüntü güncellemelerinin işleyiş şekliyle ilgili daha fazla teknik bilgi için Cloud Run ABIU belgelerine 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 derler. 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 kaldırılı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ı eklediğinizde Yarn kullanılır.
  • Kullanılacak yarn sürümünü package.json dosyanızın engines.yarn veya packageManager alanında belirtebilirsiniz.
  • App Hosting, Yarn2 PnP modunu destekler.

Pnpm

  • Projenize pnpm-lock.yaml dosyasını eklediğinizde bunun yerine pnpm kullanılır.
  • package.json dosyanızın engines.pnpm veya packageManager alanında pnpm sürümünü belirtebilirsiniz.
  • Çalışan bir örnek için sample-node-pnpm uygulamasına bakın.

App Hosting için monorepo'lar

App Hosting, Nx ve Turborepo monorepo uygulamalarını destekler. Ayrıntılı bilgi için App Hosting ile monorepo kullanma başlıklı makaleyi inceleyin.

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

Sürüm Durum Kullanımdan Kaldırma
20.8.x lts 9 Ekim 2027'den önce değil

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