Выбор инструментов и библиотек

Облачные базы данных — это базы данных, которые запускаются на платформах облачных вычислений, таких как Amazon EC2, GoGrid и Rackspace. Существуют две распространенные модели развертывания: пользователи могут приобрести непосредственно услугу доступа к базам данных, обслуживаемым поставщиком облачного сервиса, или же запустить базы данных в облаке независимо, используя образ виртуальной машины. Среди облачных баз данных присутствуют как SQL-ориентированные, так использующие модель данных NoSQL.

SQL базы данных — это такие базы, как NuoDB, Oracle Database, Microsoft SQL Server и MySQL. Любую из них можно запускать в облаке, причем только от поставщика зависит, будет ли это образ виртуальной машины или сервис. SQL базы данных трудно масштабировать, потому что изначально они не были рассчитаны на облачную среду.

NoSQL базы данных — это такие базы, как Apache Cassandra, CouchDB и MongoDB. NoSQL базы данных были созданы, чтобы выдерживать большую нагрузку на чтение/запись данных, а также легко расширяться и уменьшаться, к тому же они изначально создавались под облачные платформы. Однако, большинство современных программ были созданы с использованием SQL, поэтому работа с NoSQL базами данных часто требует полностью переписывать код приложения.

Amazon DynamoDB – это база данных пар «ключ‑значение» и документов, которая обеспечивает задержку менее 10 миллисекунд при работе в любом масштабе. Это надежная полностью управляемая база данных для приложений в масштабе всего Интернета, которая работает в нескольких регионах с несколькими ведущими серверами и обладает встроенными средствами обеспечения безопасности, резервного копирования и восстановления, а также кэширования в памяти. DynamoDB может обрабатывать более 10 трлн запросов в день и справляться с пиковыми нагрузками, превышающими 20 млн запросов в секунду.

Многие из наиболее активно развивающихся компаний в мире, например Lyft, Airbnb и Redfin, а также крупные корпорации, такие как Samsung, Toyota и Capital One, используют масштабируемый и высокопроизводительный сервис DynamoDB для выполнения критически важных рабочих нагрузок.

Основные преимущества Amazon DynamoDB:

1. Высокая Производительность при любом масштабе. поддерживает некоторые из крупнейших приложений в мире, обеспечивая стабильно низкую задержку менее 10 миллисекунд при работе в любом масштабе. Вы можете создавать приложения с практически неограниченными пропускной способностью и объемом хранилища;

2. Не требует распределять какие-либо серверы, устанавливать на них исправления или управлять ими. Кроме того, отпадает необходимость в установке, обслуживании и использовании программного обеспечения. DynamoDB автоматически масштабирует таблицы, корректируя объем доступных ресурсов и сохраняя высокую производительность. Встроенные механизмы обеспечения доступности и отказоустойчивости устраняют необходимость в проектировании этих возможностей в рамках приложения;

3. Готовность к использованию в корпоративной среде. DynamoDB поддерживает транзакции ACID, благодаря чему вы можете создавать ключевые бизнес-приложения любого масштаба. DynamoDB шифрует все данные по умолчанию и обеспечивает детальную идентификацию и управление доступом во всех ваших таблицах. Можно мгновенно создавать полные резервные копии сотен терабайтов данных без снижения производительности таблиц и выполнять восстановление в любой точке времени за предыдущие 35 дней без простоев.

Основные недостатки:

1. Требует оплаты - не open-source;

2. Изменение или добавление ключей "на лету" невозможно без создания новой таблицы;

3. Запросы данных крайне ограничены;

4. Регистрация аккаунта;


 

Firebase Realtime Database — облачная база данных на основе NoSQL. Данные хранятся в виде JSON и синхронизируются в реальном времени с каждым подключенным клиентом. Когда создаются кроссплатформенные приложения с iOS, Android и JavaScript SDK, клиенты делятся одним экземпляром базы данных и автоматически получают обновления с новейшими данными.

Ее основные преимущества перед другими подобными сервисами:

1. Скорость работы. В пакете разработчика Firebase собраны интуитивно понятные API, которые упрощают и ускоряют разработку качественных приложений.

2. Готовая инфраструктура. Не нужно создавать сложную инфраструктуру или работать с несколькими панелями управления.

3. Статистика. В основе Firebase лежит бесплатный аналитический инструмент, разработанный специально для мобильных устройств. Google Analytics для Firebase позволяет получать данные о действиях ваших пользователей и сразу же принимать меры с помощью дополнительных функций.

4. Кроссплатформенность. Firebase работает на любых платформах благодаря пакетам разработчика для Android, iOS, JavaScript и C++.

5. Масштабируемость. Если приложение станет популярным и нагрузка на него возрастет, не придется менять код сервера или привлекать дополнительные ресурсы ‒ Firebase сделает это сама. Кроме того, большинство функций Firebase бесплатны и останутся такими независимо от масштаба проектов.

Недостатки Firebase:

1. Firebase сильно ограничивает вас при выборке данных и при необходимости записать данные в несколько мест одновременно;

2. далеко не со всеми структурами данных удобно работать в Firebase.

Для приложения «RabbitChat» было принято решение использовать Firebase, так как она не требует оплаты, имеет высокую скорость работы, является кроссплатформенной и легко масштабируется.

Существует довольно много сред разработки приложений под Android. Например: IDE Eclipse, Android Studio, NetBeanse, Android Development Tools (ADT).

Android Studio - официальная интегрированная среда разработки на платформе Android, поддерживаемая компанией Google. Она основана на интегрированной среде разработки IntelliJ Idea, которая существует уже давно, но имела относительно небольшой уровень использования в сообществе Java, пока компания Google не включила в нее свой под­ключаемый модуль и не переименовала эту версию в Android Studio.

Преимущества Android Studio над другими средами разработки:

¾ среда разработки поддерживает работу с несколькими языками программирования, к которым относятся самые популярные – C/C++, Java.

¾ позволяет разрабатывать приложения не только для смартфонов/планшетов, а и для портативных ПК, приставок для телевизоров Android TV, устройств Android Wear, новомодных мобильных устройств с необычным соотношением сторон экрана;

¾ тестирование корректности работы новых игр, утилит, их производительности на той или иной системе, происходит непосредственно в эмуляторе;

¾ рефакторинг уже готового кода;

¾ достаточно большая библиотека с готовыми шаблонами и компонентами для разработки ПО;

¾ разработка приложения для Android N – самой последней версии операционной системы;

¾ предварительная проверка уже созданного приложения на предмет ошибок в нем;

¾ большой набор средств инструментов для тестирования каждого элемента приложения, игры;

¾ для неопытных/начинающих разработчиков специально создано руководство по использованию Android Studio, размещенное на официальном сайте утилиты.

Эта курсовая работа строиться основываясь на шаблоне MVVM. MVVM (Model-View-ViewModel) позволяет отделить логику приложения от визуальной части (представления). Данный паттерн является архитектурным, то есть он задает общую архитектуру приложения.



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: