ФАКУЛЬТЕТ “КОМПЬЮТЕРНЫЙ ИНЖИНИРИНГ”
КАФЕДРА “ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ”
ПРЕДМЕТ:
РАЗРАБОТКА МОБИЛЬНЫХ ПРИЛОЖЕНИЙ
(РЕФЕРАТ)
На тему:
«Использование базы данных Firebase»
Выполнил: Таиров Бахтиёр
Группа 617-19
« » 2022г.
Принял: Ходжиматов Жохонгир
Фергана - 2022
Содержание
Введение...................................................................................................................3
1. Что такое Firebase………………........................................................................4
2. Realtime Database.................................................................................................5
3. Cloud Firestore......................................................................................................7
4. Аутентификация................................................................................................11
5. Подключение к android приложению..............................................................13
6. Преимущества и ограничения Firebase............................................................16
Заключение.............................................................................................................18
Список литературы................................................................................................19
Введение
Разработка бэкенда — сложный и затратный процесс. При разработке мобильных приложений ему зачастую уделяется неоправданно больше внимания. Неоправданно, потому что каждый раз приходится реализовывать типичные для мобильных приложений сценарии: отправить push-уведомление, узнать сколько пользователей заинтересовались акцией и оформили заказ и т.п. Хочется решение, которое позволит сфокусироваться на важных для приложения вещах без потери качества и деталей в реализации второстепенных. И такие решения есть!
Подобные сервисы называются Mobile Backend-as-a-Service (MBaaS). Процессы создания бэкенда с их помощью упрощены, по сравнению с разработкой «вручную». Это экономия на найме отдельного backend-разработчика. А тот факт, что провайдер MBaaS берет на себя все вопросы, связанные со стабильностью серверов, балансировкой нагрузки, масштабируемостью и прочими инфраструктурами сложностями, придает уверенности в качестве полученного результата и является основным преимуществом таких сервисов.
В этой статье рассмотрим несколько крупных и зарекомендовавших себя сервисов: Microsoft Azure, AWS Amplify, Google Firebase, Kumulos. В этой работе мы познакомимся с такой платформой как Firebase.
Firebase — это полноценный
платформенный сервис со множеством инструментов для разработки мобильных
приложений. Данную платформу поддерживает и продвигает компания Google, поэтому
большинство интегрированных в платформу инструментов также являются продуктами
компании Гугл. Для тех, кому близка тема разработки мобильных приложений и кому
нравятся продукты, которые разрабатывает компания Гугл, Firebase будет
идеальным сочетанием качества и возможностей.
1. Что такое Firebase
Firebase - это платформа для разработки мобильных и веб-приложений, которая предоставляет разработчикам множество инструментов и сервисов, помогающих им разрабатывать высококачественные приложения, расширять свою пользовательскую базу и получать больше прибыли.
Краткая история
Еще в 2011 году, до того, как Firebase стала Firebase, это был стартап под названием Envolve. Как и Envolve, он предоставил разработчикам API, который позволил интегрировать функциональность онлайн-чата в их веб-сайт. Интересно то, что люди использовали Envolve для передачи данных приложения, которые были больше, чем просто сообщения чата. Разработчики использовали Envolve для синхронизации данных приложений, таких как состояние игры, в режиме реального времени между своими пользователями.
Это привело к тому, что основатели Envolve Джеймс Тэмплин и Эндрю Ли разделили систему чата и архитектуру реального времени. В апреле 2012 года Firebase была создана как отдельная компания, которая предоставляла серверную часть как услугу с функциональностью в режиме реального времени. После того, как Firebase была приобретена Google в 2014 году, она быстро превратилась в многофункционального гиганта мобильной и веб-платформы, которой она является сегодня.
Службы Firebase
Службы Firebase можно разделить на две группы:
1. Разработка и тестирование приложений
o Realtime Database
o Auth
o Test Lab
o Crashlytics
o Cloud Functions
o Firestore
o Cloud Storage
o Performance Monitoring
o Crash Reporting
o Hosting
2. Развитие и привлечение аудитории
o Firebase Analytics
o Invites
o Cloud Messaging
o Predictions
o AdMob
o Dynamic Links
o Adwords
o Remote Config
o App Indexing
2. Realtime Database
База данных Firebase Realtime - это облачная база данных NoSQL, которая позволяет хранить и синхронизировать между вашими пользователями в режиме реального времени. База данных в реальном времени - это всего лишь один большой объект JSON, которым разработчики могут управлять в режиме реального времени.
База данных в реальном времени => Дерево значений
С помощью всего лишь одного API база данных Firebase предоставляет вашему приложению как текущее значение данных, так и любые обновления этих данных.
Синхронизация в реальном времени позволяет вашим пользователям легко получать доступ к своим данным с любого устройства, будь то веб или мобильное. База данных в реальном времени также помогает вашим пользователям сотрудничать друг с другом.
Еще одним удивительным преимуществом Realtime Database является то, что она поставляется с мобильными и веб-SDK, что позволяет создавать приложения без использования серверов.
Когда ваши пользователи переходят в автономный режим, SDK для базы данных реального времени используют локальный кэш на устройстве для обслуживания и хранения изменений. Когда устройство подключается к сети, локальные данные автоматически синхронизируются.
База данных реального времени также может быть интегрирована с аутентификацией Firebase для обеспечения простого и интуитивно понятного процесса аутентификации.
3. Cloud Firestore
Cloud Firestore — это база данных документов NoSQL, которая позволяет вам легко хранить, синхронизировать и запрашивать данные для ваших мобильных и веб-приложений - в глобальном масштабе.
Хотя это может показаться чем-то похожим на базу данных реального времени, Firestore привносит в платформу много нового, что делает ее чем-то совершенно отличным от базы данных реального времени.
Улучшены запросы и структура данных там, где база данных реального времени хранит данные в виде гигантского дерева JSON, Cloud Firestore использует гораздо более структурированный подход. Firestore хранит свои данные внутри объектов, называемых документами. Эти документы состоят из пар ключ-значение и могут содержать любые данные, от строк до двоичных данных и даже объектов, похожих на деревья JSON (Firestore называет это maps). Документы, в свою очередь, группируются в коллекции.
База данных Firestore может состоять из нескольких коллекций, которые могут содержать документы, указывающие на вложенные коллекции. Эти вложенные коллекции могут снова содержать документы, которые указывают на другие вложенные коллекции, и так далее.
Вы можете создавать иерархии для хранения связанных данных и легко извлекать любые данные, которые вам нужны, с помощью запросов. Все запросы могут масштабироваться в соответствии с размером вашего результирующего набора, поэтому ваше приложение готово к масштабированию с самого первого дня.
Запросы Firestore поверхностны. Этим я хочу сказать, что в Firestore вы можете просто получить любой документ, который вы хотите, без необходимости извлекать все данные, содержащиеся в любой из связанных с ним вложенных коллекций.
Вы можете получить один документ, не захватывая ни одну из его вложенных коллекций
Запрос с помощью Firestore
Представьте, что вы создали коллекцию в Firestore, которая содержит список городов. Итак, прежде чем вы сможете отправить запрос, вам нужно будет сохранить базу данных внутри переменной.
Здесь citiesRefнаходится та переменная, которая содержит вашу коллекцию городов. Теперь, если вы хотите найти список столиц, вы должны написать запрос, подобный этому:
Вот еще один пример запросов в Firestore. Допустим, вы хотите просмотреть только 2 города из вашей базы данных, население которых превышает 100 000 человек.
Но облачный Firestore может сделать запросы еще проще! В некоторых случаях Cloud Firestore может автоматически выполнять поиск в вашей базе данных по нескольким полям. Firestore поможет вам автоматически создать индекс, который поможет Firestore упростить выполнение запросов.
Улучшенная масштабируемость
Хотя база данных Firebase в реальном времени способна масштабироваться, ситуация начнет становиться сумасшедшей, когда ваше приложение станет действительно популярным или если ваша база данных станет действительно огромной. Облачный Firestore основан на облачной инфраструктуре Google. Это позволяет ему масштабироваться намного проще и с большей емкостью, чем база данных реального времени.
База данных с несколькими регионами
В Firestore ваши данные автоматически копируются в различные регионы. Таким образом, если один центр обработки данных отключается по какой-либо непредвиденной причине, вы можете быть уверены, что данные вашего приложения по-прежнему находятся в безопасности где-то в другом месте. Многорегиональная база данных Firestore также обеспечивает высокую согласованность. Любые изменения в ваших данных будут отражены в каждой копии вашей базы данных.
Другая модель ценообразования
База данных реального времени взимает плату со своих пользователей в зависимости от объема данных, которые вы сохранили в базе данных.
Облачный Firestore также взимает с вас плату за то же самое, но стоимость значительно ниже, чем у базы данных реального времени, и вместо того, чтобы основывать стоимость на объеме хранимых данных, цены Firestore зависят от количества выполняемых вами операций чтения / записи.
4. Аутентификация
Аутентификация Firebase предоставляет серверные службы, простые в использовании пакеты SDK и готовые библиотеки пользовательского интерфейса для аутентификации пользователей в вашем приложении.
Обычно на настройку собственной системы аутентификации уходят месяцы. И даже после этого вам потребуется специальная команда для обслуживания этой системы. Но если вы используете Firebase, вы можете настроить всю систему менее чем за 10 строк кода, который будет обрабатывать все за вас, включая сложные операции, такие как объединение учетных записей.
Вы можете аутентифицировать пользователей вашего приложения с помощью следующих методов:
o Электронная почта и пароль
o Номера телефонов
o Google
o Facebook
o Twitter
o и многое другое!
Использование аутентификации на базе Firebase упрощает создание безопасных систем аутентификации, а также улучшает процесс входа и регистрации для конечных пользователей.
Аутентификация Firebase создана теми же людьми, которые создали Google Sign-in, Smart Lock и Chrome Password Manager.
5. Подключение к android приложению
1. Создаём проект на сайте firebase и нажимаем на кнопку android.
2. Открывшемся окне именуем и регистрируем приложения.
3. Далее скачиваем JSON файл и помещаем по указанному адресу.
4. Добавляем зависимости в приложения.
5. Использование в самом приложении (Firebase Authentication) в Kotlin.
Создание экземпляра класса авторизации.
Проверка пользователя на авторизацию.
Создание нового пользователя методом email/password.
Авторизация пользователя методом email/password.
6. Преимущества и ограничения Firebase
Преимущества Firebase.
Вот десять основных преимуществ использования Firebase.
3. Бесплатный начальный план
4. Скорость разработки
5. Сквозная платформа для разработки приложений
6. Работает на платформе Google
7. Разработчики могут сосредоточиться на фронтенде
8. Не требуется использовать сервер
9. Заложены возможности машинного обучения
10. Генерация трафика для вашего приложения
11. Мониторинг ошибок
12. Безопасность
Ограничения Firebase.
Несмотря на то, что это фантастическая платформа, Firebase имеет и некоторые недостатки.
1. Не имеет открытый исходный код
2. Зависимость от Поставщика
3. Firebase не присутствует во многих странах
4. Доступны только базы данных NoSQL
5. Медленные запросы
6. Не все службы работают бесплатно на базовом тарифе
7. Это не дешевая платформа со сложно прогнозируемой ценой
8. Работает только в Google Cloud
9. Выделенные Серверы и Корпоративная техподдержка отсутствует
10. Отсутствуют GraphQL API
Заключение
Теперь вы знаете, что Google Firebase — это удобная и многофункциональная платформа для разработки мобильных приложений от компании Google. Данная платформа может быть доступна в двух тарифах:
o Spark — бесплатный тарифный план, который включает в себя основные функции Firebase, некоторые из которых могут быть ограниченными;
o Blaze — это платный тариф, который открывает возможность воспользоваться всей мощью платформы Google Firebase.
Если ваша деятельность связана с разработкой мобильных приложений, то Google Firebase — это как раз та платформа, которую обязательно нужно попробовать.
Список литературы
1. https://medium.com/hackernoon/introduction-to-firebase-218a23186cd7
2. https://progler.ru/blog/firebase-vvedenie
3. https://blog.back4app.com/ru/что-такое-firebase/
4. https://codernet.ru/articles/drugoe/google_firebase_chto_eto_za_servis_i_dlya_chego_ego_mozhno_ispolzovat/
Скачано с www.znanio.ru
© ООО «Знанио»
С вами с 2009 года.