Spin Dash

Spin Dash — платформа для облегчения написания веб-приложений. По своему устройству её можно считать микрофреймворком.

Краткое описание

Основная идея проекта Spin Dash — предоставить платформу с централизованным API для написания веб-приложений в событийно-ориентированном стиле, то есть путём назначения обработчиков различным событиям. Spin Dash всё ещё находится на стадии разработки и, вероятно, полностью законченным проектом не станет никогда — функциональность добавляется в проект по мере необходимости.

При разработке Spin Dash были учтены особенности многих существующих продуктов, включая Silex, Django и Qt. Из Silex и Django заимствовано использование функций представления и использование классов Request и Response для работы с HTTP-запросами и ответами. Благодаря использованию в Spin Dash шаблонизатора Twig можно также сказать, что из Silex и Django также позаимствован синтаксис шаблонов. Из Qt позаимствован подход к наименованию сущностей (классов, методов, переменных), а также то, что вся работа с классами осуществляется через методы (все члены всех классов являются приватными или защищёнными). Некоторые из идей, лёгших в основу Spin Dash, обсуждались на форуме Шаманграда в этой и других темах.

Предназначение

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

  • SmartCommunity — международное IT-сообщество
  • ООО «Оргтехсервис» — интернет-провайдер
  • Webline Masters — веб-студия

Наибольший вклад в развитие Spin Dash внесло сообщество SmartCommunity, в частности, в процессе разработки сервиса Lopbox.

Отличительные особенности Spin Dash

  • Корректно написанное на Spin Dash веб-приложение можно разворачивать двумя способами — классическим (выполнение сценариев PHP делегируется веб-серверу; скрипт index.php размещается в корневом каталоге виртуального узла) и в режиме FastCGI. Во втором случае скрипт index.php запускается в командной строке и начинает принимать входящие соединения на некотором TCP-порту. Такая двоякость использования реализована прозрачно — одно и то же веб-приложение можно запустить любым из этих двух способов.
  • Формируемые контроллерами HTML-страницы могут быть легко закешированы при помощи memcached, Redis или используемой веб-приложением базы данных.

Внешние зависимости Spin Dash

  • PHP 5.4.0 или позднее
  • mbstring — обязательно
  • PDO (PHP Database Objects) с драйвером MySQL, SQLite или PostgreSQL — только в случае использования баз данных
  • Twig — только в случае использования шаблонизатора
  • Поддержка встроенных сессий PHP — на данном этапе развития проекта обязательно
  • memcached — только для кеширования в memcached
  • phpredis — только для кеширования в Redis

Установка

Spin Dash можно установить на сервер, используя пакетный менеджер PEAR:

pear channel-discover pear.averkov.net
pear install WST/spindash

Для обновления Spin Dash достаточно выполнить следующие команды:

pear channel-update pear.averkov.net
pear upgrade WST/spindash

Обратите внимание: для простоты установки продукта все его выпуски в PEAR всегда имеют статус стабильных, однако, в действительности, API системы всё ещё может (и будет) сильно меняться от версии к версии. О стабилизации API будет сообщено отдельно.

Подключение к проекту

TODO…

Контрибуции

Для управления процессом разработки Spin Dash я использую свою учётную запись на Github. Это значит, что при наличии времени, желания и необходимых знаний вы можете внести свой вклад в развитие проекта, сообщив мне об ошибке созданием тикета или даже сделав Pull Request. Если ваши изменения покажутся мне интересными и качественными, я включу их в проект.

Добавить комментарий

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

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>