В 2021 году состоялся запуск нового интерфейса админки Webasyst 2.0, что вызвало неоднозначную реакцию у пользователей. После знакомства с ней возник вопрос, что делать дальше. Остаться на 1.3, попробовать поработать в 2.0 или усиленно переносить всю доработку с 1.3 на 2.0? Выскажу своё мнение по этому поводу с точки зрения пользователя и разработчика.
С версией интерфейса 1.3 мне довелось работать несколько лет, в течении которых постоянно велась работа по доработке интерфейса ShopScript для более удобного использования, дописывания функциональности для десятка чужих плагинов и создания нескольких десятков своих. С развитием интерфейса 2.0 и рекомендацией переходить на него сразу возникает вопрос: может ли новый интерфейс предоставить такое же удобство для работы как и старый интерфейс с доработками?
Взгляд пользователя
На текущий момент не все приложения переведены на интерфейс 2.0. Например, "Сайт", "Контакты", "Вся дата", "ККМ" имеют старый интерфейс. Для меня этот момент непринципиален, как и то, какой интерфейс имеют все приложения, которые не являются основными - "Инсталлер", "Команда", "Логи" и т.д. Да, между интерфейсом 2.0 и 1.3 есть разница. Первый выглядит "свежо и современно". Но как пользователь я основное внимание уделяю качеству информации и удобству работы с ней, чему и должен способствовать дизайн. Проще говоря, не готов только ради дизайна пользоваться всем новым, считая всё остальное устаревшим и неинтересным.
Для меня основным приложением в работе является ShopScript и, в особенно, раздел по работе с товарами, в котором приходится редактировать данные. И удобство этого процесса является ключевым.
Перехожу на страницу товаров и открываю карточку товара. А где элементы управления установленных плагинов? Где собственные наработки? Их нет. Плагины для 1.3 автоматически не поддерживаются в 2.0. Нужна доработка. Будут ли разработчики платных плагинов адаптировать их для интерфейса 2.0? Хороший вопрос. А что делать с плагинами, разработчики которых уже перестали их поддерживать? Самим дорабатывать? Хорошо, собственные плагины можно перевести на 2.0, но смысл это делать, если чужие плагины поддерживают только 1.3? Переключаться туда-сюда? Зачем, если всё работает в 1.3?
В документации сказано, что с 1 сентября 2024 года любое обновление приложения, плагина или виджета должно поддерживать интерфейс Webasyst 2. А все ли разработчикки захотят делать эти обновления? Многие плагины работают много лет без обновлений и так и будут работать. Но есть критически важные плагины, в которых до сих пор исправляют ошибки. Сентябрь уже на носу, но массового перевода плагинов на 2.0 лично я не вижу.
В результате возникла самая настоящая вилка, когда у пользователей есть только два выхода - либо до упора сидеть на 1.3, либо переключаться туда-сюда с 1.3 на 2.0. Работать в 2.0 смогут только те, кто может обойтись без плагинов.
В старом интерфейсе 1.3 было несколько неудобных моментов:
Посмотрим, что предлагает новый интерфейс 2.0
Сразу бросается в глаза изменённая компоновка элементов управления. Если 1.3 была горизонтальная компоновка меню, то в 2.0 используется вертикальная. Вместо горизонтальных вкладок вертикальный список в сворачивающемся до пиктограмм сайдбаре. Интерфейс 2.0 спроектирован для более удобное работы на мобильных устройствах с вертикальной ориентацией и данной решение имеет преимущества.
Также сразу бросилось в глаза отсутствие количеств товаров у категорий и списков. Это очень неудобно. Как понять, есть ли в категории товары? В старом интерфейсе количества товаров в некоторых случаях давало неправильные цифры, но они хотя бы показывали, что товар есть.
Функциональные панели имеют независимую прокрутку и занимают по высоте один экран. Это удобно. Но работа с категориями и списками стала менее удобной. В старом интерфейсе развернул всё дерево и оно так и остаётся развернутым. А в новом при повторном открытии страницы оно сворачивается. В старом интерфейсе можно было при помощи браузерного поиска перейти к нужной ссылке, а в новом - нет.
Панель массовых действий справа имеет полосу прокрутки, а панель категорий - не имеет. Почему? Чтобы не испортить дизайн? Но это же удобно протянуть ползунок до нужного элемента интерфейса.
Также обращает на себя внимание оформление товаров в таблице. Пиктограммы товаров мелкие, данные в таблице плохо различимы и придётся это доработать. Настройка профилей колонок таблицы и изменяемая ширина колонок - хорошо. А вот это что такое? В столбце "Видимость" три пиктограммы, и как понять, для чего они? По логике, нажатие на них не должно приводить к разрушающему действию, но если непонятно, то лучше не нажимать.
Сохраненные фильтры - это удобно, но создание самих фильтров гораздо понятнее в плагине для старого интерфейса.
В браузере Firefox если установить в поле поиска товара курсок и удерживать клавишу, то символы начинают добавляться в поле, но далее страница подвисает и появляется сообщение "Эта страница замедляет Firefox". Выделение товаров с Shift в Firefox тоже не работает. Хорошо, можно использовать другой браузер и закрыть эти вопросы.
С точки зрения пользователя новый интерфейс страницы товаров ShopScript выглядит так, что часть его упрощает работу с товаров по сравнению с 1.3, а часть усложняет. Значит, придётся снова разрабатывать плагины и мы переходим к оценке 2.0 с точки зрения разработчика.
Взгляд разработчика
Для введения в разработку расширений под 2.0 есть неплохое бесплатное приложение UI, в котором можно найти примеры создаения различных элементов интерфейса. Это хорошо, но для написания кода необходима информация по хукам. Открываем документацию разработкика "API и хуки" и видим всё тот же непонятный список методов. Для сравнения посмотрите этот список в другом оформлении. В последнем случае сразу видно и назначение метода, и то, для какого интерфейса он используется.
Кто-то может сказать, подождите, при чём здесь документация, если мы говорим о дизайне? Элементы интерфейса же стало удобнее и быстрее создавать? На этот вопрос я не могу ответить, потому что для вызова интерфейса нужно использовать хуки, а попробуйте сначала в официальной документации найти хуки, которые можно использовать в 2.0.
В 2.0 изменился подход не только к фронтэнду админки, но и к бэкэнду. Для новых разработчиков это непринципиально. Если они планируют создавать плагины только для внутреннего использования, то можно сразу стартовать с версии 2.0 (если для работы не требуются плагины 1.3) и не думать, а что там было до этого в 1.3. Но с точки зрения опытного разработчика ситуация выглядит так: есть плагины для 1.3, которые теперь нужно адаптировать для 2.0. Это не требует написания ещё одного плагина, но может потребовать поддержки двух версий плагина - для 1.3, на которой ещё работают, и 2.0, на которую рано или поздно, видимо, придётся перейти окончательно. А вот здесь могут быть нюансы. Один из них - новая версия написана с использованием Vue.
Можно много говорить о том, что Vue - это современно, прогрессивно и хорошо, а JS и jQuery давно устарели, нефункциональны, имееют кучу недостатков. Допустим, но при всём уважении к Vue, JS и jQuery проще для изучения и использования. При взгляде на интерфейс 2.0 я не вижу качественного скачка при переходе с 1.3 на 2.0. Придётся также редактировать и системный код, и разрабатывать плагины для получения более удобного в работе продукта.
Что имеется ввиду под фразой "качественный скачок". Например, поддержку разработки системных расширений. Например, плагин персонализации вида, при помощи которого каждый пользователь мог бы настроить интрефейс приложений в админке под себя, скрыв лишнее.
Сейчас при помощи плагинов можно корректировать код приложения, в рамках которого он создан. Но было бы неплохо иметь системные плагины, которые подключались на уровне платформы Webasyst и были доступны глобально. Весьма не лишним была бы возможность добавлять пользовательские столбцы в таблицы, делать тонкую настройку интерфейса для каждого пользователя при помощи глобальных css и дополнительно к страницам с подгрузкой и пагинацией использовать виртуальные списки. Также неплохо было бы активнее использовать сайдбар справа, разместив нём панель характеристик товаров. Тогда можно было бы сразу вносить изменения в характеристики товара, без необходимости постоянного открытия карточки товаров.
Web-интерфейс проигрывает по скорости и функциональности оконному интерфейсу и нужно смелее подходить к его более удобной реализации.
Обновление платформы - это весьма непростая задача. А универсальной платформы - ещё более сложная. Сделать его удобным для всех не получится по определению. Над иными интерфейсами работают сотни разработчиков, проводится огромное количество тестов, а нередко получается так: стоит перед тобой новенький системный блок и думаешь, а где кнопка включения-то?. Но в том-то и дело, что цифровой интерфейс позволяет производить его доработку под себя и от интерфейса 2.0 хочется увидеть, как говорил один персонаж из мультфильма "Рататуй", перспектив. И перспектив в реализации основного приложения - ShopScript.
В моём случае 95% используемых плагинов не поддерживают 2.0. Cреди них есть критически необходимые для работы. В таких условиях окончательный переход на 2.0 просто невозможен.