Liferay 7.4 — Еще Одна Платформа Без Кода?

Liferay выпустила очередную версию своей портальной платформы Liferay CE 7.4.3 и с гордостью заявила в анонсе, что теперь это полноценное решение No Code. Это правда?

Liferay 7.4 — еще одна платформа без кода?




В общем, No Code — крутая штука! Как человек, который работал программистом с 1995 года и сейчас вынужден продавать ПО, я прекрасно вижу, как это выглядит.
  • Посмотрите, какая у нас крутая платформа No Code! Она так хорошо исполняет «Hello World»!
  • Прохладный! Сколько это стоит?
  • Ну и миллион (всего!) за лицензию, плюс миллиард на внедрение, плюс квадриллион на то, чтобы научить ваших менеджеров строить на ней приложения! Но тогда вы можете уволить всех своих программистов! (Вы видели, какие сейчас зарплаты у программистов???)
  • Большой! Продажи!
И тут, месяца через полгода, приходят к единственному оставшемуся программисту (он просто прикинулся сисадмином, когда всех программистов уволили за ненадобностью) со словами: «У нас тут крутая платформа No Code, мы круто сделали на ней «Hello World».

Но теперь нам нужно сделать «Hello World!» - но не знает как.

Исправьте – «Вы программист!» И человек долго и нудно пытается вписать в платформу то, что на обычном стеке можно было бы сделать за полчаса.

Применяет все возможные подходы к нетрадиционному программированию, уже через две недели достигает желаемого результата, но чувствует себя нетрадиционным программистом.

И он покидает компанию вслед за остальными.

Так что, если кто-то продал вашему руководству идею No Code — как панацею для решения ВСЕХ проблем — лучше сразу обновите свое резюме на HH и ХабрКарьере — добром эта история не закончится.

Это будет не серебряная пуля – а золотой гвоздь в гроб (или есть у кого успешный опыт?).

НО! На самом деле в мире есть место No Code, нужно просто правильно использовать инструменты.

Если вам нужен простой сайт — глупо ставить за него команду React-программистов — в условной Тильде его можно создать самому, причем гораздо быстрее.

No Code хорош там, где нужно быстро сделать что-то простое и максимально стандартное.

Чтобы система называлась No Code, в моем понимании она должна иметь следующие компоненты (как минимум):

  • Инструмент описания объектной модели
  • Инструмент описания поведения (бизнес-логика)
  • Инструмент создания интерфейса
А как насчет этих инструментов в Liferay? Начнем с конца.

Liferay более чем хорош с интерфейсами.

Это, прежде всего, конструктор страниц (а-ля Тильда) с возможностью создавать страницы из готовых компонентов буквально за секунды.



Liferay 7.4 — еще одна платформа без кода?

редактор интерфейса в Liferay Это тоже редактор форм, не идеальный, но достаточно мощный инструмент (с гибкой раскладкой полей, возможностью разделения на страницы - мастер, с разными типами полей, проверкой, масками и зависимостями полей друг от друга).

С его помощью можно создавать действительно сложные фигуры.



Liferay 7.4 — еще одна платформа без кода?

редактор форм в Liferay В целом здесь все хорошо, веб-интерфейс можно создать с помощью мыши и перетаскивания.

Поведение немного хуже.

В Liferay есть возможность привязывать бизнес-процессы к тем же формам, но встроенная реализация движка бизнес-процессов — Kaleo, как бы это сказать, слишком базовая.

В нашем Инкоманд Мы обошли эту проблему, добавив на портал движок вместо Kaleo. текучий (многие знают Camunda — так что Flowable — ее двоюродный брат-близнец — обе вилки от Activiti, только Camunda разветвилась на полтора года раньше).

С полноценной BPMN-нотацией — и с ней можно многое сделать (кто работал с той же Камундой — не дадут соврать).



Liferay 7.4 — еще одна платформа без кода?

редактор бизнес-процессов в Incomand Остался еще вопрос с объектной моделью — и тут возникли проблемы.

Дело в том, что одни и те же формы хранили все свои данные в одной таблице в одном поле (в формате JSON).

Если вам просто нужно собрать некоторые данные, это нормально.

А вот если с ними потом придется как-то работать, это уже большая проблема.

Давным-давно (ещё в версии 6.х) Liferay разработал механизм для динамических объектов (Dynamic Data List) — те же формы, только вид сбоку.

Но и там всё хранилось в одной таблице в одном поле — в формате XML. С подобными проблемами.

И вот, в последней версии 7.4 (точнее 7.4.3) они появились - Liferay Objects! Это редактор объектной модели, который честно создает для каждого объекта отдельную таблицу.

Закончено! Или? Как только тег появился на GitHub, я пошел скачивать и тестировать версию, еще не дождавшись официального релиза.

Я даже написал на официальном сайте объявление .

НО - официальный сайт есть официальный сайт, а реальность не так хороша, как хотелось бы.

С одной стороны да, все заявленное есть:

  • Вы можете создавать новые объекты;
  • Для объектов можно задавать поля разных типов с разными атрибутами (например, обязательными);
  • Вы можете создавать связи между объектами (генерируются внешние ключи);
  • Поддерживается локализация (названия объектов и полей можно указывать на разных языках);
  • Поддерживается рабочий процесс – при создании объекта можно запустить бизнес-процесс;
  • Для объектов генерируется удобный REST API.


Liferay 7.4 — еще одна платформа без кода?

редактор объектов в Liferay 7.4 В целом можно сказать, что необходимый минимум есть (мы помним, что No Code всё-таки для относительно простых, типовых задач).

Но самое интересное начинается, когда мы переходим на вкладку «Макеты» — здесь можно задать формы для работы с объектом.



Liferay 7.4 — еще одна платформа без кода?

редактор формы объекта И тут меня настигло удивление и разочарование.

Вместо ожидаемого редактора форм, который Liferay разрабатывает уже несколько лет и в котором реализовано всё возможное, нас ждёт какой-то совершенно новый редактор с ОООООО базовым функционалом.

Создать на нем что-то вменяемое, которым смогут пользоваться обычные пользователи, нереально.

Дальнейшее изучение ставит все на свои места.

Работа с созданными объектами доступна только из панели управления (при наличии прав).

Невозможно разместить список созданных объектов где-то на странице сайта.

Получается, что формы редактирования объектов в первую очередь для администрации (а для админов они всё потерпят!).

А как насчет конечных пользователей? Ну вот классный REST API, садитесь, пишите приложение на React/Angular/Vue (выбирайте на свой вкус), встраивайте его в портал — и будет вам счастье.

Разумно ли это? Да, но это вовсе не платформа No Code. Результат? Все еще грустный.

Фактически, у Liferay есть все компоненты, которые можно назвать платформой без кода.

Но, поскольку они не связаны друг с другом, мы не получаем ни того, ни этого.

Теги: #Разработка сайтов #java #nocode #CMS #liferay

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.