QuickBlox — backend для мобильных приложений

в 14:01, , рубрики: Amazon Web Services, AWS, BaaS, mobile development, paas, Облачные вычисления, метки: , , ,

Здравствуйте, читатели! image

Я хотел бы рассказать о проекте, над которым трудится наша скромная команда разработчиков — QuickBlox — это бекенд для мобильных приложений.

К сожалению, в раздел «Я пиарюсь» я писать не могу, поэтому выбраны максимально близкие к теме блоги.

8 июня на конференции mobile developer day #moco я буду рассказывать о нас и хотел бы, чтоб те, кто будут присутствовать, уже имели представление о нашем продукте.

Итак, QuickBlox — это набор модулей и блоков с заранее установленной логикой. Программист мобильного приложения может сконцентрироваться на разработке самого приложения, а не заботиться о хостинге для бекенда. Самые нужные задачи авторизации пользователя, хранения его данных и файлов, картинок и аватарок, рейтингов игр и многого другого уже не будут требовать реализации серверного приложения.

Инфраструктура QuickBlox полностью расположена на Amazon Web Services. На хабре у меня есть несколько неплохих статей об этих сервисах, но главное то, что мы имеем огромные и почти безграничные ресурсы для масштабирования.

По REST API доступны следующие модули проекта:

  • Users
  • Ratings
  • Content
  • Chat
  • Messages
  • Location

Подробнее обо всех модулях будет рассказано в отдельных статьях, там же будут приведены куски кода под самые распространённые платформы, примеры вызовов API и другие полезности. В этой статье я пройдусь по модулям коротко.

Users

Модуль Users позволяет хранить и аутентифицировать пользователей в приложении. Для хранения доступны такие поля как login, facebook id, twitter id, email, phone, website, fullname, external id. Так же доступны теги, позволяющие разделять пользователей по группам.

Мы можем хранить сотни тысяч ваших юзеров, а вы даже не будете заботиться о серверных мощностях и хранении данных.

Ratings

Название модуля Ratings говорит само за себя — в этом модуле можно хранить всевозможные записи рейтингов и хайскоров. Существет гибкая система настроек гейммодов и параметров, с которыми работает приложение. Логика Ratings разработана по требованию многих разработчиков, которые с нами сотрудничают и покрывает практически все варианты записи хайскоров игр.

Content

Основанный на Amazon S3 хранилище ресурс доступен через API QuickBlox. Настройка прав доступа, возможность загрузки файлов огромного размера, бесконечный объём (заявлено AWS) дают разработчику мобильного приложения фору перед остальными игроками рынка. За вас уже всё давно придумали и продумали — используя API храните файлы у нас! Кстати, потоковое вещание тоже поддерживатся, и несколько приложений для очень именитых студий разработаны на основе модуля Content.

Chat

Все возможности XMPP чата, соединённого с модулем Users и умноженные на тысячи тысяч поднятых одновременно соединений дадут вашему приложению желанную социализацию. С обычным p2p чатом так же доступны комнаты в multi user chat. Переброс файлов, видео и аудио звонки возможны благодаря всё тому же XMPP.

Messages

Модуль сообщений поддерживает основные платформы для пуш-нотификаций — iOS, Android и Windows Phone. В настоящее время идёт разработка пушей для BlackBerry — они будут доступны в ближайшем будущем.

Помимо пушей доступны так же сообщения электронной почтой (через сервис Amazon SES), pull нотификации и POST запросы к сторонним сервисам. Взаимная интеграция с модулем Users позволяет посылать сообщения пользователям и группам пользователей одновременно, например, используя теги.

Location

Модуль Location может хранить координаты пользователей и из этих координат создавать геодаты со статусом — места где был пользователь (что-то похожее по логике на Forsquare), а если к ним привязать картинку из модуля Content — это уже будет похоже на Instagram — плейс с картинкой и комментарием на карте.

Для облегчения разработки и ускорения интеграции приложений с QuickBlox, наши программисты разработали SDK под основные платформы — iOS, Android, Windows Phone и Web/Facebook. В SDK практически полностью покрыты юзкейсы и вызовы к API.

Также QuickBlox славится открытыми проектами — Семплами. Эти программы дают возможность посмотреть код и, видоизменив его для своих нужд, внедрить в своих приложениях. От самых маленьких SimpleSamples, описывающих элементарные действия с QuickBlox, до огромных приложений с дополненной реальностью — всё доступно в открытом коде нашего GitHub аккаунта.

А теперь немного деталей о сервисе. Написан QuickBlox на Ruby on Rails. В качестве СУБД мы используем MySQL на AmazonRDS. Модуль чата — Java приложение. Наш продукт использует почти 80% сервисов Amazon, и, расширяясь вместе с ними, мы всегда открываем новые горизонты.

Ну и как же без главного, цена! На данный момент QuckBlox для бета-разработчиков абсолютно бесплатен. Потребление ресурсов и траффик считаются, но никак не отражаются на вашем счёте. А также для бета-разработчиков в будущем предусмотренны дисконт-программы. Если вы используете QuickBlox бесплатно сейчас, то, став платным, QuickBlox не станет для вас дорогим удовольствием. Эта программа создана специально для того, чтоб привлечь разработчиков, найти и пофиксить ВСЕ баги.

Новые фичи? Мы открыты для обсуждения нового функционала по запросу наших разработчиков. Для обсуждения фич и вопросов у нас есть комьюнити и саппорт.

Чем мы лучше конкурентов? Во-первых, мы ребята из Харькова, а это Рунет — мы предоставим всю необходимую поддержку на родном для вас языке. Опять же, мы бесплатны и открыты для фич, которые вы хотите у нас видеть — это во-вторых и в-третьих. Платформа находится в активной разработке и на данном этапе ваши фидбеки гораздо важнее ваших долларов.

Впрочем, вот и вся короткая информация о QuickBlox. Более детально модули и API будут описаны отдельно.

Автор: korjik


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js