Змест[Схаваць][Паказаць]
Backend-as-a-Service (BaaS) - гэта парадыгма паслуг, у якой распрацоўшчыкі аутсорсінгуюць закулісныя кампаненты вэб- або мабільнай распрацоўкі, каб яны маглі засяродзіцца на стварэнні і абслугоўванні інтэрфейсу па прынцыпе "падключы і працуй" і пазбавіцца ад цяжару напісання сервернага кода.
Праграмнае забеспячэнне, якое падтрымлівае серверныя задачы, такія як аўтэнтыфікацыя, адміністраванне баз дадзеных, абнаўленне ў рэальным часе, захоўванне, хостынг і push-абвесткі, забяспечваецца платформамі BaaS (для мабільных праграм).
Нягледзячы на тое, што розныя бэкэнд-сэрвісы па сутнасці забяспечваюць аднолькавае рашэнне, яны выкарыстоўваюць розныя бэкэнд-тэхналогіі. Гэта вырашальны фактар для многіх распрацоўшчыкаў пры выбары лепшага сэрвісу для пэўнага праекта.
У гэтым артыкуле мы глыбока паглыбімся ў Supabase.
Што такое Супабаза?
Супабаза з'яўляецца альтэрнатывай Firebase з адкрытым зыходным кодам, якая прапануе Backend як паслугу для розных прыкладанняў. Яго вельмі проста наладзіць і ён хутка працуе з рознымі фрэймворкамі. Supabase называе сябе заменай Firebase з адкрытым зыходным кодам.
Ён мае намер прынесці карысць распрацоўшчыкам у хуткай наладзе бэкэнда. «Пабудуйце за выхадныя, вырасціце да мільёнаў», — кажа Supabase.
Прадукты Supabase ўключаюць базу дадзеных Postgres і службу аўтэнтыфікацыі, а службы захоўвання і бессерверныя службы (для бэкэнд-логікі) усё яшчэ знаходзяцца ў распрацоўцы. Усе яго інструменты ў асноўным бясплатныя і з адкрытым зыходным кодам. База дадзеных Postgres уключае інструменты, звязаныя з базамі дадзеных, такія як маніторынг мадыфікацый базы дадзеных у рэальным часе і інтэрфейс кіравання.
Акрамя таго, ён забяспечвае хуткія API і сінтаксіс, супастаўныя з Firebase. Гэта дазваляе вам паслядоўна апрацоўваць задачы CRUD, што дазваляе засяродзіцца на стварэнні, а не на перапісванні паўтаральнага кода CRUD.
База даных Postgres - гэта табліца, якая дазваляе захоўваць упарадкаваныя і звязаныя даныя гэтак жа, як і ў электроннай табліцы. Дзіўна, але калі вы ствараеце праект, вы можаце выкарыстоўваць існуючую электронную табліцу ў якасці базы дадзеных Postgres.
Як працуе Supabase?
Supabase - гэта набор бясплатных зыходных тэхналогій. Яны ствараюць функцыі Firebase з дапамогай рашэнняў карпаратыўнага ўзроўню з адкрытым зыходным кодам. Калі інструменты і суполкі даступныя пад адкрытай ліцэнзіяй MIT, Apache 2 або падобнай, яны будуць выкарыстоўваць і падтрымліваць іх.
Калі інструмент яшчэ не існуе, яны ствараюць яго і робяць даступным як з адкрытым зыходным кодам. Supabase не з'яўляецца супастаўленнем Firebase 1:1. Іх мэта складаецца ў тым, каб даць распрацоўшчыкам вопыт распрацоўкі, падобны на Firebase з адкрытым зыходным кодам тэхналогіі.
Supabase - гэта платформа, якая размяшчаецца. Вы можаце зарэгістравацца і пачаць выкарыстоўваць яго без неабходнасці ўсталёўваць што-небудзь. Вы таксама можаце самастойна размяшчаць і будаваць на ўласным серверы.
- PostgreSQL мае выдатную рэпутацыю стабільнасці, надзейнасці функцый і хуткасці; Пасля больш чым 30 гадоў актыўнага развіцця,
- Realtime - гэта сервер Elixir, які дазваляе праслухоўваць устаўкі, абнаўленні і выдаленні PostgreSQL з дапамогай WebSockets. Supabase праслухоўвае запыты на рэплікацыю ад Postgres, пераўтварае паток байтаў рэплікацыі ў JSON, а затым транслюе JSON праз WebSockets.
- PostgREST - гэта вэб-сервер, які пераўтворыць вашу базу дадзеных PostgreSQL у RESTful API.
- Storage забяспечвае інтэрфейс RESTful для кіравання файламі, якія захоўваюцца ў S3, з Postgres у якасці менеджэра правоў.
- Postgres-meta - гэта RESTful API для адміністравання Postgres, які дазваляе спампоўваць табліцы, прызначаць абавязкі і выконваць запыты, сярод іншага.
- GoTrue - гэта API на аснове SWT, які дазваляе кіраваць карыстальнікамі і выдаваць токены SWT.
- Kong - гэта шлюз API, які працуе ў воблаку.
Прыступаючы да працы
1. Праект
У Supabase праект - гэта кантэйнер для ўсіх вашых баз дадзеных, карыстальнікаў аўтэнтыфікацыі, правілаў, табліц і сховішча файлаў.
Ёсць некалькі месцаў для размяшчэння вашага праекта, і адміністратары Supabase пастаянна дадаюць новыя сайты, каб паменшыць затрымку. Стварэнне праекта займае каля 2 хвілін, таму выпіце кавы, сядзьце і адпачніце.
2. Панэль кіравання праектам
Калі ваш праект будзе завершаны, вам будзе прадстаўлена прыборная панэль, падобная да той, што паказана ніжэй. Гэтая прыборная панэль паказвае вам усё, што вам трэба ведаць аб вашым праекце, у тым ліку падключэнні да базы дадзеных, запыты аўтэнтыфікацыі, ёмістасць захоўвання, рэалізацыю кліенцкай бібліятэкі і многае іншае.
3. Стваральнік і рэдактар табліц
База даных Supabase - гэта рэляцыйная PostgreSQL з магчымасцямі ў рэжыме рэальнага часу і палітыкай кантролю доступу з дапамогай Postgres RLS (Бяспека на ўзроўні радкоў). Распрацоўшчыкі могуць выкарыстоўваць прыборную панэль Supabase для стварэння табліцы і дадання слупкоў і ўласцівасцей. Распрацоўшчыкі могуць змяняць даныя прама з прыборнай панэлі з дапамогай Supabase.
4. Аўтэнтыфікацыя
Google, GitHub, Facebook, Twitter, GitLab і іншыя пастаўшчыкі аўтэнтыфікацыі даступныя на Supabase. Іх можна ўключыць з дапамогай панэлі аўтэнтыфікацыі. Ён таксама падтрымлівае Phone OTP і Magic Link Authentication.
5. захоўванне
Supabase - гэта сістэма захоўвання аб'ектаў з адкрытым зыходным кодам, якая можа апрацоўваць файлы любога тыпу і мае ўбудаваную маштабаванасць. Ён мае просты ў выкарыстанні API, які дазваляе карыстальніцкія правілы і дазволы. Інтэграцыя CDN, а таксама аўтаматычная трансфармацыя і аптымізацыя (змена памеру і сцісканне вашага матэрыялу) будуць даступныя ў бліжэйшы час. З уключэннем гэтых магчымасцей сховішча Supabase стане грозным супернікам сховішча Firebase.
Што можна пабудаваць з дапамогай Supabase? (Некалькі прыкладаў)
1. Аплата падпіскі з Supabase + Stripe + Next.js.
Поўны стартавы набор для высокапрадукцыйных праграм SaaS.
- Supabase забяспечвае бяспечнае адміністраванне і аўтэнтыфікацыю карыстальнікаў.
- Інтэграцыя Stripe Checkout і партала кліентаў Stripe.
- Supabase забяспечвае магутны доступ да дадзеных і інструменты кіравання на аснове PostgreSQL.
- Вэб-хукі Stripe дазваляюць аўтаматычна сінхранізаваць цэнавыя планы і статусы падпіскі.
2. KeepLink: Просты сэрвіс закладак з тэгамі і архівам
KeepLink - гэта асноўны сэрвіс закладак з тэгамі і архівам, створаным з дапамогай Supabase і Next.js. Ён не мае функцый абмену ў сацыяльных сетках, але вы можаце размясціць свой уласны асобнік.
- Аўтаматычна пазначайце новыя закладкі на аснове існуючых тэгаў.
- Цяпер магчымы паўнатэкставы пошук URL-адрасоў, загалоўкаў, апісанняў, тэгаў і архіўнага змесціва дзякуючы стэку Supabase, пазначэнні псеўданімаў для баз даных адміністратараў і спакойнаму доступу API.
- З дапамогай metascraper вы можаце аўтаматычна збіраць загалоўкі і апісанні для сваіх старонак. Вы таксама можаце архіваваць свае старонкі з дапамогай SinglePage і Headless Chrome.
3. Прыкладанне для чата ў рэжыме рэальнага часу з Supabase + React
- Для абмену паведамленнямі ў рэжыме рэальнага часу выкарыстоўваецца Supabase (паверх PostgreSQL).
- Пярэдні канец выкарыстоўвае React (CRA) + Vite
- Бібліятэка карыстальніцкага інтэрфейсу выкарыстоўваецца Chakra UI.
асноўныя характарыстыкі
Вось некаторыя асаблівасці Supabase:
- Прыборная панэль/карыстальніцкі інтэрфейс для наладжвання і адміністравання базы дадзеных менш чым за хвіліну.
- Каб зарэгістраваць карыстальнікаў і абнавіць абмежаванні доступу ў вашай базе дадзеных, прымяніце аўтэнтыфікацыю карыстальнікаў.
- API і бібліятэка JavaScript.
- Слухачы базы даных у рэжыме рэальнага часу.
- Функцыі (накшталт). Гэта захаваныя працэдуры базы дадзеных, якія могуць быць напісаны на SQL, JavaScript, Python або Java.
Прафесіяналы
Supabase адрознівае сябе па наступных прычынах:
- У адрозненне ад Firebase, вы можаце запускаць складаныя запыты або тэкставы пошук.
- Supabase клапоціцца аб маштабаванні за вас (нават калі ён выкарыстоўвае базу дадзеных SQL)
- Перанос даных просты з дапамогай Supabase, паколькі ён выкарыстоўвае PostgreSQL, і вы можаце імпартаваць даныя з дапамогай файла a.sql.
мінусы
Ёсць некаторыя недахопы прыняцця Supabase. Яны наступныя:
- Каб атрымліваць змены ў рэжыме рэальнага часу, вы павінны актываваць функцыянальнасць рэплікацыі для табліцы.
- Калі ўключаны абнаўленні ў рэжыме рэальнага часу, палітыкі бяспекі Supabase не прымяняюцца.
- Функцыі абмежаваныя.
- Яго SDK працуе толькі з JavaScript (падтрымка іншых моў усё яшчэ знаходзіцца ў бэта-версіі)
Цэннiк
1. Свабодны ўзровень
- База даных з 500 МБ месца для захоўвання і неабмежаванай колькасцю выклікаў API
- Аўтэнтыфікацыя - да 10,000 XNUMX карыстальнікаў
- Захоўванне файлаў - да 1 ГБ сховішча з штомесячным абмежаваннем перадачы да 2 ГБ.
2. Плаціце па ходзе
- База даных - $0.125 за ГБ сховішча, без абмежаванняў на выклікі API
- Аўтэнцыя – неабмежаваная
- Захоўванне файлаў – Даныя захоўваюцца 0.021 $ за ГБ з перадачай даных 0.07 $ за ГБ
Для атрымання дадатковай інфармацыі аб цэнах вы можаце праверыць іх вэб-сайт.
заключэнне
Supabase - лепшы адкрыты зыходны код альтэрнатыва Google Firebase. Дзякуючы магутнасці PostgreSQL, ён прапануе розныя выдатныя функцыі і не мае ніякіх абмежаванняў па тыпу даных, як іншыя сістэмы баз дадзеных у рэжыме рэальнага часу.
Вы можаце ствараць розныя прыкладанні з дапамогай Supabase і яго выдатных функцый. Паспрабуйце сёння!
Марсело
У выпадку B2B SaaS, ці магчыма мець 1 галоўнага карыстальніка на кліента і іншых N карыстальнікаў, звязаных з гэтым галоўным, якія працуюць толькі з дадзенымі гэтага кліента?