Hizmet Olarak Arka Uç (BaaS), yazılım uygulamalarına veri depolama, analitik, bildirimler, gerçek zamanlı abonelikler ve kimlik doğrulama gibi arka uç hizmetleri sağlayan platformları ifade eder. BaaS sağlayıcıları, arka ucu sıfırdan oluşturma ihtiyacını ortadan kaldırdığı için bir uygulama geliştirmek için gereken süreyi azaltır.
React uygulamalarını destekleyen bazı popüler BaaS sağlayıcıları AWS Amplify, Firebase ve SupaBase'dir.
AWS Yükseltme
AWS Hizmetlerini bulut deneyimi olmadan kullanmak zor olabilir. 2017'de kullanıma sunulan AWS Amplify, AWS hizmetleriyle etkileşim kurma ve uygulamanıza entegre etme biçiminizi basitleştiren açık kaynaklı bir kitaplıktır.
Diğerlerinin yanı sıra depolama, kimlik doğrulama, GraphQL, REST API'leri ve push bildirimleri gibi hizmetler sağlar. Ayrıca, AWS konsolunu kullanmadan bir uygulamaya Cognito, DynamoDB ve ElasticSearch gibi AWS kaynakları eklemenin basit bir yolunu sunar. Amplify'a erişmek için CLI'yi veya Yönetici kullanıcı arayüzünü kullanabilirsiniz.
AWS Amplify'ın Temel Özellikleri
- AWS Amplify, birçok çerçeve ve dille çalışır. Web uygulamaları için destekler popüler JavaScript çerçeveleri ve kitaplıkları React, Angular ve Vue gibi. Ayrıca iOS ve Android'i de destekler.
- Amplify, e-posta/parola kimlik doğrulamasını, Facebook ve Amazon gibi sağlayıcılarla sosyal kimlik doğrulamayı ve çok faktörlü kimlik doğrulamayı desteklemek için Amazon Cognito'yu entegre eder.
- Amplify, uygulamanıza GraphQL ve REST API'leri eklemenizi sağlar. DynamoDB gibi bir veri kaynağından verilere erişmek için bu API'leri kullanabilirsiniz.
- Amplify, medya dosyalarını cihazda ve bulutta depolamak ve yönetmek için S3'ü kullanmanızı sağlar.
- Amplify CLI, lambda işlevleri oluşturmanızı ve dağıtmanızı sağlar. Bir lambda işlevi, sunucusuz işlev bu, bir sunucu sağlamadan kod çalıştırmanıza olanak tanır. Lambda işlevleri için bazı yaygın kullanım durumları, bir olay tetiklendiğinde SMS uyarıları göndermeyi, e-posta göndermeyi ve küçük resimler oluşturma gibi görüntü işlemeyi içerir. Daha fazla bilgi için AWS belgelerine bakın Lambda fonksiyonlarının yaygın kullanım örnekleri.
- Başlamak ucuz. Amplify özelliklerinin çoğunu sunan ücretsiz katmanda uygulamanızı oluşturmaya başlayabilirsiniz. Ücretsiz süre sona erdiğinde, kullandığınız belirli özellikler için ödeme yapabilirsiniz.
- Amplify, arka ucu sıfırdan kodlamanız gerekmediği için yazılım uygulamalarının pazara çıkış süresini kısaltır.
AWS Amplify yalnızca AWS Cloud'u hedefler. Google Cloud için Firebase'i düşünmelisiniz.
Firebase
Firebase, web ve mobil uygulamalar için yönetilen bir arka uç platformu sağlayan, Google Cloud üzerinde oluşturulmuş bir BaaS platformudur. Firebase, geliştiricilerin arka uç altyapısını oluşturmasına, uygulamayı yayınlayıp izlemesine ve kullanıcılarla etkileşim kurmasına yardımcı olan ürünler sunar.
Firebase'in Temel Özellikleri
- Firebase, iOS, web ve Android ile entegrasyonu destekler.
- Firebase, uygulamalarınız için veri depolamak için kullanabileceğiniz bir NoSQL veritabanı olan bir Cloud Firestore veritabanına sahiptir. Firebase ayrıca, verileri kullanıcılar arasında gerçek zamanlı olarak depolamanıza ve senkronize etmenize izin veren gerçek zamanlı bir veritabanı da sağlar.
- Firebase, uygulamanıza uzantılar eklemenizi sağlar. Uzantılar, bir uygulamaya daha fazla işlevsellik ekleyen önceden paketlenmiş kod paketleridir. Bir uzantı örneği, Algolia kullanarak bulut Firestore veritabanında tam metin aramayı etkinleştiren bir paket olan Search with Algolia'dır. Diğer uzantıları şurada görebilirsiniz: uzatma pazarı.
- Firebase'i Google Ads, Google Play, Jira ve Slack gibi diğer araçlarla entegre ederek uygulamanıza işlevsellik ekleyebilirsiniz.
- Google Cloud'da yerleşik olan Firebase, uygulamanızı kolayca ölçeklendirmenize olanak tanır.
- Geliştiricilerin Firebase'i kolayca kullanmaya başlamasına yardımcı olan Spark planı ücretsizdir.
- bu Firebase kimlik doğrulaması hizmet, e-posta ve parolaları, telefon numaralarını ve Twitter ve GitHub gibi sosyal kimlik doğrulama sağlayıcılarını kullanarak kullanıcı kimlik doğrulamasını destekler.
- Crashlytics, performans izleme, Google Analytics ve test laboratuvarı gibi Firebase ürünleri, uygulamanızın performansını takip etmenize yardımcı olur.
Gördüğünüz gibi, Firebase'in harika özellikleri var, ancak açık kaynak değil ve yalnızca Google Cloud'da kullanılabiliyor. Açık kaynaklı bir alternatif istiyorsanız, Supabase'i deneyin.
supabase
Supabase, geliştiricilerin uygulamaları için hızlı bir şekilde arka uç oluşturmasını sağlayan bir platformdur. Supabase'de oluşturulan her proje, Supabase'e ve Supabase'den geçişi basitleştiren %100 taşınabilir bir Postgres veritabanıdır. Veritabanı gerçek zamanlı olarak etkinleştirilmiştir ve veritabanı güncellemelerine abone olabilir ve tepki verebilirsiniz. Supabase tarafından sağlanan diğer hizmetler uç işlevler, kimlik doğrulama ve otomatik oluşturulan API'lerdir.
Supabase'in Temel Özellikleri
- Supabase, eksiksiz bir Postgres veritabanı sağlar. Veritabanı taşınabilirdir ve kullanıcı erişimini kontrol etmek için kullanabileceğiniz yerleşik kimlik doğrulamaya sahiptir.
- Google, Facebook ve Twitter ile sosyal oturum açma, e-posta/şifre doğrulama ve bir API aracılığıyla erişebileceğiniz yerleşik bir kullanıcı yönetim sistemi gibi çoklu kimlik doğrulama yöntemleri sunar.
- Supabase, dünyanın dört bir yanındaki kullanıcılara yakın çalışan sunucusuz işlevler olan uç işlevlerini destekler. Edge işlevlerini kullanarak gecikmeyi azaltır ve kod yürütme hızlarını artırırsınız.
- Ayrıca, Postgres veritabanındaki olayları dinlemenizi sağlayan gerçek zamanlı güncellemeleri de destekler.
- Supabase ve Firebase benzer hizmetler sunar ve aralarındaki temel fark, Supabase'in ilişkisel bir veritabanı olan PostgreSQL veritabanı üzerine kurulu olması, Firebase'in ise NoSQL veritabanına dayalı olmasıdır.
- Supabase fiyatlandırması, depolanan veri miktarına dayalıdır ve bu da faturaları öngörülebilir kılar. Ücretsiz paket zaten size 500 MB'a kadar veri tabanı ve 1 GB dosya depolama alanı sağlıyor ve yan projeler için mükemmel. Daha fazla depolama alanına ihtiyacınız varsa, bir sonraki fiyatlandırma katmanı aylık 25 ABD dolarıdır.
- Mevcut bir PostgreSQL veritabanını GraphQL kullanarak sorgulayabilirsiniz.
Hangi BaaS Platformunu Kullanmalısınız?
Seçtiğiniz platform, üzerinde çalıştığınız projenin ihtiyaçlarına bağlıdır. Bir NoSQL veritabanı kullandığından Firebase ilişkisel olmayan veriler için harikadır, ilişkisel bir veritabanı kullanmak istiyorsanız Supabase iyi bir seçimdir. Amplify, DynamoDB veya S3 tarafından desteklenen bir NoSQL veritabanı oluşturmanıza olanak tanır, ancak ilişkisel bir veritabanına bağlanmak için bir lambda işlevi de kullanabilirsiniz.
Ek olarak, GraphQL API'lerini kullanmak istiyorsanız, Firebase desteklemediği için Amplify veya Supabase'i seçin.
Halihazırda kullandığınız sağlayıcı üzerine kurulu bir platformu kullanmayı daha kolay bulabileceğiniz için mevcut bulut sağlayıcınızı da göz önünde bulundurmalısınız. Örneğin AWS kullanıyorsanız Amplify'ı veya Google Cloud kullanıyorsanız Firebase'i tercih edebilirsiniz. Belirli bir bulut satıcısına bağlı kalmak istemiyorsanız, Supabase iyi bir seçenektir.
BaaS Sağlayıcıları Daha Hızlı Gönderim Yapmanıza Nasıl Yardımcı Olur?
Şimdiye kadar, Amplify, Firebase ve Supabase'in özelliklerini ve bir BaaS sağlayıcı seçerken dikkate alınması gereken bazı faktörleri öğrendiniz. Hangi platformu seçerseniz seçin BaaS, geliştirme süresinden tasarruf etmenize yardımcı olacaktır. Veritabanını yapılandırmak, bir kimlik doğrulama sistemi oluşturmak, analitik ve diğer arka uç hizmetlerini ayarlamak yerine tasarıma ve ön uca odaklanabilirsiniz.