S: Ama bu aynı zamanda, iş mantığını Angular2 web uygulamasında ön uca koymak zorunda olduğum anlamına geliyor, değil mi?
Evet. Bir sunucu tarafından desteklenmiyorsa, işletme bir yere uygulanmalıdır.
Google'ın satın alınmasından sonra Firebase, kendi arka uçlarını dağıtmayı göze alamayan (veya gerekmeyen) mobil uygulama geliştiricileri için bir platform haline geldi. Hizmetlerin çoğu oldukça çapraz olsa da, depolama, giriş, analitik ve mesaj hizmeti, bazı işlere özgü kuralları gerçekleştirmek için kullanılabilen Bulut İşlevleri (bir çeşit lambda) da sağladığı doğrudur . Ancak, kurumsal uygulamalar veya karmaşık bir etki alanı ve iş mantığına sahip büyük uygulamalar için bu tür destekler yetersiz kalır.
Tahmin edebileceğiniz gibi, Firebase bizi, işe özgü operasyonları barındırmaya ve yürütmeye yönelik arka uca sahip olmaktan muaf tutmuyor.
S: Peki gelecekte bir gün bir mobil uygulama ön ucu yapmak istersem, iş mantığı kodunu çoğaltmam gerekir mi?
Şart değil. Web uygulaması Açısal olarak oluşturulmuşsa, NativeScript gibi çapraz platformlar web bileşenlerini, kütüphaneleri, yardımcı programları, modelleri vb. Yeniden kullanmanıza izin verebilir. Konuya girmedim , böylece tam uyumluluğu sağlayamıyorum. Anahtar TypeScript üzerinde yer alır , hem Angular hem de NativeScript TS üzerinde kod yazmamızı gerektirir.
Mesele , Javascript'in dağıtımı ve versiyonlaması için nerede barındırılacağıdır . Bir kelime CDN .
S: Alternatif, iş mantığını içeren ve veri depolaması için Firebase'i kullanan bir arka uç oluşturmak olurdu, ancak bu biraz garip görünüyor (aynısını elde etmek için sadece bir ORM veya doğrudan arka ucumda bir şey kullanamadım daha fazla iş yapmadan sonuç?)
Bazı düşünceler.
Bir yandan, bir veritabanını barındırma, dağıtma, yönetme ve bakımını yapma küçük bir şey değildir. Güvenlik, ölçeklenebilirlik, kullanılabilirlik vb. İşlemlerden bahsetmiyorum. Bu günlerde veritabanımızın bulutta bir yere sahip olması çılgınca bir fikir değil. Tabii ki, bir banka için ara katman yazılımı ve arka uçlar uygulasaydık bunu önermem. Ancak müşterinin oturumu, kullanıcı profilleri, tercihleri ve genellikle müşteri tarafında yaşayan bu tür veriler veya umursamadığımız veriler için anlamlı olabilir.
Öte yandan, arka ucumuza sahip olmak basit bir nedenden dolayı yararlıdır, ayırma .
Müşterilerimizi, yönetmediğimiz ve kontrol etmediğimiz her türlü hizmetle eşleştirmek yerine, bunlara baktığımız sunucu tarafı bir uygulama dağıtırız, böylece müşterilerimiz hizmetlerin kapanması veya kırılması gibi konular hakkında endişelenmek zorunda kalmazlar değiştirir. Ek olarak, basitlik kazanıyoruz çünkü arka ucumuz bir cephe gibi davranıyor.
S: Örneğin Firebase'den yararlanmak isteyen insanlar genellikle bu tür uygulamaları nasıl yapılandırırlar?
Projeden projeye büyük farklılıklar gösterir. Örneğin, Firebase + arka ucu kullanıyoruz.
Firebase DB arasındaki payı verilerine cihazlar hesaplar-oturumları . Ayrıca bir değişiklik günlüğü olarak, arka ucumuz geçici olarak kullanılamadığında istemciler yazma işlemlerini günlüğe gönderir ve bu işlem daha sonra senkronize edilir.
Firebase Cloud Mesajları bize yukarı / aşağı push bildirimleri ve konuları sağlar. Hizmeti pub / sub message exchange için kullanıyoruz.
Firebase analizi Çoğunlukla metrikler için.
Kesinlikle iş ile ilgili her şey için arka uç