
کنفرانس Google I/O هر ساله اخبار و سرویسهای مختلفی را برای کاربرانش در نظر میگیرید. در بین این اخبار، میخواهیم به معرفی پلتفرم Firebase که مدتی پیش توسط گوگل خریداری شده، بپردازیم. به نظر شما فایربیس چیست؟ چه مزایا و معایبی دارد و.... پس با ما همراه شوید تا به جواب تمام سوالات خود درباره فایربیس برسید.
فایربیسی که در سال 2011 به این اسم شناخته نمیشد، استارتاپ کوچکی به نام Envolve بود و یک API ارائه میکرد تا توسعهدهندگان امکان چت کردن در وبسایتهایشان را فراهم کنند. به تدریج توسعهدهندگان استفاده از این API را فراتر بردند و به عنوان همگامسازی real-time دادههای اپلیکیشن بین کاربران از قبیل بازی استفاده کردند.
این اتفاق بنیانگذران Envolve را مجبور کرد تا سیستم چت را از معماری real-time جدا کنند. بالاخره در سال 2012 فایربیس به یک شرکت مجزا تبدیل شد و سرویس Backend-as-a-Service را با کارکرد real-time عرضه کرد. سرانجام در سال 2014 این شرکت از سوی گوگل خریداری و با سرعت به یک سرویس چند منظوره برای پلتفرمهای موبایل و وب تبدیل شد.
اگر این مفاهیم برایتان قابل درک نیست، صبر کنید در ادامه بیشتر درباره آنها صحبت خواهیم کرد.
متوجه شدیم که پتلفریم فایربیس یک سرویس بر پایه Baas محسوب میشود که برای توسعه، تست و مدیریت برنامه های موبایل و وب مورد استفاده برنامه نویسان قرار میگیرد.
Backend-as-a-Service (BaaS)، یک مدل سرویس ابری است که بین اپلیکیشنها و backendهای کلودی ارتباط برقرار میکند. در واقع یک واسط و ابزاری یکپارچه با استفاده از APIها و SDKها، جهت برقرای اتصال سرویسهای مورد نیاز از طریق APIهای اختصاصی به اپلیکیشن مورد نظر، بدون نیاز به مدیریت دیتابیس و سختافزارهای مربوطه؛ اینکار باعث میشود تا یک اپلیکیشن بر روی پلتفرمهای مختلف بتواند اجرا شود و این امکان برای توسعهدهندگان فراهم میشود که نیازی به تغییر مجدد backendها به هنگام افزودن سرویس جدید نداشته باشند.
Back End فناوری Cloud، اغلب توسط یك شركت یا مدیر سیستم، مدیریت و كنترل میشود و به تناسب هر كاربر، سرویسهای موردنیاز، مجوزها، ترافیك، هماهنگی و تعریف پروتكلها و موارد دیگر را انجام میدهد.
پس میتوان در یک کلام گفت که سرویس Baas، توسعهدهندگان را قادر میسازد تا بر نوشتن کد برنامه frontend تمرکز کنند. از طریق APIها (که راهی برای درخواست برنامه از برنامه دیگر است) و SDKها (که کیت هایی برای ساختنرم افزار هستند) ارائه شده توسط فروشنده BaaS، برنامهنویسان میتوانند تمام عملکرد backend مورد نیاز خود را بدون ساختن backend ادغام کنند. همچنین لازم نیست سرورها، ماشینهای مجازی یا کانتینرها را مدیریت کنند تا برنامه در حال اجرا باشد. در نتیجه، میتوانند برنامههای تلفن همراه و برنامههای وب (از جمله برنامه های تک صفحه ای) را با سرعت بیشتری ایجاد و راهاندازی کنند.
این پلتفرم با دارا بودن 7 سرویس در خود تمام انتظارات بک-اند(Back-End) مورد نیاز یک اپلیکیشن را مورد پوشش میدهد. به طور کلی وبسایت اصلی فایربیس، خدمات این پلتفرم را به 3 دسته تقسیم کرده است:
توسعه اپلیکیشن (App Building)
تضمین کیفیت (Quality Assurance)
ابزار رشد کسب و کار (Instruments for Business Growth)
سرویسهای اصلی این پلتفرم در بخش توسعه اپلیکیشن قرار دارند که در ادامه آنها را به شما معرفی میکنیم.
اولین محصولی که به عنوان پایدارترین سرویس فایربیس به شما میرود، سرویس دیتابیس Real-time است. در واقع یک سیستم پایگاه داده ابری NoSQL محسوب میشود که اطلاعات در آن به صورت JSON ذخیره و بعد از هر بار اتصال کاربر، همگامسازی میشوند. قابلیت هایی نظیر آفلاین کار کردن، کش کردن دیتا در حافظه دستگاه و همگام سازی (Sync) آن پس از اتصال به اینترنت از مهم ترین مزایای این دیتابیس به شمار می رود.
اما یکی دیگر از سیستمهای ذخیرهسازی ابری که درNoSQL فایربیس وجود دارد، Cloud Firestore است. از این پایگاه داده برخلاف Firebase Realtime Database، برای پروژههای سازمانی که لازمه مقیاسپذیری، مدلهای اطلاعاتی پیچیده و کوئریهای پیشرفته هستند، مورد استفاده قرار میگیرد.
پیشنهاد ویژه: یک برای همیشه از صفر تا صد آموزش SQL Server را یاد بگیرید و به متخصص SQL تبدیل شوید.
به عنوان یکی از سرویسهای احراز هویت فایربیس شناخته میشود و مخصوص اپلیکیشنهایی است که از فایربیس استفاده میکنند. قابلیتهای این سرویس، عبارت است از:
احراز هویت کاربر را با استفاده از رابط کاربری (UI) از پیش ساخته یا سفارشی
لاگین کاربران از طریق مدارک شخصی سازی شده، ایمیل و شبکه های اجتماعی
خب بعد از احراز هویت، نوبت میرسد به سرویس هاستینگ فایربیس؛ این پلتفرم یک هاستینگ Static Web برای اپلیکیشنهای ساخته شده با HTMl ،CSS و جاوا اسکریپت در اختیار شما قرار میدهد تا در توسعه اپلیکیشنهای وب یا صفحات فرود موبایل خود که به هاستینگ نیاز دارید، استفاده کنید. همچنین این پلتفرم برای ارتقای امنیت، از پروتکلهای استاندارد HTTP و SSL استفاده میکند.
براساس معماری رویداد-محور این محصول، کدهای بک-اند شما از فضای ابری اجرا میشوند که به روش معماری بدون سرور یا Serverless Architecture معروف است.
به طور کلی امکاناتی که این سرویس برای شما فراهم میکند، عبارت است از:
امکان دسترسی فیزیکی و مجازی به اپلیکیشن در اختیار برنامهنویس برای آزمایش اپلیکیشن خود در محیطی واقعی
قابلیت ادغام با پلتفرمهای دیگر نظیر اندروید استودیو یا ابزارهای تستینگ مرورگرهای اینترنتی
در اختیار قرار دادن گزارشات خرابی و باگهای اپلیکیشن برای برنامه نویس
فراموش نکنید که عدم سازگاری با ابزارهای تستینگ پلتفرم iOS یکی از مشکلات این سرویس است.
این سرویس مشکلات موبوط به پایداری اپلیکشین را با توجه به اهمیتی که دارد، فهرستبندی کرده و در اختیار برنامهنویس قرار میدهد و فرآیند رفع مشکل برای برنامهنویسان را بسیار ساده خواهد کرد.
سرویسی که به صورت خودکار بر روی عملکرد اپلیکشین شما نظارت دارد و موارد دیگری را چون: کیفیت اتصال به سرور و زمان پاسخگویی به سرور و زمان پاسخگویی اپلیکیشن در انواع شبکهها را بررسی میکند.
اگر خواستار چگونگی نحوه ارتباط کاربران با اپلیکیشن یا وبسایت خود هستید، می توانید همانطور که نام بردهایم، از ابزاری به نام Google Analytics(گوگل آنالیتیکس) استفاده کنید. گزارشدهی فایربیس در این زمینه رایگان و نامحدود است.
شما با یکی از محبوبترین سرویسهای فایربیس روبه رو هستید چرا که این سرویس امکاناتی از قبیل:
امکان ار سال پیام و یا نوتیفیکیشن به صورت رایگان
ارسال پیام دسته جمعی به کاربران با توجه نوع اشتراکگذاری و الگوهای رفتاری آنها
سازگاری با ابزار گوگل آنالیتیکس و در نتیجه قابلیت ردیابی و پیکربندی پیام بدون نیاز به کدنویسی
و .... را در اختیار شما قرار میدهد.
با استفاده از این قابلیت کاربر می تواند آن چه که در نسخه موبایل جستجو کرده را در اپلیکیشن وب هم مشاهده کند. چرا که
شما نمی توانید پیشبینی کنید، کاربران از کدام نسخه اپلیکیشن (وب یا موبایل) شما استفاده خواهند کرد.
با این سرویس اپلیکیشن خود را بدون انتشار مجدد به روز رسانی کنید.
بعد از شناخت سرویسهای مهم فایربیس، بهتر است که نسبت به مزایا و معایب این پلتفرم هم آگاهی داشته باشیم.
شما میتوانید بدون پرداخت هزینه کار خود را با فایربیس شروع کنید؛ البته بدانید اختیار داشتن فضای ذخیرهسازی بیشتر در دیتابیس و استفاده از امکانات دیگر هزینه دارد.
تمام اطلاعات فنی، APIها و منابع SDK به خوبی در این پلتفرم جمعآوری شده است.
کار با فایربیس بسیار آسان است بگونهای که افراد با حداقل دانش زبانهای برنامهنویسی چون سیشارپ، پایتون و ... میتوانند با استفاده از رابط کاربری فایربیس، ابزارهای دیگر را با آن ادغام کنند.
در دیتابیس Realtime به عنوان فضای اصلی ذخیرهسازی دادهها، شما را در ساخت کوئریهای پیچیده محدود میکند و امکان اجرای روابط بین دادهها در دیتابیس Realtime بسیار مشکل است. اما این محدودیتها در دیتابیس Firestore وجود ندارد.
پلتفرم Bass به طور کلی دارای مشکل وابستگی به فضای ابری است و امکان انتقال اطلاعات از آن به پلتفرم دیگر وجود ندارد.
خب دوستان درباره پلتفرم فایربیس چیست صحبت کردیم و در ادامه به معرفی سرویسهای پرکاربرد آن رسیدیم و درا نتها از مزایا و معایب این پلتفرم نام بردیم. امیدواریم که مطلب مورد رضایت، قرار گرفته باشد و اگر اطلاعات دیگری یا حتی تجربه کاری با این پلتفرم دارید، با ما به اشتراک بگذارید؛ موفق باشید.

هنوز اینجا کامنتی ثبت نشده
شما تا به حال با پیش پردازنده های css کار کرده اید؟ در این مقاله بایکی از پیش پردازنده های css به نام sass آشنا می شوید،می خواهیم بدانیم sass چیست و چه کاربردهایی دارد؟