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