Webasyst
Webasyst - российский PHP-фреймворк с открытым исходным кодом для разработки веб-приложений, управления сайтами и автоматизации бизнеса. Распространяется под лицензией LGPL. Разрабатывается компанией «Артикус» с 2011 года.
В отличие от фреймворков общего назначения, Webasyst содержит встроенную логику для работы с бизнес-сущностями: контактами, пользователями, валютами, заказами, платёжными транзакциями и рабочими процессами. Это позволяет быстро создавать онлайн-приложения для управления бизнесом.
Системные требования
[править]- Веб-сервер: Apache + mod_php либо nginx/lighttpd + FastCGI. IIS номинально поддерживается, но разработчиком не рекомендуется. Стандартной конфигурацией является сочетание Apache + mod_php.
- PHP: версия 7.4.24 или выше.
- Обязательные расширения PHP: mbstring, iconv, JSON, cURL, Imagick или GD, dom/xml, Zlib.
- MySQL: версия 4.1 или выше.
Основные особенности
[править]- Кодировка символов: UTF-8.
- Поддержка интернационализации: Gettext.
- Языки интерфейса: русский и английский, с возможностью подключения других языковых локалей.
- Парадигмы проектирования: ООП, MVC, одиночка, фабрика.
- Поддержка API для управления данными и доступа из внешних систем.
- Поддержка ЧПУ.
- Маршрутизация HTTP-запросов с возможностью применения регулярных выражений.
- Автозагрузка PHP-классов и автоматическое подключение HTML-шаблонов благодаря стандартизированным именам файлов.
- Встроенный шаблонизатор HTML: Smarty.
- Встроенная библиотека JavaScript: jQuery.
- Поддержка нескольких механизмов кеширования.
- Поддержка отправки push-уведомлений и подключения к CDN-провайдерам.
- Встроенная реализация авторизации через OAuth 2.0.
- Поддержка событий для интеграции программных продуктов между собой.
- Встроенные виды капчи.
- Механизм обработки HTTP-запросов от платёжных систем.
- Механизм автоматического формирования Sitemap-файлов.
- Поддержка тем оформления для страниц сайтов.
- Консольные команды для автоматизации разработки.
- Поддержка мобильных устройств.
- Автоматизированная установка новых версий фреймворка и созданных на его основе продуктов.
Типы расширений
[править]Webasyst поддерживает несколько видов программных продуктов, которые можно создавать и устанавливать:
- Приложения - основные функциональные модули (например, Shop-Script, CRM, «Сайт»).
- Плагины - расширения функциональности отдельных приложений, а также системные плагины для расчёта доставки, приёма платежей и отправки SMS.
- Виджеты - информационные блоки для отображения на дашборде.
- Темы дизайна - шаблоны оформления для публичных страниц сайтов.
Все расширения устанавливаются через встроенное приложение «Инсталлер» из официального каталога.
Встроенные приложения
[править]После установки Webasyst пользователю доступны следующие базовые приложения:
- «Инсталлер» - для установки, обновления и удаления программных продуктов.
- «Сайт» - для создания и управления веб-сайтами.
- «Настройки» - для управления общими настройками аккаунта, сайтов, пользователей.
- «Команда» - для настройки прав доступа пользователей.
Дополнительные приложения (например, интернет-магазин Shop-Script, CRM, «Блог») устанавливаются через «Инсталлер».
Дашборд и виджеты
[править]В системе предусмотрен специальный раздел «дашборд» для просмотра истории действий и управления виджетами - небольшими информационными блоками, отображающими различные параметры работы сайтов и приложений. Веб-страницу с виджетами можно выводить на экран телевизора с поддержкой онлайн-трансляций.
Аутентификация
[править]Доступ к пользовательскому пространству защищён системой аутентификации, которая может работать в нескольких режимах:
- с логином и паролем;
- по одноразовому числовому коду, отправляемому в email- или SMS-сообщении;
- с использованием сервиса Webasyst ID (на основе протокола OAuth 2.0).
Настройка веб-сайтов
[править]С помощью одной установленной копии Webasyst можно управлять неограниченным количеством сайтов с разными доменными именами. Для каждого сайта настраиваются:
- маршрутизация HTTP-запросов между разными приложениями;
- перенаправления;
- дизайн и содержимое страниц;
- личный кабинет и способ авторизации;
- использование HTTPS;
- содержимое файлов robots.txt и favicon;
- подключение к CDN-сервисам.
Распространённость
[править]В июне 2023 года зафиксировано более 17 000 действующих веб-сайтов, созданных с помощью Webasyst. Наиболее популярное приложение, созданное на этом фреймворке - интернет-магазин Shop-Script.
Разработка
[править]На сайте фреймворка доступна документация для разработчиков с пошаговыми инструкциями по созданию приложений, плагинов, виджетов и тем дизайна. Для автоматизации рутинных действий предусмотрены консольные команды (CLI), запускаемые через файл `wa.php`.
Новый интерфейс
[править]В апреле 2021 года добавлена поддержка программного инструментария для создания обновлённого интерфейса пользователя. Для помощи разработчикам в переходе на новый режим интерфейса выпущено приложение UI со встроенной документацией.
