Firebase: ابزاری به منظور توسعهٔ راحت و سریع اپ‌ برای Android و iOS


Firebase یک سرویس Backend as a Service یا به اختصار BaaS است که در سال 2014 گوگل آن را خریداری کرد تا بیشتر به عنوان یک پلتفرم ذخیرهٔ دیتا برای دولوپرهای اپلیکیشن مورد استفاده قرار دهد اما در حال حاضر این پلتفرم علاوه بر ذخیرهٔ داده‌های کاربران، به منظور تحلیل اپلیکیشن، درآمدزایی از آن و ... می‌تواند توسط دولوپرهای موبایل مورد استفاده قرار گیرد.

فایربیس ایده‌ای بود که از دل استارتاپی تحت عنوان Envolve بیرون آمد که در سال ۲۰۱۱ توسط James Tamplin و Andrew Lee راه‌اندازی شد که در نهایت در سال ۲۰۱۲ به عنوان یک شرکت مجزا به کار خود ادامه داد اما همان‌طور که پیش از این اشاره کردیم، گوگل با دیدن پتانسیل‌هایی که فایربیس داشت، در سال ۲۰۱۴ آن را تصاحب کرد. جالب است بدانید که در اکتبر سال ۲۰۱۵، گوگل کمپانی دیگری تحت عنوان Divshot را خریداری کرد تا دولوپرها هر دو شرکت را با یکدیگر ادغام کند و در ژانویهٔ سال ۲۰۱۷ نیز گوگل اقدام به خرید شرکت‌های Fabric و Crashlytics کرد تا بیش از پیش قابلیت‌های فایربیس را توسعه دهد.

آشنایی با قابلیت‌های Firebase
فایربیس قابلیت‌های بی‌شماری برای دولوپرهای موبایل دارا است. در واقع، با استفاده از فایربیس دولوپرها قادر خواهند بود تا اقدام به توسعهٔ اپلیکیشن‌های موبایل، آنالیز کاربران، مدیریت خطاها و ذخیره‌سازی داده‌ها کنند. همچنین فایربیس از اندروید، آی‌او‌اس، تکنولوژی‌های وب و همچنین موتور بازی‌سازی یونیتی پشتیبانی می‌کند. از جمله دیگر قابلیت‌های فایربیس، می‌توان به موارد زیر اشاره کرد:

- باگ ریپورت
- ذخیره‌سازی ابری
- تست اپلیکیشن
- پرفورمنس مانیتورینگ
- تحلیل رفتار کاربران
- آنالیز اپ
- ادغام با گوگل آنالیتیکس و دیگر سرویس‌های ابری گوگل
- پیش‌بینی رفتار کاربران با استفاده از ابزارهای یادگیری ماشینی
- تأیید هویت کاربران (Authentication)

API فایربیس در قالب یک SDK در اختیار دولوپرهای موبایل قرار گرفته و از همین روی به سادگی می‌توان با استفاده از زبان‌های برنامه‌نویسی مختلف من‌جمله سوئیفت، جاوا، جاوااسکریپت و سی‌پلاس‌پلاس اقدام به کدنویسی کرد. به عنوان مثال، برای فرایند Authentication در زبان جاوا با استفاده از فایربیس داریم:

FirebaseAuth auth = FirebaseAuth.getInstance();
auth.signInWithEmailAndPassword(email, password)
    .addOnCompleteListener(new OnCompleteListener() {
        @Override
        public void onComplete(Task task) {
            if (task.isSuccessful()) {
                FirebaseUser user = task.getResult().getUser();
                String email = user.getEmail();
                // ...
            }
        }
    });

همچنین به منظور مشاهدهٔ فریمورک‌های اپن‌سورس مبتنی بر فایربیس برای توسعهٔ اپ‌های موبایل، می‌توانید به ریپازیتوری فایربیس در گیت‌هاب مراجعه نمایید.