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 noktası olarak kullanın. Ayrıca, ilgili çerçeveler ve araçlar hakkında bilgi edinmek için de bu sayfadan yararlanabilirsiniz.
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ırmayı başaramaz. Kök dizininizde npm install
komutunu çalıştırarak package-lock.json
oluşturabilirsiniz.
Topluluk tarafından desteklenen çerçeveler
Next.js ve Angular'ın yanı sıra App Hosting, çıktı paketi spesifikasyonumuza uygun bir derleme çıktısı 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 uygulamaları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çeveler görmek isterseniz 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ıyla iletişime geçebilirsiniz. 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 bilgilere Firebase Open Source sayfasından ulaşabilirsiniz. Topluluk tarafından desteklenen çerçevelerle ilgili sorunlar ve özellik istekleri için açık kaynak topluluğuna veya çerçeve yazarlarına başvurulmalıdır. Bazı durumlarda Google yardımcı olabilir ancak bu adaptörler için ilk destek kaynağı topluluktur.
App Hosting çerçeve adaptörleri
App Hosting'da 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ğlanır. 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
ve 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'da mevcuttur.
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ı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 18 ve üzeri
App Hosting, yeni yayınlanan çerçeve sürümleri için otomatik olarak aktif destek sağlamaz. Şu anda "etkin" olarak belirlenen sürümden daha yeni sürümler, App Hosting için resmi olarak "etkin" olarak işaretlenene kadar "önizleme" durumunda kabul edilir.
App Hosting, ana sürümün en son küçük sürümünün etkin destek döneminden itibaren bir yıl boyunca uzun süreli destek (LTS) sunar. 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 | - |
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ızdakiengines.npm
alanını kullanarak npm sürüm bölümünü belirtebilirsiniz.
Yumak
- Projenize
yarn.lock
dosyasını dahil ettiğinizde bunun yerine Yarn kullanılır. engines.yarn
veyapackage.json
dosyanızınpackageManager
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ınengines.pnpm
veyapackageManager
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 üzerinden bize bildirin.