ناصر دهقان
ناصر دهقان
خواندن ۳ دقیقه·۲ ماه پیش

اسکیوال خسته کننده نیست! راهکار سوپابیس

یکی از مهمترین قسمت های توسعه یک نرم افزار (آنلاین) کد بک اند هستش. زبان های برنامه نویسی ، فریم ورکها و پایگاه داده های بسیاری وجود دارند که می تونید ازشون استفاده کنید تا یه بک اند کارآمد رو توسعه بدین.

اما توی این مطلب می خوام ابزاری رو بهتون معرفی کنم که با استفاده از قدرت SQL و دیتابیس postgres به شما امکان توسعه یک بک اند کارآمد رو میده. روی کارآمد بودنش تاکید می کنم چون می تونید هر آنچه برنامه شما لازم داره رو باهاش پیاده سازی کنید.

سوپابیس (supabase) خودش رو به عنوان جایگزین متن باز فایربیس (ابزار گوگل) معرفی می کنه. سپس در صفحه اصلی وب سایتش یک ادعای بزرگ رو مطرح می کنه:

Build in a weekend, Scale to billions

سوپابیس به شما امکان ساخت وب سرویس Rest، وب سوکت (real-time) و Graphql رو از روی پایگاه داده و جداولی که می سازید میده. علاوه بر این سوپابیس SDK برای زبان های مختلف و فریم ورک های فرانت اند ارائه کرده که کار رو خیلی راحت تر می کنه.

یکی دیگه از امکانات سوپابیس احراز هویت (Authentication) هستش. سوپابیس به شما امکان پیاده سازی انواع احراز هویت از جمله با ایمیل، پیامک، شبکه های اجتماعی و ابزارهای احراز هویت خارجی رو میده. همچنین با ارائه Hook امکان شخصی سازی روند احراز هویت رو هم فراهم می کنه.

سوپابیس با ارائه قابلیتی موسوم به RLS(Row Level Security) قابلیت محدود سازی دسترسی کاربران برنامه شما به اطلاعات ایجاد شده رو هم فراهم می کنه. عملا این قابلیت از Postgres اومده و صرفا با اضافه شدن چند function به شما دسترسی به شناسه و اطلاعات کاربر احراز هویت شده رو هم میده. شما می تونید تعریف کنید که کاربر احراز هویت شده به کدام ردیف ها دسترسی های خواندن، ایجاد، بروزرسانی و حذف رو داره.

شما می تونید View هم بسازید، امکانی که به شما اجازه می ده تا اطلاعات درخواستی خودتون رو راحت تر دریافت کنید و لازم نباشه که هر بار Query مورد نیازتون رو بنویسید.

با استفاده از Functions و زبان PL/pgSQL می تونید عملیات های پیچیده تر رو تعریف و مدیریت کنید و با استفاده از قابلیت rpc از سمت کلاینت اونها رو فراخوانی کنید. امکان Trigger هم به شما امکان فراخوانی یک Function رو بر اساس تغییرات جداول پایگاه داده میده.

اگر امکانات پایگاه داده برای شما کافی نیست و به پیاده سازی عملیات های بسیار پیچیده تر نیاز دارید، راهکار سوپابیس Edge functions است. سوپابیس با استفاده از Deno به شما امکان پیاده سازی کدهاتون با زبان Typescript رو میده. همچنین امکان استفاده از WASM رو هم در کدتون دارید.

همچنین با قابلیت real-time می توانید تغییرات جداول پایگاه داده را سمت کلایت به صورت لحظه ای دریافت کنید.

در کنار همه اینها به شما امکان Storage برای ذخیره سازی فایلهای پروژه و فایل های آپلودی کاربرانتون رو میده که با S3 نیز سازگار است.

سوپابیس یک ابزار متن باز است،‌ اما یک پلن رایگان هم برای نسخه ابری خود ارائه کرده. همین الان می تونید به وبسایت سوپابیس برید و بک اند پروژه خودتون رو بسازید.

https://supabase.com

postgresdatabasebackendبرنامه نویسیبک اند
بیشتر وقتا برنامه نویس
شاید از این پست‌ها خوشتان بیاید