Taula de continguts[Amaga][Espectacle]
Backend-as-a-Service (BaaS) és un paradigma de servei en el qual els desenvolupadors subcontracten els components darrere de l'escenari del desenvolupament web o mòbil perquè es puguin centrar a crear i mantenir el front-end de manera plug-and-play i escapar de la càrrega d'escriure codi del servidor.
Les plataformes BaaS (per a aplicacions mòbils) proporcionen programari que admet tasques del costat del servidor, com ara autenticació, administració de bases de dades, actualització en temps real, emmagatzematge, allotjament i alertes push.
Tot i que diversos serveis de fons proporcionen fonamentalment la mateixa solució, utilitzen tecnologies de fons diferents. Aquest és un factor decisiu per a molts desenvolupadors a l'hora de triar el millor servei per a un projecte determinat.
En aquest article, ens endinsarem en Supabase.
Què és Supabase?
Supabase és una alternativa de codi obert a Firebase que ofereix Backend com a servei a una varietat d'aplicacions. És molt senzill de configurar i funciona ràpidament amb una varietat de marcs. Supabase es presenta com un substitut de codi obert de Firebase.
Té la intenció de beneficiar els desenvolupadors en la configuració ràpida del seu backend. "Construeix en un cap de setmana, creix fins a milions", diu Supabase.
Els productes de Supabase inclouen una base de dades Postgres i un servei d'autenticació, amb serveis d'emmagatzematge i sense servidor (per a la lògica de fons) encara en procés. Totes les seves eines són majoritàriament gratuïtes i de codi obert. La base de dades Postgres inclou eines relacionades amb la base de dades, com ara el seguiment en temps real de les modificacions de la base de dades i una interfície de gestió.
A més, proporciona API i sintaxi ràpides que són comparables a les de Firebase. Això us permet gestionar les tasques CRUD de manera coherent, la qual cosa us permet centrar-vos a crear en lloc de reescriure el codi CRUD repetit.
La base de dades Postgres és una taula que us permet emmagatzemar dades organitzades i connectades de la mateixa manera que ho faríeu en un full de càlcul. Sorprenentment, quan creeu un projecte, podeu utilitzar un full de càlcul existent com a base de dades de Postgres.
Com funciona Supabase?
Supabase és una col·lecció de tecnologies de codi lliure. Estan creant funcions de Firebase amb solucions de codi obert de grau empresarial. Si les eines i comunitats estan disponibles sota una llicència oberta MIT, Apache 2 o similar, les utilitzaran i les donaran suport.
Si l'eina encara no existeix, la creen i la posen a disposició com a de codi obert. Supabase no és un mapatge 1:1 de Firebase. El seu objectiu és oferir als desenvolupadors una experiència de desenvolupament semblant a Firebase de codi obert tecnologies.
Supabase és una plataforma allotjada. Podeu registrar-vos i començar a utilitzar-lo sense haver d'instal·lar res. També podeu allotjar-vos i crear-los al vostre propi servidor.
- PostgreSQL té una gran reputació d'estabilitat, robustesa de funcions i velocitat; Després de més de 30 anys de desenvolupament actiu,
- Realtime és un servidor Elixir que us permet escoltar insercions, actualitzacions i supressions de PostgreSQL mitjançant WebSockets. Supabase escolta les sol·licituds de rèplica de Postgres, converteix el flux de bytes de rèplica a JSON i després emet el JSON a través de WebSockets.
- PostgREST és un servidor web que converteix la vostra base de dades PostgreSQL en una API RESTful.
- L'emmagatzematge proporciona una interfície RESTful per gestionar fitxers emmagatzemats a S3, amb Postgres com a gestor de drets.
- Postgres-meta és una API RESTful per administrar Postgres que us permet descarregar taules, assignar responsabilitats i realitzar consultes, entre altres coses.
- GoTrue és una API basada en SWT que us permet gestionar usuaris i emetre fitxes SWT.
- Kong és una passarel·la d'API que s'executa al núvol.
Getting started
1. Projecte
A Supabase, un projecte és un contenidor per a totes les vostres bases de dades, usuaris d'autenticació, regles, taules i emmagatzematge de fitxers.
Hi ha diversos llocs per allotjar el vostre projecte i els administradors de Supabase estan afegint llocs nous constantment per reduir la latència. Un projecte triga uns 2 minuts a crear-se, així que preneu un cafè, asseieu-vos i relaxeu-vos.
2. Tauler del projecte
Quan finalitzi el projecte, se us presentarà un tauler de control similar al que es mostra a continuació. Aquest tauler us mostra tot el que necessiteu saber sobre el vostre projecte, incloses les connexions a la base de dades, les sol·licituds d'autenticació, la capacitat d'emmagatzematge, la implementació de la biblioteca de clients i molt més.
3. Creador i editor de taules
La base de dades de Supabase és un PostgreSQL relacional amb capacitats en temps real i control d'accés a polítiques mitjançant Postgres RLS (Row Level Security). Els desenvolupadors poden utilitzar el tauler de control de Supabase per construir una taula i afegir columnes i propietats. Els desenvolupadors poden modificar les dades directament des del tauler amb Supabase.
4. Autenticació
Google, GitHub, Facebook, Twitter, GitLab i més proveïdors d'autenticació estan disponibles a Supabase. Es poden activar mitjançant el panell d'autenticació. També és compatible amb Phone OTP i Magic Link Authentication.
5. Emmagatzematge
Supabase és un sistema d'emmagatzematge d'objectes de codi obert que pot gestionar qualsevol tipus de fitxer i té escalabilitat integrada. Té una API fàcil d'utilitzar que permet regles i permisos personalitzats. La integració de CDN, així com l'autotransformació i optimització (canviar la mida i comprimir el vostre material), estarà disponible en breu. L'emmagatzematge Supabase serà un rival formidable de l'emmagatzematge de Firebase amb la inclusió d'aquestes capacitats.
Què pots construir amb Supabase? (Alguns exemples)
1. Pagament de la subscripció amb Supabase + Stripe + Next.js.
El conjunt d'inici complet per a aplicacions SaaS d'alt rendiment.
- Supabase proporciona administració i autenticació d'usuaris segures.
- Stripe Checkout i la integració del portal de clients de Stripe.
- Supabase proporciona potents eines d'accés i gestió de dades a la part superior de PostgreSQL.
- Els webhooks de Stripe permeten la sincronització automàtica dels plans de preus i dels estats de subscripció.
2. KeepLink: Servei senzill d'adreces d'interès amb etiquetes i arxiu
KeepLink és un servei bàsic d'adreces d'interès amb etiquetes i un arxiu creat amb Supabase i Next.js. No té cap funció de compartició social, però podeu allotjar la vostra pròpia instància.
- Etiqueta les adreces d'interès noves automàticament en funció de les etiquetes existents.
- Ara és possible la cerca de text complet d'URL, títols, descripcions, etiquetes i contingut d'arxiu gràcies a la pila Supabase, l'etiquetatge d'àlies per a bases de dades d'administració i un accés tranquil a l'API.
- Amb metascraper, podeu reunir automàticament títols i descripcions per a les vostres pàgines. També podeu arxivar les vostres pàgines amb SinglePage i Headless Chrome.
3. Aplicació de xat en temps real amb Supabase + React
- Per a la missatgeria en temps real, s'utilitza Supabase (a sobre de PostgreSQL).
- El front-end utilitza React (CRA) + Vite
- La biblioteca d'IU utilitzada és Chakra UI.
Característiques clau
Aquestes són algunes de les característiques de Supabase:
- Un tauler de control/interfície d'usuari per configurar i administrar la vostra base de dades en menys d'un minut.
- Per registrar usuaris i actualitzar les restriccions d'accés a la vostra base de dades, apliqueu l'autenticació d'usuari.
- API i una biblioteca de JavaScript.
- Oients de bases de dades en temps real.
- Les funcions (una mica). Aquests són procediments emmagatzemats de bases de dades que es poden escriure en SQL, JavaScript, Python o Java.
pros
Supabase es distingeix pels següents motius:
- A diferència de Firebase, podeu executar consultes complicades o cerques de text.
- Supabase s'encarrega de l'escalat (tot i que utilitza una base de dades SQL)
- La migració de dades és senzilla amb Supabase, ja que aprofita PostgreSQL i podeu importar dades mitjançant un fitxer .sql.
Contres
Hi ha alguns desavantatges d'adoptar Supabase. Són els següents:
- Per rebre canvis en temps real, heu d'activar la funcionalitat de replicació d'una taula.
- Quan les actualitzacions en temps real estan habilitades, les polítiques de seguretat de Supabase no s'apliquen.
- Les funcions són limitades.
- El seu SDK només funciona amb JavaScript (el suport per a altres idiomes encara està en versió beta)
Preus
1. Nivell gratuït
- Base de dades amb 500 MB d'espai d'emmagatzematge i trucades d'API il·limitades
- Autenticació: fins a 10,000 usuaris
- Emmagatzematge de fitxers: fins a 1 GB d'emmagatzematge, amb limitacions de transferència mensuals de fins a 2 GB.
2. Paga segons vagis
- Base de dades: 0.125 dòlars per GB d'emmagatzematge, sense límits a les trucades a l'API
- Auth - Il·limitat
- Emmagatzematge de fitxers: dades emmagatzemades de 0.021 $ per GB amb una transferència de dades de 0.07 $ per GB
Per obtenir més informació sobre els preus, podeu consultar el seu lloc web.
Conclusió
Supabase és el millor codi obert alternativa a Firebase de Google. A causa de la potència de PostgreSQL, ofereix diverses característiques notables i no té cap limitació de tipus de dades com altres sistemes de bases de dades en temps real.
Podeu crear una varietat d'aplicacions utilitzant Supabase i les seves excel·lents funcions. Prova-ho avui!
Marcelo
En el cas d'un SaaS B2B, és possible tenir 1 usuari mestre per client i altres N usuaris relacionats amb aquest mestre que tracten només les dades d'aquest client?