Liferay выпустила очередную версию своей портальной платформы Liferay CE 7.4.3 и с гордостью заявила в анонсе, что теперь это полноценное решение No Code. Это правда?
В общем, No Code — крутая штука! Как человек, который работал программистом с 1995 года и сейчас вынужден продавать ПО, я прекрасно вижу, как это выглядит.
- Посмотрите, какая у нас крутая платформа No Code! Она так хорошо исполняет «Hello World»!
- Прохладный! Сколько это стоит?
- Ну и миллион (всего!) за лицензию, плюс миллиард на внедрение, плюс квадриллион на то, чтобы научить ваших менеджеров строить на ней приложения! Но тогда вы можете уволить всех своих программистов! (Вы видели, какие сейчас зарплаты у программистов???)
- Большой! Продажи!
Но теперь нам нужно сделать «Hello World!» - но не знает как.
Исправьте – «Вы программист!»
И человек долго и нудно пытается вписать в платформу то, что на обычном стеке можно было бы сделать за полчаса.Применяет все возможные подходы к нетрадиционному программированию, уже через две недели достигает желаемого результата, но чувствует себя нетрадиционным программистом.
И он покидает компанию вслед за остальными.
Так что, если кто-то продал вашему руководству идею No Code — как панацею для решения ВСЕХ проблем — лучше сразу обновите свое резюме на HH и ХабрКарьере — добром эта история не закончится.
Это будет не серебряная пуля – а золотой гвоздь в гроб (или есть у кого успешный опыт?).
НО! На самом деле в мире есть место No Code, нужно просто правильно использовать инструменты.
Если вам нужен простой сайт — глупо ставить за него команду React-программистов — в условной Тильде его можно создать самому, причем гораздо быстрее.
No Code хорош там, где нужно быстро сделать что-то простое и максимально стандартное.
Чтобы система называлась No Code, в моем понимании она должна иметь следующие компоненты (как минимум):
- Инструмент описания объектной модели
- Инструмент описания поведения (бизнес-логика)
- Инструмент создания интерфейса
Liferay более чем хорош с интерфейсами.
Это, прежде всего, конструктор страниц (а-ля Тильда) с возможностью создавать страницы из готовых компонентов буквально за секунды.
редактор интерфейса в Liferay Это тоже редактор форм, не идеальный, но достаточно мощный инструмент (с гибкой раскладкой полей, возможностью разделения на страницы - мастер, с разными типами полей, проверкой, масками и зависимостями полей друг от друга).
С его помощью можно создавать действительно сложные фигуры.
редактор форм в Liferay В целом здесь все хорошо, веб-интерфейс можно создать с помощью мыши и перетаскивания.
Поведение немного хуже.
В Liferay есть возможность привязывать бизнес-процессы к тем же формам, но встроенная реализация движка бизнес-процессов — Kaleo, как бы это сказать, слишком базовая.
В нашем Инкоманд Мы обошли эту проблему, добавив на портал движок вместо Kaleo. текучий (многие знают Camunda — так что Flowable — ее двоюродный брат-близнец — обе вилки от Activiti, только Camunda разветвилась на полтора года раньше).
С полноценной BPMN-нотацией — и с ней можно многое сделать (кто работал с той же Камундой — не дадут соврать).
редактор бизнес-процессов в Incomand Остался еще вопрос с объектной моделью — и тут возникли проблемы.
Дело в том, что одни и те же формы хранили все свои данные в одной таблице в одном поле (в формате JSON).
Если вам просто нужно собрать некоторые данные, это нормально.
А вот если с ними потом придется как-то работать, это уже большая проблема.
Давным-давно (ещё в версии 6.х) Liferay разработал механизм для динамических объектов (Dynamic Data List) — те же формы, только вид сбоку.
Но и там всё хранилось в одной таблице в одном поле — в формате XML. С подобными проблемами.
И вот, в последней версии 7.4 (точнее 7.4.3) они появились - Liferay Objects! Это редактор объектной модели, который честно создает для каждого объекта отдельную таблицу.
Закончено! Или? Как только тег появился на GitHub, я пошел скачивать и тестировать версию, еще не дождавшись официального релиза.
Я даже написал на официальном сайте объявление .
НО - официальный сайт есть официальный сайт, а реальность не так хороша, как хотелось бы.
С одной стороны да, все заявленное есть:
- Вы можете создавать новые объекты;
- Для объектов можно задавать поля разных типов с разными атрибутами (например, обязательными);
- Вы можете создавать связи между объектами (генерируются внешние ключи);
- Поддерживается локализация (названия объектов и полей можно указывать на разных языках);
- Поддерживается рабочий процесс – при создании объекта можно запустить бизнес-процесс;
- Для объектов генерируется удобный REST API.
редактор объектов в Liferay 7.4 В целом можно сказать, что необходимый минимум есть (мы помним, что No Code всё-таки для относительно простых, типовых задач).
Но самое интересное начинается, когда мы переходим на вкладку «Макеты» — здесь можно задать формы для работы с объектом.
редактор формы объекта И тут меня настигло удивление и разочарование.
Вместо ожидаемого редактора форм, который Liferay разрабатывает уже несколько лет и в котором реализовано всё возможное, нас ждёт какой-то совершенно новый редактор с ОООООО базовым функционалом.
Создать на нем что-то вменяемое, которым смогут пользоваться обычные пользователи, нереально.
Дальнейшее изучение ставит все на свои места.
Работа с созданными объектами доступна только из панели управления (при наличии прав).
Невозможно разместить список созданных объектов где-то на странице сайта.
Получается, что формы редактирования объектов в первую очередь для администрации (а для админов они всё потерпят!).
А как насчет конечных пользователей? Ну вот классный REST API, садитесь, пишите приложение на React/Angular/Vue (выбирайте на свой вкус), встраивайте его в портал — и будет вам счастье.
Разумно ли это? Да, но это вовсе не платформа No Code. Результат? Все еще грустный.
Фактически, у Liferay есть все компоненты, которые можно назвать платформой без кода.
Но, поскольку они не связаны друг с другом, мы не получаем ни того, ни этого.
Теги: #Разработка сайтов #java #nocode #CMS #liferay
-
Пенфилд, Уайлдер-Грейвс
19 Oct, 24 -
Как Воспитать Наследника В Своем Бизнесе?
19 Oct, 24 -
Планировка Без Макетов
19 Oct, 24 -
Цены На Компоненты 10 Лет Назад
19 Oct, 24 -
Быстрая Сортировка С Двойным Поворотом
19 Oct, 24