فایربیس (Firebase) چیست + مزایا و معایب آن
توسعه اپلیکیشن تا حدودی شبیه به نگارش نامه است؛ در حقیقت ما برای طراحی پاکت نامه تمام تلاش خود را انجام می دهیم اما در آخر این محتوای نامه است که از اهمیت بیشتری برخوردار خواهد بود. البته برنامه نویسی بک اند (Backend)، مدیریت سخت افزار و رسیدگی به هاست مانند نوشتن نامه آسان نیست و اکثر برنامه نویسان دنبال اشخاصی هستند که نگهداری از آنها را برعهده بگیرند.
برخی از کسب و کارها از پس هزینه های توسعه یا نگهداری زیرساخت های بک اند برنمی آیند بنابراین می توانند از سرویس های BaaS یا همان Backend-as-a-Service استفاه کنند. همانند بخش های دیگر تکنولوژی، کمپانی گوگل با محصول خود به نام فایربیس (Firebase) حضور پر رنگی در ارائه سرویس Baas دارد؛ در ادامه این مطلب پلتفرم فایربیس را بررسی کرده و ویژگی های آن را معرفی خواهیم کرد.
فایربیس چیست؟
پلتفرم توسعه نرم افزار Firebase در سال 2011 توسط کمپانی Firebase inc راه اندازی شد و شرکت گوگل آن را در سال 2014 خریداری کرد. فایربیس به عنوان یک دیتابیس Real-Time دارای 18 سرویس و API های اختصاصی است که 4 سرویس آن در حال حاضر به صورت بتا فعالیت دارد.
پلتفرم فایربیس یک سرویس BaaS محسوب می شود که برای توسعه، تستینگ و مدیریت برنامه های موبایل و وب مورد استفاده برنامه نویسان قرار می گیرد. در حقیقت سرویس Baas به برنامه نویس این امکان را می دهد تا بدون نیاز به مدیریت دیتابیس و سخت افزارهای مربوطه، سرویس های مورد نیاز را از طریق API های اختصاصی به اپلیکیشن مورد نظر خود متصل کند.
به طور کلی 7 سرویس در فایربیس وجود دارد که تمام مولفه های Back-End مورد نیاز یک اپلیکیشن را پوشش می دهد. فایربیس همچنین قابلیت ادغام با پلتفرم های دیگری نظیر اندروید، iOS، Web و Unity را دارد. در ادامه این مقاله سرویس های پلتفرم Firebase را به صورت مختصر بررسی خواهیم کرد.
بررسی سرویس های فایربیس
وبسایت اصلی فایربیس، خدمات این پلتفرم را به 3 دسته توسعه اپلیکیشن (App Building)، تضمین کیفیت (Quality Assurance) و ابزار رشد کسب و کار (Instruments for Business Growth) تقسیم بندی کرده است. سرویس های اصلی این پلتفرم در بخش توسعه اپلیکیشن هستند که در ادامه آنها را توضیح خواهیم داد.
1- دیتابیس :
-
Firebase Realtime Database
سرویس دیتابیس Real-time اولین محصول فایربیس است، بنابراین به عنوان پایدارترین سرویس این پلتفرم به شمار می رود. این سرویس در واقع یک سیستم ذخیره سازی ابری NoSQL محسوب می شود که برای دسترسی Real-time به داده ها از پلتفرم های مختلف به اپلیکیشن متصل می شود. قابلیت هایی نظیر آفلاین کار کردن، کش کردن دیتا در حافظه دستگاه و همگام سازی (Sync) آن پس از اتصال به اینترنت از مهم ترین مزایای این دیتابیس به شمار می رود.
دیتا در وب سرویس JSON ذخیره شده و قابلیت فراخوانی از طرف کاربران را خواهد داشت. دسترسی به دیتا نیز به صورت Permission-Based انجام می پذیرد که از طریق Firebase Authentication و صدور اجازه توسط هویت کاربر یا قوانین امنیتی اجرا خواهد شد.
-
Cloud Firestore
یکی دیگر از سیستم های ذخیره سازی ابری NoSQL موجود در فایربیس، Cloud Firestore نام دارد که بر خلاف سرویس Firebase Realtime Database برای پروژه های سازمانی که مستلزم مقیاس پذیری، مدل های اطلاعاتی پیچیده و کوئری های پیشرفته است، مورد استفاده قرار می گیرد. کنسول فایربیس را می توان برای مشاهده دیتا در هر دو دیتابیس استفاده کرد؛ علاوه بر این کیت های توسعه افزاری (SDK) برای کار با کدهای سمت سرور (Server-Side) وجود دارند که در هر دو دیتابیس قابل استفاده هستند. این کیت ها برای زبان های برنامه نویسی پایتون، نود جی اس، گولانگ، روبی، PHP، جاوا، .NET و سی شارپ در دسترس توسعه دهندگان قرار دارند.
-
Cloud Storage
این سرویس در حقیقت یک گوگل کلاد (Google Cloud) محسوب می شود که برای ذخیره محتوای درون برنامه ای کاربران نظیر عکس، فایل صوتی یا ویدیویی مورد استفاده قرار می گیرد.
2- احراز هویت و هاستینگ
-
Firebase Authentication
احراز هویت فایربیس یکی از سرویس های Authentication گوگل محسوب می شود که مخصوص اپلیکیشن هایی که از فایربیس استفاده می کنند، طراحی شده است. این سرویس به شما کمک می کند تا احراز هویت کاربر را با استفاده از رابط کاربری (UI) از پیش ساخته یا سفارشی انجام دهید، این سرویس همچنین لاگین کاربران از طریق مدارک شخصی سازی شده، ایمیل و شبکه های اجتماعی را نیز امکان پذیر می کند.
-
Hosting service
اگر شما در حال توسعه اپلیکیشن های وب، وب اپلیکیشن های پیش رونده یا صفحات فرود موبایل هستید قطعا به هاستینگ نیاز پیدا خواهید کرد. پلتفرم فایربیس یک هاستینگ Static Web برای اپلیکیشن های ساخته شده با HTML، CSS و جاوا اسکریپت در اختیار شما قرار می دهد، این پلتفرم برای ارتقای امنیت نیز از پروتکل های استاندارد HTTP و SSL استفاده می کند.
3- اپلیکیشن های بدون سرور
-
Cloud Functions
یکی دیگر از محصولات گوگل Cloud Functions نام دارد که بر اساس معماری رویداد محور، کدهای بک اند را از فضای ابری اجرا می کند که به این روش معماری بدون سرور (Serverless Architecture) می گویند. این معماری به معنی این است که اپلیکیشن ها به عنوان مجموعه ای از توابع جداگانه در فضای ابری توسعه داده شده و از طریق API ها به یکدیگر متصل خواهند شد.
4- قابلیت یادگیری ماشینی
-
ML Kit
این سرویس فعلاً به صورت آزمایشی (Beta) کار می کند ولی با استفاده از آن می توان قابلیت یادگیری ماشین (Machine Learning) را در اپلیکیشن های موبایل (اندروید و iOS) پیاده سازی کرد. در حقیقت امکان استفاده از این سرویس در بیشتر محصولات گوگل نظیر Google Lens وجود دارد، برای مثال قابلیت هایی نظیر تشخیص چهره، اسکن بارکد و اسکن متن را می توان از طریق این سرویس در دستگاه و فضای ابری اجرا کرد.
5- سرویس های تستینگ فایربیس
-
Test Lab
سرویس Test lab امکان دسترسی فیزیکی و مجازی به اپلیکیشن را در اختیار برنامه نویس قرار می دهد، بنابراین برنامه نویس می تواند اپلیکیشن خود را در محیطی واقعی آزمایش کند. این سرویس همچنین قابلیت ادغام با پلتفرم های دیگر نظیر اندروید استودیو یا ابزارهای تستینگ مرورگرهای اینترنتی را نیز دارد.
این سرویس گزارشات خرابی را در اختیار برنامه نویس قرار می دهد و با بات های جستجوگری که دارد قادر است اپلیکیشن را اسکن کرده و باگ های آن را به شما اطلاع دهد؛ البته عدم سازگاری با ابزارهای تستینگ پلتفرم iOS یکی از مشکلات این سرویس به شمار می رود.
-
Crashlytics
این سرویس در حقیقت یک ابزار گزارش خرابی است که مشکلات مربوط به پایداری اپلیکیشن را به صورت Real-Time در اختیار برنامه نویسان قرار می دهد. مشکلاتی که از طریق این سرویس شناسایی می شوند با توجه به اهمیت خود فهرست بندی می شوند، بنابراین سازمان دهی فرآیند رفع مشکل برای برنامه نویسان بسیار ساده خواهد بود.
-
Performance monitoring
این سرویس به صورت خودکار بر روی عملکرد اپلیکیشن نظارت می کند و موارد دیگری نظیر کیفیت اتصال به سرور و زمان پاسخگویی اپلیکیشن درانواع شبکه ها را نیز مورد بررسی قرار می دهد.
-
App Distribution
ابزار اشتراک گذاری App Distribution در حال حاضر به صورت آزمایشی در دسترس کاربران قرار دارد. در حقیقت برنامه نویسان با استفاده از این سرویس می توانند یک هاب (Hub) برای هر دو نسخه از اپلیکیشن های اندروید و iOS توسعه داده و ورژن پیش از انتشار را با استفاده از واسط خط فرمان (CLI) مدیریت کنند.
6- سرویس آنالتیکس (Analytics)
زمانی که اپلیکیشن یا وبسایت شما به صورت زنده در حال فعالیت است، می توانید با استفاده از سرویس های گوگل نحوه ارتباط کاربران با آن را مدیریت کنید.
-
Google Analytics
گوگل آنالتیکس یکی از ابزارهایی است که قابلیت سازگاری با پلتفرم فایربیس را دارد، این سرویس معیارهای ارزشمندی برای اندازه گیری نرخ حفظ و انگیجمنت کاربران و رفتارهای دیگر آن ها با اپلیکیشن را در اختیار توسعه دهندگان قرار می دهد. گزارش دهی فایربیس در این زمینه رایگان و نامحدود است. شما همچنین می توانید رویدادهای خاصی را برای پیگیری انتخاب کرده و آنها را در ابزارهای تحلیلی دیگر به اشتراک بگذارید.
7- پیکربندی و ارتقا
-
Cloud Messaging
شما می توانید از طریق پیامرسان ابری، نوتیفیکیشن های بین سرور و دستگاه دیجیتالی را ارسال کنید. شما همچنین می توانید با توجه به نوع اشتراک، الگوی رفتاری و تنظیمات پروفایل کاربران برای آنها پیام دسته جمعی ارسال کنید. این سرویس با ابزار گوگل آنالتیکس سازگاری دارد بنابراین قابلیت ردیابی و پیکربندی پیام بدون نیاز به کدنویسی را در اختیار شما قرار می دهد.
-
Dynamic links
شما نمی توانید پیش بینی کنید که کاربران از کدام نسخه اپلیکیشن (وب یا موبایل) شما استفاده خواهند کرد. در حقیقت لینک های داینامیک اطلاعات کاربران را از یک پلتفرم به پلتفرم دیگر انتقال می دهد؛ برای مثال با استفاده از این قابلیت کاربر می تواند آن چه که در نسخه موبایل جستجو کرده را در اپلیکیشن وب هم مشاهده کند.
-
Remote Config
سرویس Remote Config به شما این امکان را می دهد تا اپلیکیشن خود را بدون انتشار مجدد به روز رسانی کنید؛ برای مثال تغییر الگوهای رنگی و محتوا را می توان با استفاده از این ابزار انجام داد.
-
Firebase Predictions
سرویس پیش بینی فایربیس یک افزونه یادگیری ماشینی محسوب می شود که با استفاده از دیتای تحلیلی به شما کمک می کند تا نرخ ریزش (Churn) یا تبدیل (Conversion) مشتری را پیش بینی کرده و میزان درآمد و حفظ مشتری را محاسبه کنید.
-
Firebase A/B testing
این سرویس بتا به توسعه دهندگان کمک می کند تا استراتژی های بازاریابی خود را با استفاده از تست A/B آزمایش کنند. از آنجایی که این سرویس با گوگل آنالتیکس در تعامل است، شما می توانید فورا نتیجه تست را اندازه گیری کنید.
-
In-app messaging
توسعه دهندگان می توانند با استفاده از این سرویس پیام های هدفمند و سفارشی خود را برای آن دسته از کاربرانی که به ندرت از اپلیکیشن استفاده می کنند، ارسال کنند. اگرچه این سرویس در حال حاضر در مرحله آزمایشی قرار دارد، اما می توان از آن به همراه گوگل آنالتیکس و Firebase Predictions برای اجرای هدف گیری هوشمند (Smart Targeting) استفاده کرد.
مزایای فایربیس
استفاده از محصولات کمپانی های بزرگ در بیشتر اوقات به نفع کاربران تمام خواهد شد. البته این موضوع همواره درست نیست، برای مثال پروژه های بزرگی نظیر پلتفرم Baas شرکت فیسبوک به نام Parse نیز با شکست روبرو شده اند. به هر حال محصول فایربیس شرکت گوگل مزایای زیادی دارد که در ادامه آنها را معرفی خواهیم کرد:
- فایربیس 2 دیتابیس (Realtime و Firestore) بسیار قدرتمند را در اختیار توسعه دهندگان قرار می دهد. علاوه بر این سرویس ها و امکانات متعدد دیگری نیز در این پلتفرم وجود دارد.
- شما می توانید بدون پرداخت هزینه کار خود را با فایربیس شروع کنید؛ البته در اختیار داشتن فضای ذخیره سازی بیشتر در دیتابیس و استفاده از امکانات دیگر مشمول پرداخت هزینه می شود.
- تمام اطلاعات فنی، APIها و منابع SDK به خوبی در این پلتفرم جمع آوری شده است. علاوه بر این آخرین اطلاعات و اخبار در شبکه های اجتماعی آن منتشر می شود.
- کار با فایربیس بسیار آسان است به گونه ای که افراد با حداقل دانش زبان های برنامه نویسی نیز می توانند با استفاده از رابط کاربری فایربیس، ابزارهای دیگر را با آن ادغام کنند.
- هاستینگ فایربیس یک شبکه تحویل محتوا (CDN) دارد که به پلتفرم کلاد گوگل (Google Cloud) مجهز است.
معایب فایربیس
- دیتابیس Realtime به عنوان فضای اصلی ذخیره سازی در اختیار شما قرار دارد و در ساخت کوئری های پیچیده محدودیت دارد. علاوه بر این امکان اجرای روابط بین داده ها در دیتابیس Realtime بسیار مشکل است. البته چنین محدودیت هایی در دیتابیس Firestore وجود نخواهند داشت.
- پلتفرم Bass به طور کلی دارای مشکل وابستگی به فضای ابری است و امکان انتقال اطلاعات از آن به پلتفرم دیگر وجود ندارد.
- اگرچه فایربیس دارای ویژگی کراس پلتفرم (Cross-Platform) است اما در بخش موبایل بیشتر بر روی سیستم عامل اندروید تمرکز دارد و از اپلیکیشن های iOS پشتیبانی نمی کند.
مطالب زیر را حتما مطالعه کنید
1 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
دیدگاهتان را بنویسید لغو پاسخ
برای نوشتن دیدگاه باید وارد بشوید.
مهمترین عیب فایربیس برای ایرانی ها اینه که ایران رو در لیست تحریم خودش داره. سایت فایربیس از طرف گوگل برای ایران مسدود هست بنابراین هیچ تضمینی نیست که خدماتی که به شما میده رو لغو کنه. (بعضی دوستان در سایت های دیگه پیشنهاد دادن که با پراکسی با این سایت کار کنیم. اما این هم به نظرم میتونه برای یک کسب و کار جدی خطرساز باشه و توصیه نمیشه)