مصائب مسیح!

تا به امروز اگر می‌خواستیم از سرویسی جهت جمع آوری اطلاعات و آمار درباره وبسایت یا اپلیکیشنمون استفاده کنیم، بی‌شک اولین انتخابمون Google Analytics بود، در درجه بعد سرویس‌هایی مثل Fabric خودنمایی می‌کردند. وای به روزی که نیاز می‌شد تا از سرویسی برای ارسال PushNotification استفاده کنیم، اونوقت باید از GCM، Parse یا پوشه استفاده می‌کردیم. بماند که برای اطلاع از کرش‌های اپلیکیشن باید از CrashLystic استفاده می‌کردیم.

تنها برای همین ۳سرویس باید ۳ الی ۵ لایبرری مختلف از لایبرریهای گوگل گرفته تا توییتر و فیسبوک نصب می‌شد. چه روزهای طاقت‌فرسایی که برای مدیریت و نَویگِیت کردن بین این سرویس‌ها طی نشد. همه اینها یک‌طرف، اینکه این سرویس‌های اختصاص برای اپلیکیشن‌های موبایلی لانچ نشده و سرویس‌های هزارپاره هستند در طرفی دیگه.

شب برمی‌آید

در سال ۲۰۱۱ دو مهندس به نام‌های James Tamplin و Andrew Lee استارتاپی بنام Firebase لانچ کردند. این سرویس در ابتدا یه API چت بود که به توسعه دهنده‌ها این امکان رو میداد تا سرویس چت رو در سایتشون پیاده کنن. بعد از مدتی به اطلاعات زیاد و عجیب منتقل شده بر این بستر مشکوک شدن،‌ و پس از بررسی‌ها معلوم شد که توسعه دهنده‌ها از این سرویس برای ارسال اطلاعات در بازی یا نرم‌افزارهاشون استفاده می‌کردند، درواقع یه سرویس realtime انتقال دیتا.

در سال ۲۰۱۲ Andrew و James تصمیم گرفتن سرویس چت رو از ساختار RealTime اون جدا کنند، و اینگونه بود که فایربیس (بگونه‌ای که الان می‌شناسیمش) خلق شد!

در سال ۲۰۱۴ شرکت گوگل، فایربیس رو خرید. پس از افزودن چند سرویس (مثل Analytics، Crash Report و … ) نهایتا در سال ۲۰۱۵ با خریدن Divshot (که یک سرویس کلاد خدمات وب، مثل Storage, CDN, SSL, API و غیره، است) و ادقام آن با سرویس‌های قبلی، اَبَر سرویس فعلی فایبریس رو تشکیل داد.

فایربیس چه کارهایی می‌کند؟

در ادامه به سرویس‌ها و خدمات بی‌شمار، کاربردی و بعضا جالبی که فایربیس ارائه میده اشاره می‌کنم.

  1. Firebase Analytics

    سرویس رایگان آنالیتیک فایبرس که مشابه Google Analytics، مُنتهی اختصاصی شده برای اپلیکیشن های موبایلی. این سرویس اطلاعات جالبی مثل تعداد نصب، تعداد Uninstall، نرخ بازگشت به اپ و غیره به ما میده. همچنین میتونیم با ایجاد فانل های آماری و دسته بندی کاربران اطلاعات دقیق، مورد به مورد و هدف گذاری شده نیز داشته باشیم. (بیشتر بدانید: متن -‌ ویدئو )

  2. Firebase Cloud Messagin

    اگه با سرویس آشنایی دارید باید بگم، که FCM هم مشابه Google Cloud Messaging یک سرویس کراس پلتفرم و بهینه شده برای اپلیکیشن‌های موبایلی Android, iOA و همچنین WebApplicationها ست، که بطور کاملا رایگان میتونید ازش استفاده کنید. (بیشتر بدانید: متن -‌ ویدئو )

  3. Firebase Auth

    سرویسی‌ست که به شما این امکان رو میده تا از Client-Side کابرتون رو احراز هویت کنید. کاربر میتونه از طریق شبکه‌های اجتماعی مثل Facebook, Github, Twitter و Google به اپ لاگین کنه، همینطور شما می‌تونید فرآیند احراز هویت رو از طریق ایمیل پسورد انجام بدید. (بیشتر بدانید: متن -‌ ویدئو )

  4. Realtime Database

    سرویسی که به شما امکان ایجاد سرویس‌های سمت بک‌اند (بر پایه REST API) و یک پایگاه داده Realtime میده. از این سرویس می‌تونید برای ایجاد بک‌اند خودتون برای استفاده در اپلیکیشن های Android, iOS, JavaScript, Java, Swift, NodeJs و غیره استفاده کنید. از دیتابیس Realtime هم با دسترسی بر پایه RESTP API میتونید در فریم‌ورک‌های جاوااسکریپتی مثل AngulatJs, React, Ember.js و BackBone.js استفاده کنید. (بیشتر بدانید: متن -‌ ویدئو )

  5. Firebase Cloud Store

    فایربیس به شما امکان میده تا بتونید از یک فضای کلاد جهت ذخیره فایل‌هاتون مثل Audio, Image,Video و دیگر انواع فایل استفاده کنید. برای مثال اگه یه اپلیکیشن چت داشته باشید می‌تونید اطلاعاتش رو اونجا هاست کنید و کاربر بصورت کلاد به همه دیتاش در همه پلتفرم‌های ممکن سرویستون دسترسی داره. (بیشتر بدانید: متن -‌ ویدئو )

  6. Firebase Hosting

    این سرویس هم به عنوان یک هاست برای شما عمل می‌کنه. روی این هاست میتونید از CSS, HTML و هرچیز Javascriptی استفاده کنید، در فرانت اند هرچیزی که میشناسین و در بک‌اند تنها Node.js. این سرویس از CDN و SSL پشتیبانی می‌کنه.(بیشتر بدانید: متن -‌ ویدئو )

  7. Firebase Test Lab برای Android

    این FT‌B یکی از جالبترین بخشهای فایربیسه. با این سرویس می‌تونید اپلیکیشنتون رو در انواع مختلفی از گوش‌های اندروید با برند‌های مختلف تست کنید و نتیجه رو بصورت Log، تصویر یا ویدئو دریافت کنید. فایربیس کلیه مراحل تست رو حتی اگر UnitTest برای اپتون ننوشته باشید انجام میده. با این سرویس شما این امکان رو دارید که علاوه بر UnitTestها، تست‌های CI رو هم مورد آزمایش قرار داده و تست‌ها رو پاس کنید. و در نهایت نتیجه و آنالیز تست‌هارو در اختیار داشته باشید. (بیشتر بدانید: متن -‌ ویدئو )

  8. Firebase Crash Reporting

    اگه می‌خواید بدونید اپتون چه مواقعی کرش میکنه یا کاربرانتون معمولا با چه مشکلاتی و به چه دلیل مواجه میشن، این سرویس بهترین کمک رو بهتون میکنه.(بیشتر بدانید: متن -‌ ویدئو )

  9. Firebase Perforamnce Monitoring

    سرویس FPM به شما کمک میکنه تا از پرفرمنس و عملکرد اپلیکیشن Android یا iOSتون در دستگاه‌های کاربرانتون اطلاعات دقیقی کسب کنید. با استفاده از SDK این سرویس اطلاعات مورد نیازتون جهت سنجش عملکرد اپ از تلفن همراه تک تک کاربرانتون جمع‌اوری میشه و پس آنالیز دیتا‌ها در کنسول فایربیس قابل رویت هست. این سرویس به شما کمک میکنه تا بدونید چه کار‌های باید انجام بدید تا عملکرد یا Perfromance اپ‌تون رو بهبود ببخشید یا اینکه مشکلات حاصله رو رفع کنید. (بیشتر بدانید: متن - ویدئو )

  10. Firebase Cloud Function

    یکی از امکانات کاربردی فایبریس همین سرویس FCF هست. با این سرویس شما می‌تونید سمت بک اند مورد‌نیازتون رو هم طراحی کنید و درنهایت یکسری API بر بستر پروتوکل HTTPS در دسترس داشته باشید. با استفاده از این سرویس شما دیگه نگران Scale کردن و نگهداری سرویس‌هاتون ندارید، تا موقعی که شما هستین، سرویس‌هاتون بر بستر امن و کلاد در اختیار کاربرانتون قرار داره. (بیشتر بدانید: متن - ویدئو )

سرویس‌های درحال پیشرفت

  1. Firebase Notifications

    شما می‌تونید بدون استفاده از API و تنها از داخل پنل فایربیس‌تون برای کاربران اپ نوتیفیکیشن بفرستید. این امکان رو دارید که کاربران رو فیلتر کنید و بر اساس User Propertyهایی که در پنل آنالیتیک فایبربیس‌تون ایجاد کردید (مثلا جنسیت فلان) پیام‌هارو ارسال کنید.

  2. Firebase App Indexing

    از این سرویس برای بهبود رتبه اپ در جست‌جوی گوگل استفاده کنید، این سرویس همچنین بهتون کمک میکنه تا در query search گوگل پلی، پیشنهاد شده و راحت‌تر پیدا بشید. (بیشتر بدانید: متن -‌ ویدئو )

  3. داینامیک لینک‌ها این امکان رو به شما میدن تا بتونید لینک‌های هوشمند بسازید که در مواقع مختلف رفتار متفاوتی از خودشون نشون بدن. برای مثال شما در وبسایتتون یک محصول برای فروش گذاشتید، کاربر بعد از کلیک روی اون لینک (اگر سایت رو در موبایلش باز کرده باشه و بر اساس پلتفرم سیستم عاملش) به سمت اون صفحه از اپلیکیشن هدایت میشه که محصول بهش نشون داده یا همونجا فاکتور برای پرداخت براش صادر میشه تا خریدش رو سریعتر انجام بده. (بیشتر بدانید: متن - ویدئو )

  4. Firebase Invites

    این سرویس به شما کمک میکنه تا امکانی رو فراهم کنید برای اینکه کاربرانتون با ایمیل، SMS یا پیام در شبکه‌های اجتماعی دیگر دوستناشون رو برای نصب اپلیکیشن دعوت کنن، و البته این امکان رو هم در اختیار دارید تا میزان بازگشت و استفاده کاربران از دعوت‌های انجام شده رو با آمار دقیق در اختیار داشته باشید. (بیشتر بدانید: متن -‌ ویدئو )

  5. Firebase Remote Config

    سرویس FRC یکی از امکانات دیگه‌ی فایربیسه، که به شما این توانایی رو میده تا بصورت کلاد امکان تغییر تنظیمات اپلیکیشنتون رو داشته باشید، بدون اینکه نیاز باشه تا اپ رو آپدیت کنید. برای مثال تمامی استرینگ و متن‌هایی که در اپتون استفاده کردید بصورت یک فایل XML درمیارید، پسفردا اگه به مشکلی برخوردید و خواستید متن رو عوض کنید، یا مثلا رنگ دکمه رو عوض کنید یا هر تغییر دیگه‌ای، فقط کافیه در ریموت کانفیگ اطلاعات رو ویرایش کرده و ارسال کنید تا همه اپ‌ها رو عوض کنید. (بیشتر بدانید: متن -‌ ویدئو )

  6. Adwords

    جالب اینجاست که گوگل سرویس Adwordsش رو هم به فایربیس انتقال داده و شما می‌تونید با استفاده از این سرویس مثل سابق کاربران مورد نظرتون رو هدف قرار داده و نتیجه رو در Firebase Analytics مشاهده کنید. (بیشتر بدانید: متن -‌ ویدئو )

کسب درآمد

  • Admob

    از سرویس admob جهت پخش تبلیغات و کسب درآمد در اپ‌تون می‌تونید استفاده کنید. (بیشتر بدانید: متن -‌ ویدئو )

پروژه های متن‌باز

  1. Firepad

    این یک سرویس ویرایش متن در لحظه و قابل اشتراکه. فایرپد از ادیتور‌های مختلف مثل Altassian Stash Realtime و Koding در خودش استفاده می‌کنه. (وبسایت)

  2. Firechat

    فایرچت هم یه اپلیکیشن چت Realtime و اوپن سورس هست. (وبسایت)

  3. GeoFire

    جئوفایر هم بهمون کمک میکنه تا با استفاده از Firebase Databse بتونیم اطلاعات لوکیشن و جئومتریک کاربران اپلیکیشن رو در پایگاه داده آنلاین‌مون ذخیره کرده و نگهداری کنیم. (و احتمالا بعدا ازش استفاده کنیم 😈) (وبسایت)

نتیجه گیری

پس بجای استفاده از چندین سرویس، از یک سرویس کامل استفاده کنید. البته امیدوارم این امر برای شرکت گوگل انحصار ایجاد نکنه و استارتاپ‌های مختلف بتونن با ارائه سرویس‌های خلاقانه و کاربردی مارو در مسیر بهبود خدمت و سرویس به کاربران یاری کنن.

لازمه که این مورد رو یادآور بشم که فقط سرویس FCM کاملا رایگان هست، و باقی سرویس‌های فایبریس یا از پایه پولی‌هستن یا محدودیت دارن در حالت رایگان، پس قبل از برنامه ریزی برای توسعه،‌ به بخش بیزنسیش هم فکر کنید.

اول که شروع کردم قرار بود راجع به پیاده‌سازی فایبربیس در اپلیکیشمون فایبرنت صحبت کنم. اما خب دلم نیومد راجع به سرویس‌های فایبربیس ننویسم (چون جایی هم در منابع فارسی ندیدم که کامل راجع بهش نوشته باشه). انشالله در پست یا پست‌های بعدی حسابی راجع به پیاده کردن چند سرویسی که استفاده کردم خواهم نوشت.

پس تا پست بعدی، اگه سوال مورد یا چیزی بود لطفا در توئیتر یا تلگرام با هم در ارتباط باشیم.