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.
nodejs22veyanodejs24) 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.jsondosyanızınenginesalanında belirtilen sürümle uyumlu olmalıdır. Eşleşme yoksa Cloud Build tarafından derleme zamanı hatası alırsınız.enginesalanı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.jsondosyanızdakiengines.npmalanını kullanarak npm sürüm bölümünü belirtebilirsiniz.
Yumak
- Projenize
yarn.lockdosyasını eklediğinizde Yarn kullanılır. - Kullanılacak yarn sürümünü
package.jsondosyanızınengines.yarnveyapackageManageralanında belirtebilirsiniz. - App Hosting, Yarn2 PnP modunu destekler.
Pnpm
- Projenize
pnpm-lock.yamldosyasını eklediğinizde bunun yerine pnpm kullanılır. package.jsondosyanızınengines.pnpmveyapackageManageralanı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.