Нетрадиционный симбиоз 1С-Битрикс и социальных сетей
На прошлой неделе мы рассказали про Lucky Balloons — игровое приложение для ВКонтакте, где можно дротиками насшибать шарики и выиграть реальные призы.
Фото с сайта: www.golfllnnews.com

Пока школота выигрывала iPad-ы, аудиоплееры и виртуальные голоса — наша прекрасная менеджер проектов Аня просадила 500 рублей и ничего не выиграла. Но речь не о ней. Дело в том, что это приложение управляется из Битрикса...

Сейчас придут адепты HiLoad проектов и начнут проповедовать Node.JS и Erlang. Ша! Все под контролем :-)

Вообще мы не планировали использовать CMS на этом проекте и не закладывали покупку лицензии в смету. Однако заказчику нужно было дать механизмы по добавлению новых призов, поиску победителей, настройке вероятностей выигрыша... В базовой версии Битрикс это все было практически «из коробки».

Но Битрикс требует довольно тяжелой инициализации, что при большом количестве запросов может сделать приложение — неработоспособным. Решение было довольно тривиальное:

  1. В момент инициализации приложения — мы считываем и передаем все настройки на клиента. Это нужно сделать только один раз за всю сессию. Здесь мы используем механизм инфоблоков, поскольку инициализация приложения — редкая процедура.
  2. Обсчет события (броска дротика) — это уже частое событие, которое мы должны уметь обрабатывать быстро. Тут мы отказались от работы с инфоблоками через API и реализовали прямые выборки из базы данных MySQL.

Соответственно, «тяжелая» инициализация фреймворка — не потребовалась. Поскольку серверная логика нашего приложения довольно проста (клиентская часть в разы сложнее) — реализовать ее без фреймворков удалось за считанные часы.

Уже на старте мы соотнесли стоимость разработки админки под клиента «с нуля» и покупки готовой лицензии. Итого:

  1. Сэкономили;
  2. Ускорили разработку;
  3. Дали клиенту не админку-страшилку, а удобное, хорошо документированное средство управления.

А практика показала, что нагрузку держим нармальна :)