Реализация клиент-серверного социального приложения

Введение

В настоящее время социальные сети стали неотъемлемой частью жизни каждого человека. В большинстве социальных сетей есть воз­можность размещать пользовательские приложения.

К социальному приложению можно предъявить следующие требова­ния:

  • виральность (алгоритмы привлечения пользователей в реализованном приложении);
  • монетизация;
  • красота интерфейса;
  • небольшой размер приложения;
  • устойчивость к классическим взломам.

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

Данная работа демонстрирует весь цикл создания социального при­ложения: от выработки начальных требований, до размещения готового приложения и анализа поведения готового продукта.

Целью настоящей работы является изучение современного рынка со­циальных сетей и разработка конкурентоспособного приложения. Полу­ченные результаты могут быть использованы в учебных целях: для изу­чения социальных приложений и создания собственных. Предложены основные требования и базовые идеи для создания собственной разра­ботки. Продемонстрировано внедрение приложения в социальные сети.

Описание реализованного приложения

Приложение создано в стиле классического тетриса, но с возможно­стью многопользовательской игры. Базовый механизм игры Тетрис, раз­работанный в 1984 году Алексеем Пажитновым, хорошо себя зареко­мендовал и был использован в качестве базисного в настоящей реализа­ции.

Сложности реализации многопользовательской игры:

  • синхронизация игрового процесса;
  • контроль передачи данных по сети;
  • усложнение идейной составляющей игры.

Структура приложения

Данное приложения для каждой социальной сети будет состоять из трех частей:

  • клиентская часть;
  • серверная часть;
  • сервера социальной игры.

Первые две части необходимо реализовать разработчику приложения и сделать интеграцию с социальной сетью.

Взаимодействие между данными частями приложения происходит посредством HTTP-запросов и вызовов Java-Script функций.

Для каждой социальной сети под игру выделяется отдельный Linux-сервер. Преимущественно серверная часть приложения реализована на языке программирования Java. На сервере все данные хранятся в базе данных MySQL.

Многочисленные модули приложения выполняются на сервере. Пе­речислим основные модули: контейнер, модуль основной логики, стати­стика.

Контейнер — модуль для обертки флэш приложения в Iframe с исполь­зованием технологий JSP. В социальных сетях контейнер осуществляет передачу запросов от клиента к серверам социальной сети посредством Java-Script функций.

Основной модуль — приложение, в котором собрана вся основная ло­гика приложения, обработка запросов от пользователей, подбор сопер­ника для игры, сохранение состояний пользователей в базу данных.

Модуль статистики предназначен для анализа поведения приложения. Во время запуска приложения он позволяет найти слабые места в при­ложении, места возможных ошибок и т.д.

Со специализированных серверов загружаются swf файлы клиента, которые собираются вместе в приложение. Клиентская часть приложе­ния полностью реализована на технологиях Flash/Flex [1]. Основная причина выбора данной технологии — это ее простота и популярность.

Клиент разделен на следующие модули: загрузчик, логическую часть и модули ресурсов.

Основной функцией загрузчика является загрузка и сборка остальных модулей проекта. Загрузчик является еще одним слоем конфигурации приложения, так как для большинства социальных сетей пишется свой загрузчик.

В логической части приложения содержится основная часть кода кли­ента, для того чтобы разделить код от графических ресурсов на уровне загрузки приложения. Клиент имеет независимый абстрактный слой, в котором идет работа с социальной сетью. Таким образом, изменив одну строчку кода, можно переключить клиента на работу с другими соци­альными сетями.

В приложении есть группа модулей с графическими и звуковыми ре­сурсами проекта.

Клиент обеспечен достаточной защитой от классических взломов, та­ких как подмена запросов, повторение запросов к серверу, изменение значений в оперативной памяти и ряд других.

Запуск приложения и цикл поддержки

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

Полученное приложение было успешно протестировано в социальной сети ВКонтакте и было принято решение расширить функциональность игры и запустить игру в других социальных сетях.

В результате разработки и тестирования приложения была создана следующая стратегия поддержки готового продукта и выпуска новых версий:

  • разработка новой функциональности;
  • ее запуск;
  • анализ внедренного в приложение изменения;
  • исправления и дополнения разработанной функциональности;
  • повторный анализ;
  • портирование данного изменения в другие социальные сети.

Для более эффективного продвижения продукта на рынке желательно запускать приложение в разных социальных сетях.

В следующих версиях игры была добавлена следующая функцио­нальность: ежедневный подарок, игра онлайн с другом из данной соци­альной сети, достижения, различные типы игр.

Заключение

В данной работе был изучен рынок социальных сетей для создания и запуска социальных приложений. Было разработано конкурентоспособ­ное приложение под названием «Мастер Тетриса» и успешно запущено в различных социальных сетях.

Модель взаимодействия игры с пользователем данного приложения может быть применена в развивающих играх, что позволит повысить мотивацию детей к развитию и образованию. Стратегия разработки дан­ного продукта протестирована и отлажена и в дальнейшем может ис­пользоваться для разработки других социальных приложений.

Русскоязычная направленность данной работы позволит увеличить процентное соотношение игр от русскоязычных разработчиков на миро­вом рынке.

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.