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'nın doğrudan desteklediği araçlar ve çerçeveler hakkında bilgi edinmek için bir referans 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 ç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 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 ürünler için sağlanır:

  • Next.js
  • Angular

Belirli sürümler ve destek düzeyleri hakkında ayrıntılı bilgi için destek planları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ırmada başarısız olur. 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 desteklendiğinden emin olmak için çıkış paketi spesifikasyonundan yararlanabilir. Örneğin, popüler Nuxt çerçevesi, Nitro ekibi tarafından desteklenir. Nitro ekibi, Nuxt uygulamalarının App Hosting'a dağıtılmasını sağlamak için bir Firebase bağdaştırıcısı oluşturmuştur.

App Hosting tarafından desteklenen ek çerçeveler 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ı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 açık kaynak topluluğuna veya çerçeve yazarlarına yönlendirilmelidir. 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.

Framework bağdaştırıcıları, Node.js uygulamanızı npm run build ile oluşturur ve her framework'ün 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 oluşturmaya ç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 adaptörlerinin kaynağı apphosting-adapters'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 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 ç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 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, bir ana 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 lts 2027-10-9
15.1.x lts 2027-10-9
15.2.x etkin 2026-10-9 tarihinden önce olmamalıdır.

Angular destek programı

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 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 koşullar karşılanmalıdır:

  • Sürüm Oluşturulmuş Çalışma Zamanları: ABIU'yu kullanmak için sürüm oluşturulmuş bir çalışma zamanı (ör. nodejs22 veya 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. 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 istiyorsanız 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ümsüz 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ü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. 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 çalışma zamanı yaşam döngüsü ile ilgili Cloud Run dokümanlarına bakın.
  • Devre dışı bırakılan çalışma zamanları: Devre dışı bırakılan çalışma zamanları tamamen desteklenmez. Devre dışı bırakılmış bir sürümü kullanarak yeni derlemeler veya arka uçlar oluşturmanıza izin verilmez. Bunu yapmaya çalıştığınızda derleme hatası gösterilir. Desteği sonlandı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 hizmetten kaldırılan Node sürümlerinin tam listesi için Cloud Run Çalışma Zamanı Desteği belgelerine bakın. Temel resim 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 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.
  • npm sürümü bölümünü package.json dosyanızdaki engines.npm alanını kullanarak belirtebilirsiniz.

Yumak

  • Projenize yarn.lock dosyasını eklediğinizde Yarn kullanılır.
  • package.json dosyanızın engines.yarn veya packageManager alanında kullanılacak yarn 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.
  • engines.pnpm veya packageManager alanında package.json dosyanızın bir pnpm sürümünü belirtebilirsiniz.
  • Çalışan bir örnek için sample-node-pnpm uygulamasını inceleyin.

App Hosting için monorepo'lar

App Hosting, Nx ve Turborepo monorepo uygulamalarını destekler. Ayrıntılı bilgi için Monorepo'ları 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
20.8.x lts 2027-10-9 tarihinden önce değil

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