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

    Здравствуйте, Хабраюзеры! 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 будут описаны отдельно.

    Similar posts

    Ads
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More

    Comments 19

      0
      По прочитанному, звучит очень круто! Смутило в цене соотношение вызовов API к Push нотификациям.
      Понравилось, что не навязываете свой sdk (в отличии от умельцев, которые так и наровят его написать, да еще и оформить в виде статической библиотеки, которая .....) и можно сделать свою реализацию доступа к API.
        0
        Да, Вы правы. Как пользователям будет угодно = )
          0
          QuickBlox зарабатывает на кастомных enterprise установках, поэтому мы всегда будем держать цену для разработчиков минимальной или вообще расширим free tier на всю систему. От разработчиков нам важно чтоб платформу использовали и помогали с обратной связью. Поэтому если Вас что-то смущает в цене, обращайтесь, наверняка в Вашем случае вообще ничего платить не нужно будет.
            0
            Спасибо за ответ, звучит многообещающим. Обязательно сделаю следующий проект с использование вашего сервиса в качестве бекенда.
            Посмотрите, что у вас с регистрацией на почтовый ящик @me.com, т.к. зарегистрировался, но на почту ничего не пришло, да и при входе не пускает, а при регистрации говорит что имя уже присутсвует. Видимо баг какой-то. Поправьте пожалуйста.
              0
              Спасибо, глянем, до сих пор ничего не пришло? В спам не упало?
          0
          Хоть и довольно далеко от мобильных платформ и не знаю какая конкуренция в приложениях подобного рода, но близок к вашему проекту со стороны постоянно разработки клиент серверных приложений и мне нравится ваше предложение!:-) Добавил в избранное, на случай работы с мобильными платформами — удачи вам!
            0
            Спасибо!
            0
            Прямо появляется желание начать писать под мобильные платформы :)

            Особенно с оговоренными фичами, которые надо будет использовать (и они уже реализованы в веб), если возникнет желание расширить под мобильные версии :))
              0
              Начинайте писать, а мы Вам поможем = )
                0
                «С обычным p2p чатом так же доступны комнаты в multi user chat. Переброс файлов, видео и аудио звонки возможны благодаря всё тому же XMPP.»

                Я правильно понимаю, что возможно реализовать (читать «уже реализован вами») мультипользовательский чат с возможностью (в том числе групповых) видеозвонков и передаче файлов? :)
                  0
                  Да. XMPP позволяет это сделать.
                    0
                    Спасибо за ответ. Мы это реализовали посредством Adobe Stratus
                      0
                      Но если есть готовое решение, которое потенциально можно использовать, очень здорово.
                  0
                  да, как Андрей сказал, начинайте писать, мы подскажем-поможем если что

                  прелесть cloud backend платформы в том, что Вы можете легко объединить своих юзеров на разных платформам, сделать то же самое приложение под iOS, Android, Windows Phone, BlackBerry, Web/Facebook — просто используйте тот же аккаунт и тот же токен приложения, и все Ваши юзеры с разных платформ будут видеть друг друга
                  +1
                  щас с вашей помощью на таких замечательных условиях сделаю мобильный варезник)
                    0
                    Но-но-но)
                    0
                    Хорошая альтернатива Parse.com, хотя они в бесплатном тарифе дают в 10 раз больше запросов и пушей. С другой стороны, у вас есть XMPP и намного больше места на диске. В любом случае, альтернатива это хорошо.
                      0
                      Ок, дадим тоже в 10 раз больше запросов и пушей :-)

                      Другое отличие Parse это то, что у них универсальный подход к хранению данных — грубо говоря, разработчик сам конструирует себе API, что он хочет хранить и как. Это и хорошо и плохо одновременно, например у нас есть модуль Location, в котором есть API для хранения гео данных, там можно хранить юзеров и объекты, для каждого название, описание, фотку, статус сообщение, флаг онлайн/оффлайн для юзеров. Есть модуль Ratings, где есть методы для хранения high scores (табличек результатов для игр), и там куча методов, которые были выработаны во время работы над реальными проектами — например, возможность вывести ТОП Х результатов, отсортировать по очкам или по кастомному параметру, подсветить свои предыдущие результаты, вывести соседние результаты Х выше и Y ниже своего, также примеры кода с реализацией например под iOS с флагами стран игроков, с аватарами, с красивой OpenGL прокруткой и подгрузкой / кэшированием. И так по каждому модулю — то есть у нас специализированные API кастомные с кучей необходимого функционала по типичным задачам плюс мы сейчас добавляем конструктор хранилищ, как у Parse. А у них наоборот, более универсальный подход, нет готовых решений для конкретных задач, но думаю они будут их тоже добавлять со временем.
                      0
                      Хорошое решение, но жаль френдов нету (

                      Only users with full accounts can post comments. Log in, please.