Backend-as-a-Service (BaaS) označuje platformy, které softwarovým aplikacím poskytují backendové služby, jako je ukládání dat, analýzy, upozornění, předplatné v reálném čase a ověřování. Poskytovatelé BaaS zkracují čas potřebný k vývoji aplikace, protože eliminuje potřebu budovat backend od začátku.
Někteří populární poskytovatelé BaaS, kteří podporují aplikace React, jsou AWS Amplify, Firebase a SupaBase.
AWS Amplify
AWS Services může být obtížné používat bez zkušeností s cloudem. AWS Amplify, která byla spuštěna v roce 2017, je knihovna s otevřeným zdrojovým kódem, která zjednodušuje interakci a integraci služeb AWS do vaší aplikace.
Poskytuje mimo jiné služby jako úložiště, ověřování, GraphQL, REST API a push notifikace. Poskytuje také jednoduchý způsob přidávání zdrojů AWS, jako jsou Cognito, DynamoDB a ElasticSearch, do aplikace bez použití konzoly AWS. Pro přístup k Amplify můžete použít CLI nebo Admin UI.
Klíčové vlastnosti AWS Amplify
- AWS Amplify pracuje s mnoha frameworky a jazyky. U webových aplikací podporuje populárních frameworků a knihoven JavaScriptu jako React, Angular a Vue. Podporuje také iOS a Android.
- Amplify integruje Amazon Cognito pro podporu ověřování e-mailem/heslem, sociální ověřování u poskytovatelů, jako je Facebook a Amazon, a vícefaktorové ověřování.
- Amplify vám umožňuje přidat do aplikace rozhraní GraphQL a REST API. Tato rozhraní API můžete použít k přístupu k datům ze zdroje dat, jako je DynamoDB.
- Amplify vám umožňuje používat S3 k ukládání a správě mediálních souborů na zařízení a v cloudu.
- Amplify CLI vám umožňuje vytvářet a nasazovat funkce lambda. Funkce lambda je a funkce bez serveru který vám umožňuje spouštět kód bez zajišťování serveru. Některé běžné případy použití funkcí lambda zahrnují odesílání upozornění SMS při spuštění události, odesílání e-mailů a manipulaci s obrázky, jako je vytváření miniatur. Další informace naleznete v dokumentaci AWS běžné případy použití funkcí Lambda.
- Začít je levné. Svou aplikaci můžete začít vytvářet v bezplatné vrstvě, která nabízí většinu funkcí Amplify. Jakmile bezplatné období skončí, můžete zaplatit za konkrétní funkce, které jste používali.
- Amplify zkracuje dobu uvedení softwarových aplikací na trh, protože nepotřebujete kódovat backend od začátku.
AWS Amplify cílí pouze na AWS Cloud. V případě Google Cloud byste měli zvážit Firebase.
Firebase
Firebase je platforma BaaS postavená na Google Cloud, která poskytuje spravovanou backendovou platformu pro webové a mobilní aplikace. Firebase nabízí produkty, které pomáhají vývojářům budovat backendovou infrastrukturu, vydávat a monitorovat aplikace a komunikovat s uživateli.
Klíčové vlastnosti Firebase
- Firebase podporuje integraci s iOS, webem a Androidem.
- Firebase má databázi Cloud Firestore, což je databáze NoSQL, kterou můžete použít k ukládání dat pro své aplikace. Firebase také poskytuje databázi v reálném čase, která umožňuje ukládat a synchronizovat data mezi uživateli v reálném čase.
- Firebase umožňuje přidávat do aplikace rozšíření. Rozšíření jsou předem zabalené balíčky kódu, které aplikaci přidávají další funkce. Příkladem rozšíření je Search with Algolia, balíček umožňující fulltextové vyhledávání v cloudové databázi Firestore pomocí Algolia. Další rozšíření můžete vidět na tržiště rozšíření.
- Do své aplikace můžete přidat funkce integrací Firebase s dalšími nástroji, jako jsou Google Ads, Google Play, Jira a Slack.
- Firebase je zabudována ve službě Google Cloud, což vám umožňuje snadno škálovat vaši aplikaci.
- Plán Spark je zdarma, což vývojářům pomáhá snadno začít s Firebase.
- The Ověření Firebase služba podporuje ověřování uživatelů pomocí e-mailu a hesel, telefonních čísel a poskytovatelů sociálního ověřování, jako jsou Twitter a GitHub.
- Produkty Firebase, jako jsou crashlytics, sledování výkonu, Google Analytics a testovací laboratoř, vám pomohou sledovat výkon vaší aplikace.
Jak můžete vidět, Firebase má skvělé funkce, ale není to open source a lze jej použít pouze na Google Cloud. Pokud chcete open-source alternativu, zkuste Supabase.
Supabase
Supabase je platforma, která umožňuje vývojářům rychle nastavit backend pro jejich aplikace. Každý projekt vytvořený na Supabase je Postgres databáze, která je 100% přenosná, což zjednodušuje migraci do a ze Supabase. Databáze je povolena v reálném čase a můžete se přihlásit a reagovat na aktualizace databáze. Dalšími službami poskytovanými Supabase jsou okrajové funkce, autentizace a automaticky generovaná API.
Klíčové vlastnosti Supabase
- Supabase poskytuje plnohodnotnou databázi Postgres. Databáze je přenosná a má vestavěné ověření, které můžete použít k řízení přístupu uživatelů.
- Nabízí několik metod ověřování, jako je sociální přihlášení s Google, Facebook a Twitter, ověřování e-mailem / heslem a vestavěný systém správy uživatelů, ke kterému můžete přistupovat prostřednictvím rozhraní API.
- Supabase podporuje okrajové funkce, což jsou funkce bez serveru, které běží blízko uživatelům po celém světě. Použitím okrajových funkcí snížíte latenci a zvýšíte rychlost provádění kódu.
- Podporuje také aktualizace v reálném čase, které vám umožní poslouchat události v databázi Postgres.
- Supabase a Firebase nabízejí podobné služby a hlavní rozdíl mezi nimi je, že Supabase je postavena na databázi PostgreSQL, relační databázi, zatímco Firebase je založena na databázi NoSQL.
- Ceny Supabase jsou založeny na množství uložených dat, díky kterým jsou účty předvídatelné. Bezplatný balíček vám již poskytuje až 500 MB databáze a 1 GB úložiště souborů a je ideální pro vedlejší projekty. Pokud potřebujete větší úložiště, další cenová úroveň je 25 $ měsíčně.
- Můžete se dotazovat na existující PostgreSQL databázi pomocí GraphQL.
Kterou platformu BaaS byste měli používat?
Platforma, kterou si vyberete, závisí na potřebách projektu, na kterém pracujete. Firebase je skvělá pro nerelační data, protože používá databázi NoSQL, zatímco Supabase je dobrá volba, pokud chcete používat relační databázi. Amplify vám umožňuje vytvořit databázi NoSQL podporovanou DynamoDB nebo S3, ale můžete také použít funkci lambda pro připojení k relační databázi.
Navíc, pokud chcete používat GraphQL API, zvolte Amplify nebo Supabase, protože Firebase je nepodporuje.
Měli byste také zvážit svého stávajícího poskytovatele cloudu, protože může být snazší používat platformu postavenou na poskytovateli, kterého již používáte. Pokud například používáte AWS, můžete preferovat Amplify nebo Firebase, pokud používáte Google Cloud. Supabase je dobrá volba, pokud nechcete být vázáni na konkrétního dodavatele cloudu.
Jak vám poskytovatelé BaaS pomohou doručit rychleji
Doposud jste se dozvěděli o funkcích Amplify, Firebase a Supabase a některých faktorech, které je třeba vzít v úvahu při výběru poskytovatele BaaS. Bez ohledu na platformu, kterou si vyberete, vám BaaS pomůže ušetřit čas na vývoj. Namísto konfigurace databáze, budování ověřovacího systému, nastavování analytiky a dalších backendových služeb se můžete soustředit na návrh a frontend.