Webasyst — это PHP-фреймворк (платформа) для разработки веб-приложений, у которых есть бекенд и фронтенд. С помощью фреймворка Webasyst можно создавать веб-проекты различной направленности, однако лучше всего фреймворк подходит именно для веб-проектов с бекендом и фронтендом, многопользовательским доступом и гибкой возможностью разграничения прав доступа.
Бекенд — это закрытый паролем раздел сайта для управления данными. Доступ к бекенду может иметь любое количество пользователей, и каждый пользователь имеет доступ только к тому набору инструментов, к которому у него есть доступ. Бекенд работает сразу же после установки фреймворка, и в нем изначально доступны несколько системных приложений: «Сайт», «Команда» и «Инсталлер».
- «Сайт» — это приложение для управления страницами сайта, полноценная CMS с редактором дизайна, средствами настройки маршрутизации (распределения URL запросов между всеми установленными приложениями), и визуальным редактором текста для быстрого формирования содержимого страниц сайта.
- «Команда» — приложение для управления пользователями бекенда.
- «Инсталлер» — инструмент для автоматизированной установки приложений, плагинов и тем дизайна из централизованного хранилища (репозитория) на сервере Webasyst.
Фронтенд — это собственно интернет-сайт, формируемый приложением, т. е. страницы, доступные любому посетителю без ввода пароля. Страницы сайта, работающего на основе фреймворка Webasyst, могут быть сформированы разными приложениями: «Сайт» (обычные информационные страницы), Shop-Script (страницы витрины с информацией о товарах), «Фото» (фотогалерея), «Блог» (блоги) и т. д.
Для формирования дизайна страниц фронтенда (т. е. сайта) используется механизм тем дизайна. Тема дизайна — это набор HTML-шаблонов, CSS- и JavaScript-файлов, задающих оформление страниц одного приложения. Наряду с отдельными темами для конкретных приложений существуют и семейства тем дизайна, которые позволяют придать общий внешний вид страницам, сформированным несколькими разными приложениями.
Приложение — это набор скриптов, объединенных общей логикой и выполняющихся в общем адресном пространстве. Например, по адресу вида http://yourdomain.ru/webasyst/shop/
работает бекенд приложения Shop-Script — все запросы, URL которых начинается с такого базового адреса, обрабатываются только этим одним приложением. В отличие от приведенного примера запросов к бекенду, запросы к фронтенду каждого приложения могут группироваться с помощью неограниченного количества правил (масок). Например, витрина интернет-магазина может быть доступна по нескольким адресам: http://yourdomain.ru/
, http://yourdomain.ru/books/
, http://yourdomain.ru/facebook/
и т. д. И у каждой такой витрины может свое собственное оформление — в зависимости от выбранной темы дизайна.
При написании приложения есть возможность включить в него поддержку плагинов. Плагины позволяют добиться расширения функциональности приложения без изменения его исходного кода. Плагины устанавливаются и подключаются так же просто, как и приложения: одним щелчком мыши в «Инсталлере». Плагины, которые можно подключить к нескольким приложениям, называются системными. Примеры системных плагинов: модули интеграции с платежными системами или SMS-шлюзами (для отправки SMS-сообщений средствами приложений, которые используют такой плагин).
Выгодное отличие фреймворка Webasyst от многих других программных платформ состоит в том, что в нем описан набор готовых сущностей, часто используемых при разработке бизнес-приложений: контакт, пользователь, файл, авторизация, валюта, событие, рабочий процесс и т. п. Их наличие позволяет разработчику существенно сэкономить время и удобно связать логику работы своего приложения или плагина с логикой работы других приложений и плагинов. Эта особенность фреймворка открывает широкие возможности для взаимной интеграции между различными приложениями и сильно сокращает время, затрачиваемое на разработку.