آنچه در این صفحه می خوانید:
- فایربیس (Firebase) چیست؟
- تاریخچه فایربیس (Firebase)
- کاربرد فایربیس (Firebase)
- سرویس های فایربیس (Firebase)
فایربیس (Firebase) چیست؟
Firebase یک بستر توسعه نرم افزار موبایل و وب است که در سال 2011 توسط Firebase. Inc ایجاد و سپس توسط گوگل در سال 2014 ارائه آمد. فایربیس یک ارائه دهنده سرویس Backend-as-a-a-Service یا به اختصار BaaS واقع در سان فرانسیسکو، کالیفرنیا است که به کاربران امکان می دهد بدون نیاز به زبان های برنامه نویسی سمت سرور، برنامه هایی را برای وب و رابط های موبایل ایجاد کنند. Firebase به توسعه دهندگان این امکان را می دهد که از زبان های برنامه نویسی سمت سرور دور شوند و بیشتر بر روی ایجاد یک تجربه بهتر کاربر تمرکز کنند. می توان آن را به عنوان یک بسته نرم افزاری از یک سرور، API و دیتا استور که به زبان عمومی نوشته شده است، مشاهده کرد تا برنامه نویسان آن را به راحتی در نیازهای خود تغییر دهند.
تاریخچه فایربیس (Firebase)
Firebase از Envolve، یک استارتاپ که قبلا توسط جیمز تامپلین و اندرو لی در سال 2011 تاسیس شد، تکامل یافت. Envolve یک برنامه API را در اختیار برنامه نویسان قرار داد که امکان ادغام قابلیت چت آنلاین را در وب سایت های خود فراهم می کند. پس از انتشار سرویس چت، آن ها دریافتند که از آن برای انتقال داده های برنامه استفاده می شود که پیام های چت نیستند. توسعه دهندگان از Envolve برای همگام سازی داده های برنامه هایی مانند وضعیت بازی در Real-time در بین کاربران خود استفاده می کردند. آن ها تصمیم گرفتند سیستم چت و معماری Real-time را که از آن استفاده می کردند جدا کنند. آنها Firebase را به عنوان یک شرکت جداگانه در سپتامبر 2011 تأسیس کردند و در آوریل 2012 آن را به بازار عرضه کرد.
اولین محصول Firebase درپایگاه داده Real-time داده بود، API که همگام سازی داده های برنامه را در دستگاه های iOS ،Android و وب فراهم می کند و آن را در ابر فایربیس ذخیره می کند. این محصول به توسعه دهندگان نرم افزار در ساخت برنامه های کاربردی مشترک و در Real-time کمک می کند. در ماه مه 2012، یک ماه پس از آغاز نسخه بتا، Firebase 1.1 یک میلیون دلار بودجه از طریق سرمایه گذاری Flybridge Capital Partners ،Greylock Partners ، Founder Collective و New Enterprises Associates جمع کرد. در ژوئن سال 2013، این شرکت بیشتر سرمایه 5.6 میلیون دلاری در سری A از سرمایه داران سرمایه گذار Union Square Ventures و Flybridge Capital Partners جمع آوری کرد. در سال 2014، Firebase دو محصول Firebase Hosting و Firebase Authentication را راه اندازی کرد. این شرکت در موقعیت mobile backend as a service قرار گرفت.
در اکتبر 2014، Firebase توسط Google خریداری شد و در اکتبر سال 2015، گوگل Divshot را به دست آورد تا آن را با تیم Firebase ادغام کند. در ماه مه سال 2016، در Google I/O، کنفرانس سالانه توسعه دهندگان شرکت، Firebase خدمات خود را گسترش داد تا به یک بستر واحد برای توسعه دهندگان تلفن همراه تبدیل شود. Firebase اکنون با سایر سرویس های Google، از جمله Google Cloud Platform ،AdMob و Google Ads ادغام می شود تا محصولات و مقیاس گسترده تری را برای توسعه دهندگان ارائه دهد. Google Cloud Messaging، سرویس Google Cloud Messaging برای ارسال push notifications به دستگاه های Android، توسط یک محصول فایربیس به نام Firebase Cloud Messaging جایگزین شد، که باعث شد عملکرد ارسال push notifications به iOS و دستگاه های وب اضافه شود. در ژانویه سال 2017، گوگل Fabric و Crashlytics را از توییتر به دست آورد تا آن خدمات را به Firebase اضافه کند. در اکتبر سال 2017، Firebase Cloud Firestore، یک پایگاه داده اسناد واقعی را به عنوان محصول جانشین بانک اطلاعات اصلی Firebase Realtime راه اندازی کرد.
کاربرد فایربیس (Firebase)
بدون مدیریت زیرساخت، برنامه ها را سریع بسازید.
Firebase به شما امکاناتی مانند تجزیه و تحلیل، پایگاه داده، پیام رسانی و گزارش کراش را می دهد تا بتوانید به سرعت حرکت کرده و روی کاربران خود تمرکز کنید.
پشتیبانی شده توسط Google، مورد اعتماد برنامه های برتر
Firebase بر روی زیرساخت ها و مقیاس های Google به صورت خودکار و حتی بزرگترین برنامه ها ساخته شده است.
یک پلتفرم، با محصولاتی که با هم بهتر کار می کنند.
محصولات Firebase به صورت جداگانه عالی عمل می کنند اما داده ها و بینش هایی را به اشتراک می گذارند، بنابراین آنها با هم بهتر کار می کنند.
Firebase به عنوان یک پایگاه داده در Real-time
پس از اتصال، برنامه های کاربردی به جای استفاده از HTTP عمومی به Firebase وصل می شوند و به عنوان "WebSocket" شناخته می شوند. Firebase برای دستیابی به (و همگام سازی) داده های کاربر، نیاز به برنامه های لازم برای برقراری تماس HTTP را از بین می برد، زیرا همه چیز با کمک یک سوکت واحد اداره می شود. از این رو، به محض اینکه کاربر تغییر در برنامه را ایجاد و ذخیره می کند، Firebase داده های مربوطه را نه تنها در یک مشتری واحد بلکه در کلیه مشتری های متصل، بلافاصله به روز می کند.
Google Cloud Platform + Firebase
پروژه های Firebase توسط Google Cloud Platform پشتیبانی می شوند و به شما امکان می دهند برنامه خود را به میلیاردها کاربر تقسیم کنید. نکته جالب تر این واقعیت این است که حافظه Firebase توسط Google Cloud Storage پشتیبانی می شود و به مقادیر تحت اللفظی petabytes تبدیل می شود!
Firebase یک فضای ذخیره سازی ابری است.
ذخیره سازی Cloud برای Firebase یک ذخیره سازی قدرتمند و مقرون به صرفه است که روشی نسبتاً ساده برای ذخیره سازی فایل های باینری را فراهم می کند. API Firebase به برنامه اجازه می دهد تا داده های آپلود شده توسط کاربر را به ابر Firebase ارسال کند. برای برنامه های دارای دسترسی خاص به اعتبار به محتوای آپلود شده توسط کاربر ، ابر Firebase مشاهده محتوای آپلود شده توسط کاربر را فقط در آن دسته از تغییرات دارای تأیید اعتبار موفق Firebase مجاز می کند. امنیت نگرانی اصلی Firebase است، از این رو، تمام نقل و انتقالات بیش از یک اتصال مطمئن انجام می شود که خصوصاً از سر گرفته می شود. علاوه بر این، تمام نقل و انتقالات انجام شده از طریق API Firebase پس از متوقف شدن به دلیل خطای شبکه (یا انواع مختلف دیگر ممکن است) به صورت خودکار "از سر گرفته شوند".
سرویس های فایربیس (Firebase)
تجزیه و تحلیل (Analytics)
- Firebase Analytics: یک راه حل اندازه گیری برنامه بدون هزینه است که بینشی در مورد استفاده از برنامه و تعامل کاربر فراهم می کند.
توسعه (Develop)
- Firebase Cloud Messaging: قبلاً با عنوان Google Cloud Messaging شناخته می شد، Firebase Cloud Messaging یک راه حل متقاطع برای پیام ها و اعلان ها برای Android ،iOS و برنامه های وب است که از سال 2016 بدون هیچ هزینه ای قابل استفاده است.
- Firebase Auth: سرویسی است که می تواند کاربران را با استفاده از تنها کد سمت مشتری تأیید کند. این برنامه از ارائه دهندگان ورود به سیستم های اجتماعی Facebook ، GitHub ،Twitter و Google (و Google Play Games) پشتیبانی می کند. علاوه بر این، این سیستم شامل یک سیستم مدیریت کاربر است که به موجب آن توسعه دهندگان می توانند تأیید اعتبار کاربر را از طریق ایمیل و گذرواژه ذخیره شده با Firebase فعال کنند.
- Firebase Realtime Database: فایربیس یک بانک اطلاعاتی در Real-time و backend as a service را فراهم می کند. این سرویس API را برای توسعه دهندگان برنامه فراهم می کند که داده های برنامه را می توان در کلاینت ها همگام سازی کرد و در ابر Firebase ذخیره شود. این شرکت کتابخانه های مشتری فراهم می کند که ادغام با برنامه های Android ،iOS ،JavaScript ،Java ،Objective-C ،Swift و Node.js را امکان پذیر می کند. این پایگاه داده همچنین از طریق REST API و bindings برای چندین فریمورک مانند JavaScript ،AngularJS ،React ،Ember.js و Backbone.js در دسترس است. REST API از پروتکل Server-Sent Events استفاده می کند، که یک API برای ایجاد اتصالات HTTP برای دریافت push notifications از سرور است. توسعه دهندگان با استفاده از بانک اطلاعاتی در Real-time می توانند داده های خود را با استفاده از قوانین امنیتی تحت کنترل سرور شرکت تأمین کنند.
- Firebase Cloud Firestore: در تاریخ 31 ژانویه سال 2019، Cloud Firestore رسما از بتا خارج شد و آن را به عنوان یک محصول رسمی از خط Firebase معرفی کرد. این جانشین سیستم پایگاه داده اصلی Firebase ، بانک اطلاعاتی در Real-time است و اجازه می دهد تا اسناد و زمینه های تو در تو به جای نمای درختی که در بانک اطلاعات Real-time ارائه شده است، قرار داده شود.
- Firebase Storage: بدون در نظر گرفتن کیفیت شبکه بارگیری ها و بارگیری های پرونده ایمن را برای برنامه های Firebase فراهم می کند. توسعه دهنده می تواند از آن برای ذخیره تصاویر، صدا، فیلم یا سایر محتوای تولید شده توسط کاربر استفاده کند. Firebase Storage توسط Google Cloud Storage پشتیبانی می شود.
- Firebase Hosting:میزبانی وب Firebase یک سرویس میزبانی وب ثابت و پویا است که در تاریخ 13 مه 2014 راه اندازی شده است. این نرم افزار از میزبانی فایل های استاتیک مانند CSS ،HTML ،JavaScript و سایر پرونده ها و همچنین پشتیبانی از طریق عملکردهای Cloud پشتیبانی می کند. این سرویس فایل ها را از طریق شبکه تحویل محتوا (CDN) از طریق رمزگذاری HTTPS و Secure Sockets Layer به اختصار SSL تحویل می دهد. Firebase با Fastly، یک CDN، همکاری می کند تا بتواند از پشتیبانی میزبان Firebase پشتیبانی CDN پشتیبانی کند. این شرکت اظهار می دارد که میزبانی فایر بیس از درخواست مشتری بزرگ شده است. توسعه دهندگان از Firebase برای دیتابیس Real-time خود استفاده می کردند اما به محلی برای میزبانی مطالب خود نیاز داشتند.
- ML Kit: یک سیستم یادگیری ماشین موبایل برای توسعه دهندگان است که در تاریخ 8 مه 2018 در بتا در طول Google I/O 2018 بتا ساخته شد. ویژگی های ML Kit API دارای ویژگی های متنوعی از جمله تشخیص متن، تشخیص چهره، اسکن بارکد، برچسب زدن به تصاویر و شناخت علائم برجسته است. هم اکنون برای توسعه دهندگان iOS یا Android در دسترس است. اگر API های داده شده کافی نیست، می توانید مدلهای TensorFlow Lite خود را نیز وارد کنید. API را می توان از طریق دستگاه یا روی ابر استفاده کرد.
ثبات (Stability)
- Crashlytics: گزارش خرابی گزارش های مفصلی از خطاها در برنامه ایجاد می کند. خطاها با شدت اثر بر کاربران برنامه، به خوشه هایی از آثار پشته مشابه گروه بندی می شوند. علاوه بر گزارش های اتوماتیک، توسعه دهنده می تواند رویدادهای سفارشی را برای کمک به گرفتن مراحل منتهی به تصادف وارد کند. Firebase قبل از دستیابی به Crashlytics از Firebase Crash Reporting خود استفاده می کرد.
- Performance: کارایی Firebase بینشی از عملکرد یک برنامه و تأخیرهای کاربران برنامه را ارائه می دهد.
- Firebase Test Lab for Android And iOS: آزمایشگاه Firebase برای Android و iOS زیرساخت های ابری را برای آزمایش برنامه های Android و iOS فراهم می کند. با یک عمل، توسعه دهندگان می توانند آزمایش برنامه های خود را در طیف گسترده ای از دستگاه ها و تنظیمات دستگاه آغاز کنند. نتایج آزمایش، از جمله گزارش ها، فیلم ها و تصاویر، در کنسول Firebase در پروژه موجود است. حتی اگر یک برنامه نویس هیچ کد آزمایشی را برای برنامه خود ننوشته باشد، آزمایشگاه تست می تواند برنامه را بطور خودکار تمرین کند و به دنبال خرابی باشد. آزمایشگاه آزمایش iOS برای بتا در حال حاضر است.
کسب در آمد (Earn)
- Admob: محصولی از Google است که با مخاطبان Firebase ادغام شده است.دامنه بازاریابی Google Admob و برنامه را بدست آورید.
رشد (Grow)
- Firebase Dynamic Links: پیوندهای پویا Firebase URL های هوشمند هستند که به صورت پویا رفتار خود را تغییر می دهند تا "بهترین تجربه در دسترس" را در بین چندین سیستم عامل مانند مرورگرهای وب رومیزی، همچنین iOS و Android و پیوندهای عمیق به یک برنامه تلفن همراه ارائه دهند. پیوندهای پویا در کلیه نصب برنامه ها کار می کنند: اگر کاربر ynamic Link را در iOS یا Android باز کند و برنامه نصب نشود، از کاربر خواسته می شود که ابتدا برنامه را نصب کند. پس از نصب، برنامه شروع به کار خواهد کرد و می تواند به لینک دسترسی پیدا کند.