Talaan ng nilalaman[Tago][Ipakita]
Ang Backend-as-a-Service (BaaS) ay isang paradigm ng serbisyo kung saan ini-outsource ng mga developer ang mga behind-the-scenes na bahagi ng web o mobile development para makapag-focus sila sa pagbuo at pagpapanatili ng frontend sa plug-and-play na batayan at takasan ang pasanin ng pagsulat ng server-side code.
Ang software na sumusuporta sa mga gawain sa panig ng server tulad ng pagpapatunay, pangangasiwa ng database, real-time na pag-update, storage, pagho-host, at mga push alert ay ibinibigay ng mga platform ng BaaS (para sa mga mobile app).
Kahit na ang iba't ibang mga serbisyo ng backend ay pangunahing nagbibigay ng parehong solusyon, gumagamit sila ng mga natatanging teknolohiya ng backend. Ito ay isang mapagpasyang kadahilanan para sa maraming mga developer kapag pumipili ng pinakamahusay na serbisyo para sa isang partikular na proyekto.
Sa artikulong ito, sumisid tayo nang malalim sa Supabase.
Ano ang Supabase?
Supabase ay isang open-source na alternatibong Firebase na nag-aalok ng Backend bilang isang Serbisyo sa iba't ibang mga application. Ito ay talagang simple upang i-set up at mabilis na gumagana sa iba't ibang mga frameworks. Sinisingil ng Supabase ang sarili nito bilang isang open-source na kapalit para sa Firebase.
Nilalayon nitong makinabang ang mga developer sa mabilis na pag-set up ng kanilang backend. "Bumuo sa isang katapusan ng linggo, lumaki sa milyun-milyon," sabi ni Supabase.
Kasama sa mga produkto ng Supabase ang database ng Postgres at serbisyo sa pagpapatotoo, na may mga serbisyong imbakan at walang server (para sa backend logic) na ginagawa pa rin. Ang lahat ng mga tool nito ay halos libre at open-source. Kasama sa database ng Postgres ang mga tool na nauugnay sa database, tulad ng real-time na pagsubaybay sa mga pagbabago sa database at isang interface ng pamamahala.
Higit pa rito, nagbibigay ito ng mabilis na mga API at syntax na maihahambing sa Firebase. Binibigyang-daan ka nitong pangasiwaan ang mga gawain sa CRUD sa pare-parehong paraan, na nagbibigay-daan sa iyong tumuon sa paggawa sa halip na muling pagsulat ng paulit-ulit na CRUD code.
Ang database ng Postgres ay isang talahanayan na nagbibigay-daan sa iyong mag-imbak ng organisado at konektadong data sa parehong paraan na gagawin mo sa isang spreadsheet. Nakakagulat, kapag lumikha ka ng isang proyekto, maaari mong gamitin ang isang umiiral na spreadsheet bilang iyong database ng Postgres.
Paano gumagana ang Supabase?
Ang Supabase ay isang koleksyon ng mga libreng mapagkukunang teknolohiya. Gumagawa sila ng mga feature ng Firebase gamit ang enterprise-grade, open-source na mga solusyon. Kung available ang mga tool at komunidad sa ilalim ng MIT, Apache 2, o maihahambing na bukas na lisensya, gagamitin at susuportahan nila ang mga ito.
Kung wala pa ang tool, ginagawa nila ito at ginagawang available bilang open-source. Ang Supabase ay hindi isang 1:1 na pagmamapa ng Firebase. Ang kanilang layunin ay magbigay sa mga developer ng tulad ng Firebase na karanasan sa pag-develop gamit open source Teknolohiya.
Ang Supabase ay isang platform na naka-host. Maaari kang mag-sign up at simulang gamitin ito nang hindi kinakailangang mag-install ng kahit ano. Maaari ka ring mag-self-host at bumuo sa iyong sariling server.
- Ang PostgreSQL ay may mahusay na reputasyon para sa katatagan, tampok na katatagan, at bilis; Pagkatapos ng higit sa 30 taon ng aktibong pag-unlad,
- Ang Realtime ay isang Elixir server na nagbibigay-daan sa iyong makinig sa mga pagsingit, pag-update, at pagtanggal ng PostgreSQL gamit ang WebSockets. Nakikinig ang Supabase para sa mga kahilingan sa pagtitiklop mula sa Postgres, kino-convert ang replication byte stream sa JSON, at pagkatapos ay i-broadcast ang JSON sa pamamagitan ng WebSockets.
- Ang PostgREST ay isang web server na nagko-convert sa iyong database ng PostgreSQL sa isang RESTful API.
- Nagbibigay ang storage ng isang RESTful interface para sa pamamahala ng mga file na nakaimbak sa S3, kasama ang Postgres bilang rights manager.
- Ang Postgres-meta ay isang RESTful API para sa pangangasiwa ng mga Postgres na nagbibigay-daan sa iyong mag-download ng mga talahanayan, magtalaga ng mga responsibilidad, at magsagawa ng mga query, bukod sa iba pang mga bagay.
- Ang GoTrue ay isang SWT-based na API na nagbibigay-daan sa iyong pamahalaan ang mga user at magbigay ng mga token ng SWT.
- Ang Kong ay isang API gateway na tumatakbo sa cloud.
Pagsisimula
1. Proyekto
Sa Supabase, ang isang proyekto ay isang lalagyan para sa lahat ng iyong database, mga user ng pagpapatunay, mga panuntunan, mga talahanayan, at imbakan ng file.
Mayroong ilang mga lugar kung saan iho-host ang iyong proyekto, at ang mga administrator ng Supabase ay patuloy na nagdaragdag ng mga bagong site upang bawasan ang latency. Ang isang proyekto ay tumatagal ng humigit-kumulang 2 minuto upang magawa, kaya kumuha ng kape, umupo, at magpahinga.
2. Dashboard ng Proyekto
Kapag natapos na ang iyong proyekto, ipapakita sa iyo ang isang dashboard na katulad ng ipinapakita sa ibaba. Ipinapakita sa iyo ng dashboard na ito ang lahat ng kailangan mong malaman tungkol sa iyong proyekto, kabilang ang mga koneksyon sa database, mga kahilingan sa pagpapatunay, kapasidad ng storage, pagpapatupad ng client library, at higit pa.
3. Tagalikha at Editor ng Talahanayan
Ang database ng Supabase ay isang relational na PostgreSQL na may mga real-time na kakayahan at kontrol sa pag-access ng patakaran gamit ang Postgres RLS (Row Level Security). Maaaring gamitin ng mga developer ang dashboard ng Supabase para bumuo ng Table at magdagdag ng mga column at property. Maaaring baguhin ng mga developer ang data mula mismo sa dashboard gamit ang Supabase.
4. Pagpapatotoo
Available ang Google, GitHub, Facebook, Twitter, GitLab, at higit pang Authentication Provider sa Supabase. Maaaring i-on ang mga ito gamit ang Authentication Panel. Sinusuportahan din nito ang Phone OTP at Magic Link Authentication.
5. Imbakan
Ang Supabase ay isang open-source na object storage system na kayang hawakan ang anumang uri ng file at may built-in na scalability. Mayroon itong madaling gamitin na API na nagbibigay-daan sa mga custom na panuntunan at pahintulot. Ang pagsasama ng CDN, pati na rin ang auto-transformation at optimization (pagbabago ng laki at pag-compress ng iyong materyal), ay magiging available sa ilang sandali. Ang Supabase storage ay magiging isang mabigat na karibal sa Firebase storage na may kasamang mga kakayahan na ito.
Ano ang maaari mong itayo sa Supabase? (Ilang halimbawa)
1. Pagbabayad ng subscription kasama ang Supabase + Stripe + Next.js.
Ang kumpletong set ng starter para sa mga SaaS app na may mataas na performance.
- Nagbibigay ang Supabase ng secure na pangangasiwa at pagpapatunay ng user.
- Stripe Checkout at ang Stripe customer portal integration.
- Nagbibigay ang Supabase ng malakas na access sa data at mga tool sa pamamahala sa itaas ng PostgreSQL.
- Ang mga stripe webhook ay nagbibigay-daan sa awtomatikong pag-synchronize ng mga plano sa presyo at mga status ng subscription.
2. KeepLink: Simpleng serbisyo ng bookmark na may mga tag at archive
Ang KeepLink ay isang pangunahing serbisyo sa bookmark na may mga tag at archive na binuo gamit ang Supabase at Next.js. Wala itong anumang feature sa pagbabahagi ng social, ngunit maaari kang mag-host ng sarili mong instance.
- Awtomatikong mag-tag ng mga bagong bookmark batay sa mga umiiral nang tag.
- Fulltext na paghahanap para sa mga URL, Pamagat, Paglalarawan, Tag, at Nilalaman ng Archive salamat sa Supabase stack, pag-tag ng mga alias para sa mga database ng admin, at mapayapang pag-access sa API ay posible na ngayon.
- Sa metascraper, awtomatiko kang makakalap ng mga pamagat at paglalarawan para sa iyong mga pahina. Maaari mo ring i-archive ang iyong mga page gamit ang SinglePage at Headless Chrome.
3. Real-time na chat app kasama ang Supabase + React
- Para sa real-time na pagmemensahe, ang Supabase (sa itaas ng PostgreSQL) ay ginagamit.
- Gumagamit ang front-end ng React (CRA) + Vite
- Ang UI library na ginamit ay Chakra UI.
Pangunahing tampok
Narito ang ilan sa mga tampok ng Supabase:
- Isang dashboard/user interface para sa pag-set up at pangangasiwa sa iyong database sa loob ng wala pang isang minuto.
- Upang mag-sign up ng mga user at mag-update ng mga paghihigpit sa pag-access sa iyong database, ilapat ang pagpapatunay ng user.
- Mga API at isang JavaScript library.
- Mga tagapakinig ng database sa real-time.
- Ang Mga Pag-andar (medyo). Ito ay mga pamamaraang naka-imbak sa database na maaaring nakasulat sa SQL, JavaScript, Python, o Java.
Mga kalamangan
Nakikilala ng Supabase ang sarili sa mga sumusunod na dahilan:
- Sa kaibahan sa Firebase, maaari kang magpatakbo ng mga kumplikadong query o paghahanap ng teksto.
- Inaalagaan ka ng Supabase ang scaling para sa iyo (kahit gumagamit ito ng SQL database)
- Ang paglipat ng data ay simple sa Supabase dahil ginagamit nito ang PostgreSQL, at maaari kang mag-import ng data gamit ang a.sql file.
Kahinaan
Mayroong ilang mga disadvantages ng pag-ampon ng Supabase. Ang mga ito ay ang mga sumusunod:
- Para makatanggap ng mga real-time na pagbabago, dapat mong i-activate ang replication functionality para sa isang table.
- Kapag pinagana ang mga real-time na update, hindi nalalapat ang mga patakaran sa seguridad ng Supabase.
- Ang mga tampok ay limitado.
- Gumagana lamang ang SDK nito sa JavaScript (Ang suporta para sa iba pang mga wika ay nasa beta pa rin)
pagpepresyo
1. Libreng Tier
- Database na may 500 MB na espasyo sa imbakan at walang limitasyong mga tawag sa API
- Authentication – Hanggang 10,000 User
- Imbakan ng File – Hanggang 1 GB ng storage, na may buwanang mga limitasyon sa paglilipat na hanggang 2 GB.
2. Magbayad habang pupunta ka
- Database – $0.125 bawat GB ng storage, na walang limitasyon sa mga API call
- Awth – Walang limitasyon
- Imbakan ng File – Naka-imbak ng $0.021 bawat GB na may Data transfer na $0.07/GB
Para sa higit pang impormasyon sa pagpepresyo, maaari mong tingnan ang kanilang website.
Konklusyon
Ang Supabase ay ang pinakamahusay na open-source alternatibo sa Firebase ng Google. Dahil sa kapangyarihan ng PostgreSQL, nag-aalok ito ng iba't ibang mga kahanga-hangang tampok at walang anumang limitasyon sa uri ng data tulad ng ibang mga real-time na database system.
Maaari kang lumikha ng iba't ibang mga app gamit ang Supabase at ang mahuhusay na feature nito. Subukan ito ngayon!
Marcelo
Sa kaso ng isang B2B SaaS, posible bang magkaroon ng 1 master user bawat customer at iba pang N user na nauugnay sa master na ito na nakikitungo lang sa data mula sa customer na ito?