07.03.2021

Релиз платформы разработки информационных систем lsFusion 4.0

Доступен релиз платформы разработки информационных систем lsFusion 4.0. В основе платформы заложена одна из достаточно редких парадигм программирования — function-level (не путать с functional) программирование и, в частности поэтому, существенно отличается от всех существующих на рынке платформ (например SAP, Dynamics AX, 1С, .Net). Также внутри очень активно используются событийное, реактивное и объектно-ориентированное программирование, и все это, по уверению разработчиков, позволяет на порядок повысить скорость и качество разработки, а также быстродействие создаваемых систем. Код проекта написан на языке Java и распространяется под лицензией LGPLv3. Типовое решение для малого и среднего бизнеса на этой платформе (MyCompany) распространяется под лицензией Apache 2.0.

Основные изменения в четвёртой версии lsFusion 4.0:

Добавлены новые представления списков, позволяющие отображать данные пользователю не только в виде обычных таблиц, но и в любом другом виде. Разработчик (как впрочем и пользователь) может выбирать представления как из набора предопределённых представлений так и добавлять свои.
Добавлена поддержка группировочных представлений (одно из вариантов предопределённых представлений списков). В этих представлениях пользователь может самостоятельно группировать данные в любых разрезах и тем самым осуществлять базовую аналитику. Данные при этом могут отображаться в виде сводных таблиц (с возможностью упорядочивания, клиентской фильтрации, выгрузки в Excel и т.п.), а также в виде различных диаграмм и графиков.

Добавлена поддержка карты и календаря (опять-таки варианты предопределённых представлений списков), а также так называемых кастомизируемых представлений, в которых разработчик может задать для отображения любую свою javascript-функцию (что позволяет использовать для отображения данных любые из существующих open-source javascript-компонентов).

Практически полностью переработан дизайн пользовательского интерфейса, а также добавлена поддержка тё<>мной темы.

Реализована поддержка различных дополнительных видов аутентификации «из коробки»: OAuth-аутентификация (Яндекс, Facebook, Google), аутентификация прямо в URL и / или заголовках запроса, саморегистрация (через web-интерфейс).
Добавлена поддержка обратной интернационализации, когда строковые литералы задаются на одном конкретные языке, а при запуске они автоматически перекодируются в соответствующие идентификаторы (которые в свою очередь затем локализуются в зависимости от локали пользователя).
Расширен базовый функционал пользовательского интерфейса: добавлено гораздо больше вариантов «перехода по ссылке», появилось возможность переключаться в полноэкранный режим.
Выполнено ряд оптимизаций, существенно улучшающих производительность системы в некоторых случаях: так, например, групповые изменения теперь выполняются «одним запросом», значительно оптимизирована работа с DOM, появилась возможность отключать автоматическое обновление списков.
Существенно расширены возможности языка, например, теперь разрешено: использовать выражения в заголовках контейнеров и форм, расширять форму прямо в месте вызова (с возможностью замыкания — обращения к параметрам в контексте вызова) и так далее.
Также анонсирован план на следующие (четвертую и пятую) версии:

Увеличение асинхронности (а значит и эргономичности) пользовательского интерфейса: асинхронный ввод объектных данных на форме, асинхронные открытие и закрытие форм, асинхронное адаптивное обновление объектов и свойств.
Поддержка агрегации и наследования форм.
Совершенствование механизма расширений, в частности, добавление возможности изменять атрибуты элементов формы.
Значительное расширение возможностей пользовательской настройки форм: например, возможность добавлять новые свойства на форму (и изменять старые), создавать предопределённые пользовательские фильтры, сохранять несколько вариантов настройки формы и так далее.
Поддержка альтернативных представлений свойств (по аналогии с альтернативными представлениями списков объектов в четвёртой версии).
Изменение механизма расположения контейнеров: в частности, добавление табличного расположения с выравниванием и по вертикали и по горизонтали одновременно, а также с расположением заголовков компонент в отдельных рядах / колонках.
Источник.