Backend-as-a-Service (BaaS) avser plattformar som tillhandahåller backend-tjänster, såsom datalagring, analyser, aviseringar, realtidsprenumerationer och autentisering, till mjukvaruapplikationer. BaaS-leverantörer minskar tiden som krävs för att utveckla en applikation, eftersom det eliminerar behovet av att bygga backend från grunden.
Några populära BaaS-leverantörer som stöder React-applikationer är AWS Amplify, Firebase och SupaBase.
AWS Amplify
AWS-tjänster kan vara knepiga att använda utan molnupplevelse. AWS Amplify lanserades 2017 och är ett bibliotek med öppen källkod som förenklar hur du interagerar med och integrerar AWS-tjänster i din app.
Det tillhandahåller tjänster som lagring, autentisering, GraphQL, REST API: er och push-meddelanden, bland annat. Det ger också ett enkelt sätt att lägga till AWS-resurser som Cognito, DynamoDB och ElasticSearch till en app utan att använda AWS-konsolen. Du kan använda CLI eller Admin UI för att komma åt Amplify.
Nyckelfunktioner hos AWS Amplify
- AWS Amplify arbetar med många ramverk och språk. För webbapplikationer stöder den populära JavaScript-ramverk och bibliotek som React, Angular och Vue. Den stöder även iOS och Android.
- Amplify integrerar Amazon Cognito för att stödja e-post/lösenordsautentisering, social autentisering med leverantörer som Facebook och Amazon, och multifaktorautentisering.
- Amplify låter dig lägga till GraphQL och REST API: er till din applikation. Du kan använda dessa API: er för att komma åt data från en datakälla som DynamoDB.
- Amplify låter dig använda S3 för att lagra och hantera mediefiler på enheten och i molnet.
- Amplify CLI gör att du kan skapa och distribuera lambda-funktioner. En lambdafunktion är en serverlös funktion som låter dig köra kod utan att tillhandahålla en server. Några vanliga användningsfall för lambda-funktioner inkluderar att skicka SMS-varningar när en händelse utlöses, skicka e-postmeddelanden och bildmanipulation som att skapa miniatyrer. Se AWS-dokumenten för mer vanliga användningsfall av lambdafunktioner.
- Det är billigt att komma igång. Du kan börja skapa din applikation i den kostnadsfria nivån som erbjuder de flesta av Amplifys funktioner. När den kostnadsfria perioden är slut kan du sedan betala för de specifika funktioner som du använde.
- Amplify minskar tiden till marknaden för mjukvaruapplikationer eftersom du inte behöver koda backend från början.
AWS Amplify riktar sig endast mot AWS Cloud. För Google Cloud bör du överväga Firebase.
Firebase
Firebase är en BaaS-plattform byggd på Google Cloud som tillhandahåller en hanterad backend-plattform för webb- och mobilapplikationer. Firebase erbjuder produkter som hjälper utvecklare att bygga backend-infrastrukturen, släppa och övervaka applikationen och interagera med användare.
Viktiga funktioner i Firebase
- Firebase stöder integration med iOS, webb och Android.
- Firebase har en Cloud Firestore-databas som är en NoSQL-databas som du kan använda för att lagra data för dina appar. Firebase tillhandahåller också en realtidsdatabas som låter dig lagra och synkronisera data mellan användare i realtid.
- Firebase låter dig lägga till tillägg till din app. Tillägg är förpackade kodpaket som lägger till mer funktionalitet till en app. Ett exempel på ett tillägg är Sök med Algolia, ett paket som möjliggör fulltextsökning i molnet Firestore-databasen med Algolia. Du kan se andra tillägg på förlängningsmarknaden.
- Du kan lägga till funktionalitet i din app genom att integrera Firebase med andra verktyg som Google Ads, Google Play, Jira och Slack.
- Firebase är byggt i Google Cloud, vilket gör att du enkelt kan skala din app.
- Spark-planen är gratis vilket hjälper utvecklare att enkelt komma igång med Firebase.
- De Firebase-autentisering tjänsten stöder användarautentisering med e-post och lösenord, telefonnummer och sociala autentiseringsleverantörer som Twitter och GitHub.
- Firebase-produkter som crashlytics, prestandaövervakning, Google Analytics och testlabb hjälper dig att hålla koll på din app prestanda.
Som du kan se har Firebase fantastiska funktioner, men det är inte öppen källkod och kan bara användas på Google Cloud. Om du vill ha ett alternativ med öppen källkod, prova Supabase.
Supabase
Supabase är en plattform som gör det möjligt för utvecklare att snabbt sätta upp en backend för sina applikationer. Varje projekt som skapas på Supabase är en Postgres-databas som är 100 % portabel vilket förenklar migreringen till och från Supabase. Databasen är realtidsaktiverad och du kan prenumerera och reagera på databasuppdateringar. Andra tjänster som tillhandahålls av Supabase är edge-funktioner, autentisering och automatiskt genererade API: er.
Nyckelfunktioner hos Supabase
- Supabase tillhandahåller en fullfjädrad Postgres-databas. Databasen är portabel och har inbyggd autentisering som du kan använda för att kontrollera användaråtkomst.
- Det erbjuder flera autentiseringsmetoder som sociala inloggningar med Google, Facebook och Twitter, e-post-/lösenordsautentisering och ett inbyggt användarhanteringssystem som du kan komma åt via ett API.
- Supabase stöder edge-funktioner som är serverlösa funktioner som körs nära användare över hela världen. Genom att använda edge-funktioner minskar du latensen och ökar kodexekveringshastigheterna.
- Den stöder också realtidsuppdateringar som låter dig lyssna på händelser i Postgres-databasen.
- Supabase och Firebase erbjuder liknande tjänster och den största skillnaden mellan dem är att Supabase är byggd på en PostgreSQL-databas, en relationsdatabas medan Firebase är baserad på en NoSQL-databas.
- Supabase prissättning baseras på mängden lagrad data vilket gör räkningar förutsägbara. Det kostnadsfria paketet ger dig redan upp till 500 MB databas och 1 GB fillagring och är perfekt för sidoprojekt. Om du behöver mer lagringsutrymme är nästa prisnivå $25 per månad.
- Du kan fråga en befintlig PostgreSQL-databas med GraphQL.
Vilken BaaS-plattform ska du använda?
Vilken plattform du väljer beror på behoven i projektet du arbetar med. Firebase är bra för icke-relationell data eftersom den använder en NoSQL-databas medan Supabase är ett bra val om du vill använda en relationsdatabas. Amplify, låter dig skapa en NoSQL-databas med stöd av DynamoDB eller S3, men du kan också använda en lambda-funktion för att ansluta till en relationsdatabas.
Dessutom, om du vill använda GraphQL API: er, välj Amplify eller Supabase eftersom Firebase inte stöder det.
Du bör också överväga din befintliga molnleverantör eftersom det kan vara lättare att använda en plattform som bygger på den leverantör du redan använder. Om du till exempel använder AWS kanske du föredrar Amplify eller Firebase om du använder Google Cloud. Supabase är ett bra alternativ om du hellre inte vill vara bunden till en specifik molnleverantör.
Hur BaaS-leverantörer hjälper dig att skicka snabbare
Hittills har du lärt dig om funktionerna i Amplify, Firebase och Supabase och några av faktorerna att tänka på när du väljer en BaaS-leverantör. Oavsett vilken plattform du väljer hjälper BaaS dig att spara utvecklingstid. Istället för att konfigurera databasen, bygga ett autentiseringssystem, ställa in analyser och andra backend-tjänster kan du fokusera på designen och frontend.