فهرست مندرجات[پنهان شدن][نمایش]
Backend-as-a-Service (BaaS) یک الگوی خدماتی است که در آن توسعه دهندگان مولفه های پشت صحنه توسعه وب یا تلفن همراه را برون سپاری می کنند تا بتوانند بر ساخت و نگهداری فرانت اند بر اساس پلاگین و بازی تمرکز کنند. از بار نوشتن کد سمت سرور فرار کنید.
نرم افزار پشتیبانی از وظایف سمت سرور مانند احراز هویت، مدیریت پایگاه داده، به روز رسانی در زمان واقعی، ذخیره سازی، میزبانی و هشدارهای فشار توسط پلتفرم های BaaS (برای برنامه های تلفن همراه) ارائه می شود.
حتی اگر سرویسهای مختلف باطن اساساً راهحل یکسانی را ارائه میدهند، از فناوریهای بکاند متمایز استفاده میکنند. این یک عامل تعیین کننده برای بسیاری از توسعه دهندگان در هنگام انتخاب بهترین سرویس برای یک پروژه خاص است.
در این مقاله، به بررسی عمیق سوپا بیس خواهیم پرداخت.
چه شده است پایگاه داده?
پایگاه داده یک جایگزین Firebase منبع باز است که Backend را به عنوان یک سرویس به برنامه های مختلف ارائه می دهد. راه اندازی آن بسیار ساده است و با انواع فریم ورک ها به سرعت عمل می کند. Supabase خود را به عنوان یک جایگزین منبع باز برای Firebase به حساب می آورد.
این برنامه قصد دارد به توسعه دهندگان در راه اندازی سریع Backend خود کمک کند. Supabase می گوید: «در یک آخر هفته بسازید، به میلیون ها نفر افزایش دهید.
محصولات Supabase شامل پایگاه داده Postgres و سرویس احراز هویت، با سرویسهای ذخیرهسازی و بدون سرور (برای منطق باطن) هنوز در حال کار است. همه ابزارهای آن عمدتا رایگان و منبع باز هستند. پایگاه داده Postgres شامل ابزارهای مرتبط با پایگاه داده، مانند نظارت بر زمان واقعی تغییرات پایگاه داده و یک رابط مدیریتی است.
علاوه بر این، API و نحو سریعی را ارائه می دهد که با Firebase قابل مقایسه است. این به شما این امکان را می دهد که وظایف CRUD را به روشی ثابت انجام دهید و به شما امکان می دهد به جای بازنویسی مجدد کد CRUD روی ایجاد تمرکز کنید.
پایگاه داده Postgres جدولی است که به شما امکان می دهد داده های سازمان یافته و متصل را به همان روشی که در یک صفحه گسترده ذخیره می کنید، ذخیره کنید. با کمال تعجب، هنگامی که یک پروژه ایجاد می کنید، ممکن است از یک صفحه گسترده موجود به عنوان پایگاه داده Postgres خود استفاده کنید.
Supabase چگونه کار می کند؟
Supabase مجموعه ای از فناوری های منبع رایگان است. آنها در حال ایجاد ویژگی های Firebase با راه حل های منبع باز درجه سازمانی هستند. اگر ابزارها و جوامع تحت مجوز MIT، Apache 2 یا مجوز مشابه مشابه در دسترس باشند، از آنها استفاده و پشتیبانی خواهند کرد.
اگر ابزار از قبل وجود نداشته باشد، آن را ایجاد کرده و به عنوان در دسترس قرار می دهند منبع باز. Supabase یک نقشه برداری 1:1 از Firebase نیست. هدف آنها ارائه یک تجربه توسعه مانند Firebase به توسعه دهندگان است منبع باز فن آوری ها
Supabase پلتفرمی است که میزبانی می شود. می توانید ثبت نام کنید و بدون نیاز به نصب چیزی شروع به استفاده از آن کنید. شما همچنین می توانید خود میزبانی کنید و روی سرور خود بسازید.
- PostgreSQL به دلیل ثبات، استحکام ویژگی و سرعت شهرت زیادی دارد. پس از بیش از 30 سال توسعه فعال،
- Realtime یک سرور Elixir است که به شما امکان می دهد با استفاده از WebSockets به درج ها، به روز رسانی ها و حذف های PostgreSQL گوش دهید. Supabase به درخواستهای تکرار از Postgres گوش میدهد، جریان بایت تکرار را به JSON تبدیل میکند و سپس JSON را از طریق WebSockets پخش میکند.
- PostgREST یک وب سرور است که پایگاه داده PostgreSQL شما را به یک API RESTful تبدیل می کند.
- Storage یک رابط RESTful برای مدیریت فایل های ذخیره شده در S3 با Postgres به عنوان مدیر حقوق ارائه می دهد.
- Postgres-meta یک API RESTful برای مدیریت 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 فراهم می کند.
- وبکهک های راه راه، همگام سازی خودکار طرح های قیمت و وضعیت اشتراک را امکان پذیر می کنند.
2. KeepLink: سرویس نشانک ساده با برچسب ها و آرشیو
KeepLink یک سرویس نشانک اولیه با برچسب ها و آرشیو ساخته شده با Supabase و Next.js است. هیچ ویژگی اشتراک گذاری اجتماعی ندارد، اما ممکن است نمونه خود را میزبانی کنید.
- نشانک های جدید را به طور خودکار بر اساس برچسب های موجود برچسب گذاری کنید.
- جستجوی کامل متن برای URL ها، عنوان ها، توضیحات، برچسب ها و محتوای آرشیو به لطف پشته Supabase، برچسب گذاری نام مستعار برای پایگاه های داده مدیریت، و دسترسی آرام بخش API اکنون امکان پذیر است.
- با متاسکرپر، می توانید به طور خودکار عناوین و توضیحات را برای صفحات خود جمع آوری کنید. همچنین می توانید صفحات خود را با SinglePage و Headless Chrome بایگانی کنید.
3. برنامه چت بلادرنگ با Supabase + React
- برای پیام رسانی بلادرنگ، از Supabase (در بالای PostgreSQL) استفاده می شود.
- Front-end از React (CRA) + Vite استفاده می کند
- کتابخانه UI مورد استفاده Chakra UI است.
ویژگی های کلیدی
برخی از ویژگی های Supabase به شرح زیر است:
- داشبورد/رابط کاربری برای راه اندازی و مدیریت پایگاه داده شما در کمتر از یک دقیقه.
- برای ثبت نام کاربران و به روز رسانی محدودیت های دسترسی در پایگاه داده خود، احراز هویت کاربر را اعمال کنید.
- API ها و یک کتابخانه جاوا اسکریپت.
- شنوندگان پایگاه داده در زمان واقعی.
- توابع (نوعی). اینها رویه های ذخیره شده در پایگاه داده هستند که ممکن است در SQL، جاوا اسکریپت، پایتون یا جاوا نوشته شوند.
مزایا
Supabase خود را به دلایل زیر متمایز می کند:
- برخلاف Firebase، ممکن است پرس و جوهای پیچیده یا جستجوهای متنی را اجرا کنید.
- Supabase از مقیاس بندی برای شما مراقبت می کند (حتی اگر از پایگاه داده SQL استفاده می کند)
- انتقال داده با Supabase ساده است زیرا از PostgreSQL استفاده می کند و می توانید داده ها را با استفاده از فایل a.sql وارد کنید.
منفی
استفاده از Supabase دارای معایبی است. آنها به شرح زیر است:
- برای دریافت تغییرات بلادرنگ، باید قابلیت تکرار برای یک جدول را فعال کنید.
- وقتی بهروزرسانیهای بیدرنگ فعال هستند، خطمشیهای امنیتی Supabase اعمال نمیشوند.
- امکانات محدود است.
- SDK آن فقط با جاوا اسکریپت کار می کند (پشتیبانی از زبان های دیگر هنوز در نسخه بتا است)
قیمت گذاری
1. ردیف رایگان
- پایگاه داده با 500 مگابایت فضای ذخیره سازی و تماس های نامحدود API
- احراز هویت - حداکثر 10,000 کاربر
- فضای ذخیره سازی فایل - تا 1 گیگابایت فضای ذخیره سازی، با محدودیت انتقال ماهیانه تا 2 گیگابایت.
2. در حین حرکت پرداخت کنید
- پایگاه داده – 0.125 دلار به ازای هر گیگابایت فضای ذخیره سازی، بدون محدودیت در تماس های API
- Auth - نامحدود
- ذخیره سازی فایل – ذخیره داده 0.021 دلار در هر گیگابایت با انتقال داده 0.07 دلار در هر گیگابایت
برای اطلاعات بیشتر در مورد قیمت، می توانید به وب سایت آنها مراجعه کنید.
نتیجه
Supabase بهترین منبع باز است جایگزینی برای Firebase گوگل. به دلیل قدرت PostgreSQL، ویژگی های قابل توجه مختلفی را ارائه می دهد و مانند سایر سیستم های پایگاه داده بلادرنگ محدودیتی در نوع داده ندارد.
با استفاده از Supabase و ویژگی های عالی آن می توانید اپلیکیشن های مختلفی ایجاد کنید. امروز امتحانش کن!
مارسلو
در مورد B2B SaaS، آیا ممکن است به ازای هر مشتری 1 کاربر اصلی داشته باشیم و N کاربر دیگر مرتبط با این اصلی فقط با داده های این مشتری سروکار داشته باشند؟