Сравнение платформ

Скорость разработки
Название
ERP
RDBMS + UI
ORM + UI
RAD
Electronic tables
lsFusion
Подтип
SQL-style
ORM-style
Doc-style
Commercial
Free
Примеры
SAP

В SAP поддерживаются оба стиля разработки : SQL-стиль - используемый в большинстве случаев и ORM-стиль используемый редко (так как менее удобен в большинстве задач).

info
Axapta, SAP

В SAP поддерживаются оба стиля разработки : SQL-стиль - используемый в большинстве случаев и ORM-стиль используемый редко (так как менее удобен в большинстве задач).

info
1С >= 8.2
Oracle + (Oracle Forms / ADF), MS SQL + (WinForms)
Postgres, MySQL, Firebird
Java Spring, J2EE, .NET
MS Access, Foxpro, Delphi, 1C<8.2
Excel, 
Google docs
lsFusion
Один язык работы с данными

В платформе отсутствует объектно-реляционный семантический разрыв - когда разработчику приходится постоянно выбирать между "быстрыми" SQL-запросами и кодом на "удобном" императивном языке. И тот и другой подход абстрагированы и объединены настолько, что грань между ними практически отсутствует. Разработчик всегда работает с данными в одной парадигме, а за то, как и где вся эта работа будет выполняться, полностью отвечает сама платформа.

info

В 4GL языках (ABAP, C#, Foxpro и т.д.) работа с SQL интегрирована в язык, но все равно оперирует понятиями из реляционной алгебры - таблицами, соединениями, объединениями и т.п.

info

В 4GL языках (ABAP, C#, Foxpro и т.д.) работа с SQL интегрирована в язык, но все равно оперирует понятиями из реляционной алгебры - таблицами, соединениями, объединениями и т.п.

info

В 4GL языках (ABAP, C#, Foxpro и т.д.) работа с SQL интегрирована в язык, но все равно оперирует понятиями из реляционной алгебры - таблицами, соединениями, объединениями и т.п.

info

В 4GL языках (ABAP, C#, Foxpro и т.д.) работа с SQL интегрирована в язык, но все равно оперирует понятиями из реляционной алгебры - таблицами, соединениями, объединениями и т.п.

info

В 4GL языках (ABAP, C#, Foxpro и т.д.) работа с SQL интегрирована в язык, но все равно оперирует понятиями из реляционной алгебры - таблицами, соединениями, объединениями и т.п.

info

В 4GL языках (ABAP, C#, Foxpro и т.д.) работа с SQL интегрирована в язык, но все равно оперирует понятиями из реляционной алгебры - таблицами, соединениями, объединениями и т.п.

info

В 4GL языках (ABAP, C#, Foxpro и т.д.) работа с SQL интегрирована в язык, но все равно оперирует понятиями из реляционной алгебры - таблицами, соединениями, объединениями и т.п.

info
Одна парадигма работы с UI

В платформе отсутствует разделение пользовательского интерфейса на интерактивные формы и отчеты. Любая форма может содержать как первичные, так и вычисляемые данные, и ее можно открыть как в печатном представлении (в виде классического отчета) так и в интерактивном (с возможностью ввода). Соответственно, пользователь может в одном интерфейсе не только видеть данные, необходимые для принятия решения, но и сразу вводить принятое решение непосредственно в систему.

info
Обращение сервера к клиенту

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

info
No ORM, Yes SQL

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

info
События изменения данных

Платформа позволяет создавать обработки событий изменения любых (в том числе вычисляемых) данных. Использование этого механизма позволяет значительно повысить модульность создаваемых решений.

info

Триггеры (события) только для материализованных данных, причем материализованных в одной таблице (классе).

info

Триггеры (события) только для материализованных данных, причем материализованных в одной таблице (классе).

info

Триггеры (события) только для материализованных данных, причем материализованных в одной таблице (классе).

info

Триггеры (события) только для материализованных данных, причем материализованных в одной таблице (классе).

info

Триггеры (события) только для материализованных данных, причем материализованных в одной таблице (классе).

info

Триггеры (события) только для материализованных данных, причем материализованных в одной таблице (классе).

info
Динамическая физическая модель

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

info

Нет прозрачной материализации данных, можно отображать только объекты и их поля на таблицы с одним ключом (то есть с таблицами с >1 ключом можно работать только напрямую через SQL).

info

Нет прозрачной материализации данных, можно отображать только объекты и их поля на таблицы с одним ключом (то есть с таблицами с >1 ключом можно работать только напрямую через SQL).

info

Нет прозрачной материализации данных, можно отображать только объекты и их поля на таблицы с одним ключом, а также map'ы на таблицы с двумя ключами (то есть с таблицами с >2 ключами можно только напрямую через SQL работать)

info
Ограничения любых данных

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

info

Ограничения только на формулы от материализованных данных, причем материализованных в одной таблице

info

Ограничения только на формулы от материализованных данных, причем материализованных в одной таблице

info
Абсолютная реактивность

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

info

В UI в частных случаях для первичных данных.

info

В UI в частных случаях для первичных данных.

info

В UI в частных случаях для первичных данных.

info

Есть некоторые элементы реактивности в механизме материализованных (индексированных) представлений.

info

Есть некоторые элементы реактивности в механизме материализованных (индексированных) представлений.

info

В UI в частных случаях для первичных данных.

info

В UI в частных случаях для первичных данных.

info
Кроссплатформенность сервера

Поддерживаются любые ОС, для которых существуют реализации JVM, а также наиболее распространенные реляционные СУБД.

info

Отсутствуют оптимизаторы запросов позволяющие адаптироваться к особенностям конкретных СУБД (например отсутствие в бесплатных субд ряда оптимизаций, например predicate push down, разная работа с пользовательскими агрегирующими функциями и рекурсиями и т.п.). То есть по сути все эти платформы являются не более чем трансляторами в соответствующий синтаксис.

info

Отсутствуют оптимизаторы запросов позволяющие адаптироваться к особенностям конкретных СУБД (например отсутствие в бесплатных субд ряда оптимизаций, например predicate push down, разная работа с пользовательскими агрегирующими функциями и рекурсиями и т.п.). То есть по сути все эти платформы являются не более чем трансляторами в соответствующий синтаксис.

info

Отсутствуют оптимизаторы запросов позволяющие адаптироваться к особенностям конкретных СУБД (например отсутствие в бесплатных субд ряда оптимизаций, например predicate push down, разная работа с пользовательскими агрегирующими функциями и рекурсиями и т.п.). То есть по сути все эти платформы являются не более чем трансляторами в соответствующий синтаксис.

info

Отсутствуют оптимизаторы запросов позволяющие адаптироваться к особенностям конкретных СУБД (например отсутствие в бесплатных субд ряда оптимизаций, например predicate push down, разная работа с пользовательскими агрегирующими функциями и рекурсиями и т.п.). То есть по сути все эти платформы являются не более чем трансляторами в соответствующий синтаксис.

info
Открытая структура БД

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

info
Кроссплатформенность клиента

В платформе поддерживаются одновременно и десктоп и веб клиенты. Для десктоп-клиента, как и для сервера, поддерживаются любые ОС для которых существуют реализации JVM. Также, благодаря тому что для расположения компонент используется относительное (а не абсолютное) позиционирование, их отрисовка в веб-клиенте осуществляется нативно средствами CSS (без использования JavaScript), что значительно повышает отзывчивость интерфейсов при работе в веб-клиенте. Кроме того, ни десктоп, ни веб-клиент не содержат никакой прикладной логики, что значительно упрощает их развертывание (то есть можно использовать один и тот же клиент сразу для всех логик).

info

Зависит от конкретного UI. Но одновременно и десктоп и веб не поддерживаются.

info

Зависит от конкретного UI. Но одновременно и десктоп и веб не поддерживаются.

info

Зависит от конкретного UI. Но одновременно и десктоп и веб не поддерживаются.

info
Декларативная работа с внешними форматами

Любую форму в платформе можно не только показать пользователю в интерактивном режиме или распечатать, но и экспортировать в файл любого из наиболее распространенных форматов данных (JSON, XML, CSV, XLS, DBF и т.п.). Причем эта операция симметрична, и, соответственно, можно, наоборот, импортировать информацию из файла любого из перечисленных форматов обратно в форму. Оба процесса при этом абсолютно декларативны и работают с теми же понятиями, которые используются при работе с UI, тем самым значительно упрощая взаимодействие с внешними системами.

info

Работа с внешними форматами строго императивна (с небольшими зачатками декларативности в отдельных механизмах, вроде работы с XML при удаленных вызовах в веб-сервисах с использованием WSDL) и в отдельной парадигме (никак не связанной с UI).

info

Работа с внешними форматами строго императивна (с небольшими зачатками декларативности в отдельных механизмах, вроде работы с XML при удаленных вызовах в веб-сервисах с использованием WSDL) и в отдельной парадигме (никак не связанной с UI).

info

Работа с внешними форматами строго императивна (с небольшими зачатками декларативности в отдельных механизмах, вроде работы с XML при удаленных вызовах в веб-сервисах с использованием WSDL) и в отдельной парадигме (никак не связанной с UI).

info

Работа с внешними форматами строго императивна (с небольшими зачатками декларативности в отдельных механизмах, вроде работы с XML при удаленных вызовах в веб-сервисах с использованием WSDL) и в отдельной парадигме (никак не связанной с UI).

info

Работа с внешними форматами строго императивна (с небольшими зачатками декларативности в отдельных механизмах, вроде работы с XML при удаленных вызовах в веб-сервисах с использованием WSDL) и в отдельной парадигме (никак не связанной с UI).

info

Работа, как правило, декларативна в части работы с иерархичными форматами (JSON и XML), но при этом осуществляется в отдельной парадигме (никак не связанной с UI).

info

Работа с внешними форматами строго императивна (с небольшими зачатками декларативности в отдельных механизмах, вроде работы с XML при удаленных вызовах в веб-сервисах с использованием WSDL) и в отдельной парадигме (никак не связанной с UI).

info

Работа с внешними форматами строго императивна (с небольшими зачатками декларативности в отдельных механизмах, вроде работы с XML при удаленных вызовах в веб-сервисах с использованием WSDL) и в отдельной парадигме (никак не связанной с UI).

info
Эффективное общение клиента с сервером

Общение клиента с сервером на физическом уровне построено таким образом чтобы минимизировать количество синхронных round-trip обращений (то есть одно действие пользователя - один запрос-ответ, по возможности асинхронный). Помимо этого в десктоп-клиенте все передаваемые данные архивируются и, при необходимости, шифруются. Также, при общении клиента с сервером (как десктоп-клиента через TCP/IP протокол, так и веб-клиента через HTTP протокол), в платформе обеспечивается гарантия доставки, то есть в случае если какие-то запросы теряются, платформа посылает их повторно, причем с гарантией того, что они будут обработаны в правильном порядке. Все вышеперечисленное позволяет платформе эффективно функционировать даже на узких и ненадежных каналах связи, а также каналах связи с большим временем отклика.

info
Прозрачная интеграция

Платформа поддерживает обращение к системе через самый распространенный прикладный протокол общего назначения (HTTP), при этом интерфейс обращения включает в себя не только выполнения некоторого действия (с автоматическим разбором параметров), но и выполнение кода на языке lsFusion (по аналогии с обращением к SQL серверам). Также платформа, на уровне языка, поддерживает обращение к любым внешним системам по протоколу HTTP, а также к SQL-серверам, другим lsFusion системам и т.д. Кроме того сам сервер реализован в виде Spring bean, что позволяет управлять его циклом жизни при помощи обычного Spring IoC контейнера. Все вышеперечисленное позволяет использовать lsFusion не только в качестве полноценной платформы разработки, но и, при необходимости, в качестве СУБД или даже в качестве Java-библиотеки.

info

Нет возможности исполнения кода (как в SQL серверах). При этом общение либо через http - без разбора параметров, либо через wsdl (xml) - с разбором параметров. Невозможно подключать в качестве библиотеки.

info

Нет возможности исполнения кода (как в SQL серверах). При этом общение либо через http - без разбора параметров, либо через wsdl (xml) - с разбором параметров. Невозможно подключать в качестве библиотеки.

info

Нет возможности исполнения кода (как в SQL серверах). При этом общение либо через http - без разбора параметров, либо через wsdl (xml) - с разбором параметров. Невозможно подключать в качестве библиотеки.

info

Невозможно подключать в качестве библиотеки.

info

Невозможно подключать в качестве библиотеки.

info

Нет возможности исполнения кода (как в SQL серверах).

info
CI в ACID из коробки

В платформе реализован корректный откат состояния сервера приложения на момент начала транзакции из любой операции, где идет обращение к данным. Это позволяет использовать родные средства обеспечения целостности реализованные в современных SQL-серверах, что, с одной стороны, значительно уменьшает трудозатраты / вероятность ошибок при разработке системы, работающей в высококонкурентной среде, а, с другой стороны, значительно увеличивает масштабируемость такой системы (при условии использования версионных СУБД).

info
Бесшовное подключение Java-библиотек / SQL-функций

Сервер приложений выполняется в виртуальной Java машине (JVM), что позволяет подключить к нему любую из многочисленных существующих Java-библиотек. Для этого достаточно создать свое действие на Java, зарегистрировать его в платформе и использовать, как если бы оно было встроенным или реализованным на языке платформы. Аналогичным образом можно бесшовно подключать пользовательские SQL-функции используемого сервера БД.

info
Everything as Code

Все элементы системы, от событий до дизайна форм, задаются в виде кода на языке lsFusion, хранящегося в обычных текстовых файлах (без каких-либо общих репозитариев с неизвестной структурой). Это позволяет использовать при работе с проектами популярные системы контроля версий (Git, Subversion) и сборки проектов (Maven, встроенные в IDE). Кроме того, такой подход упрощает процесс поддержки / развертывания разработанной системы, так как позволяет, во-первых, при помощи обычного текстового редактора просматривать, и, при необходимости, оперативно изменять логику, а, во-вторых, легко идентифицировать любой элемент в системе, по его файлу и номеру строки в этом файле.

info

Работа с формами и другими метаданными (таблицами, регистрами и т.п.) как правило ведется визуально и сохраняется в бинарном виде в общем репозитарии / файле (максимум существует выгрузка, но в формате не подразумевающем удобное редактирование / просмотр, например XML).

info

Работа с формами и другими метаданными (таблицами, регистрами и т.п.) как правило ведется визуально и сохраняется в бинарном виде в общем репозитарии / файле (максимум существует выгрузка, но в формате не подразумевающем удобное редактирование / просмотр, например XML).

info

Работа с формами и другими метаданными (таблицами, регистрами и т.п.) как правило ведется визуально и сохраняется в бинарном виде в общем репозитарии / файле (максимум существует выгрузка, но в формате не подразумевающем удобное редактирование / просмотр, например XML).

info

В СУБД теоретически можно работать со структурой базы как с кодом, создавая скрипты с пометками "CREATE OR REPLACE" и / или версиями и командами изменений ADD / DELETE, после чего запоминать предыдущую версию базы и накатывать изменения между версиями, но это, по умолчанию не является частью СУБД, а организуется непосредственно разработчиками.

info

В СУБД теоретически можно работать со структурой базы как с кодом, создавая скрипты с пометками "CREATE OR REPLACE" и / или версиями и командами изменений ADD / DELETE, после чего запоминать предыдущую версию базы и накатывать изменения между версиями, но это, по умолчанию не является частью СУБД, а организуется непосредственно разработчиками.

info
Эргономичный язык

В платформе существует возможность объединять имена элементов в пространства имен, и при поиске элементов считать имена в одном и том же пространстве имен более приоритетными. Таким образом в большинстве случаев достаточно указывать только "короткое" имя искомого элемента, а значит код получается более компактным и читабельным. Кроме того, для каждого параметра в коде можно задавать его класс и при поиске элементов эти классы также будут учитываться (то есть поддерживается явная типизация). Последнее, кроме короткого кода, позволяет в том числе получить раннюю диагностику ошибок, умное автодополнение и ряд других похожих возможностей.

info

СУБД поддерживают namespace, но не поддерживают явную типизацию (потому как работают с таблицами, а не с функциями, то есть не поддерживают понятие параметров вообще).

info

СУБД поддерживают namespace, но не поддерживают явную типизацию (потому как работают с таблицами, а не с функциями, то есть не поддерживают понятие параметров вообще).

info
Эргономичная IDE

IDE на базе Intellij IDEA с полным арсеналом разработчика - поиск использований, подсветка кода / ошибок, умное автодополнение, переход к объявлению, структура класса, переименование элементов, дерево использований, брейкпоинты изменения данных, отладчик и множество других возможностей.

info

Обычно используются две разные нишевые IDE (одна для клиента, другая для сервера БД), соответственно все вызовы между сервером и клиентом никак не поддерживаются (то есть не видны в использованиях, переименовании и т.п.).

info

Обычно используются две разные нишевые IDE (одна для клиента, другая для сервера БД), соответственно все вызовы между сервером и клиентом никак не поддерживаются (то есть не видны в использованиях, переименовании и т.п.).

info
Метапрограммирование

Хотите создать свой высокоуровневый оператор или просто не знаете как обобщить логику, но хотите использовать ее повторно? В платформе реализована полная поддержка автоматической генерации кода, причем как со стороны сервера, так и со стороны IDE.

info
Трехзвенная архитектура

Платформа построена таким образом, что императивная часть логики системы (все что связано с изменением данных) выполняется на серверах приложений, а декларативная (все что связано с вычислением данных) - на серверах БД. Такое разделение упрощает масштабирование разрабатываемой системы, а также в силу разного характера нагрузки на эти сервера повышает ее отказоустойчивость (к примеру, использование swap на сервере приложений гораздо опасней, чем его же использование на сервере БД).

info

Технически либо веб-клиент, либо сервер БД выполняет функцию третьего звена (сервера приложений).

info

Технически либо веб-клиент, либо сервер БД выполняет функцию третьего звена (сервера приложений).

info
Кластеризация

Сервера приложений не имеют никаких разделяемых данных, поэтому их количество при необходимости можно легко наращивать. Кроме того, платформа умеет асинхронно переносить пользовательские данные с одного сервера БД на другой, что, в свою очередь, позволяет динамически распределять нагрузку между серверами БД (к примеру, если данные записываются в базу и нужен ACID, выполняя обработку на мастерах, а в остальных случаях - на наименее нагруженных слейвах).

info

Помимо СУБД, bottleneck'ом и потенциальной точкой отказа является менеджер блокировок, что усложняет кластеризацию.

info

Помимо СУБД, bottleneck'ом и потенциальной точкой отказа является менеджер блокировок, что усложняет кластеризацию.

info

Помимо СУБД, bottleneck'ом и потенциальной точкой отказа является менеджер блокировок, что усложняет кластеризацию.

info
Расширения

Техника расширений позволяет разработчику расширять в одном модуле функционал другого модуля (например, изменять формы или классы созданные в другом модуле). Использование этого механизма позволяет значительно повысить модульность создаваемых решений.

info

Расширяются только процедуры и формы, плюс сам механизм ориентирован на кастомизацию, а не модульность (то есть в основе механизма решение и его одно расширение, а не граф модулей).

info
Асинхронность

Платформа пытается по возможности выполнять все операции асинхронно (то есть возвращать управление пользователю не дожидаясь завершения операции). К примеру, к таким операциям относится большинство операций ввода и обработок локальных событий.

info
Полиморфизм и агрегации

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

info

Есть одиночное наследование таблиц (классов объектов), и одиночный полиморфизм.

info

Есть одиночное наследование таблиц (классов объектов), и одиночный полиморфизм.

info

Есть одиночное наследование таблиц (классов объектов), и одиночный полиморфизм.

info

Есть одиночное наследование таблиц (классов объектов), и одиночный полиморфизм.

info

Есть одиночное наследование таблиц (классов объектов), и одиночный полиморфизм.

info
WYSIWYG

В абсолютном большинстве случаев пользователь из коробки получает возможность редактировать любые данные, которые он видит, делать это сразу для всех видимых объектов (групповая корректировка), выполнять copy-paste (в том числе, к примеру, из Excel), объединять / отменять / сохранять сделанные изменения и другие WYSIWYG возможности.

info
Интернационализация

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

info
Изменения задним числом

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

info

Требует перепроведения всего документа, что достаточно неэффективно и может нарушать множество контрактов / ограничений, поэтому в последних решениях практически не используется (реализуется вручную). Также нет, к примеру, одновременного ввода документов.

info
Развитые средства администрирования

Платформа предоставляет целый набор инструментов администрирования уже работающей системы : интерпретатор - выполняет код на языке lsFusion, монитор процессов - получает информацию о текущих процессах с различной информацией о них (например, время начала вызова, стек, пользователь и т.п.), планировщик - выполняет действия в заданные моменты времени (в том числе периодически), профайлер - замеряет производительность всех выполняемых действий для всех / заданных пользователей (строит граф вызовов, разделение времени между сервером приложений и сервером БД и т.п.), чат - для оповещения / общения с пользователями внутри системы, а также многочисленные журналы и логи (подключений, ошибок и т.п.).

info
Продвинутые интерактивные интерфейсы

При интерактивном взаимодействии с пользователем платформа позволяет организовывать отображение любых данных не только в виде одиночных объектов и списков, но и в виде деревьев, как плоских ("вложенных" друг в друга списков), так и рекурсивных (например, классификаторов). Кроме того, если информации слишком много, платформа позволяет объединять различные блоки формы в папки (вкладки). При этом, если данные не видны пользователю, они не читаются / вычисляются (так, к примеру, любые списки являются по умолчанию динамическими, то есть читается только ограниченное число объектов, а остальные дочитываются по мере изменения текущего объекта в таблице).

info

Деревья только рекурсивные и только для первичных (не вычисляемых) явно задаваемых иерархий. Динамические списки реализуются вручную, написанием специальных запросов.

info

Деревья только рекурсивные и только для первичных (не вычисляемых) явно задаваемых иерархий. Динамические списки реализуются вручную, написанием специальных запросов.

info

Деревья только рекурсивные и только для первичных (не вычисляемых) явно задаваемых иерархий. Динамические списки реализуются вручную, написанием специальных запросов.

info

Деревья только рекурсивные и только для первичных (не вычисляемых) явно задаваемых иерархий. Динамические списки реализуются вручную, написанием специальных запросов.

info
Политика безопасности

Гибкая политика безопасности позволяет определять ограничения доступа к данным как на уровне форм, так и на уровне конкретных действий / показателей. При этом пользователь не только не увидит эти данные, но и даже не узнает об их существовании.

info
Открытые исходники

Открытые исходники платформы и IDE позволяют разработчику самостоятельно изучать поведение платформы изнутри, создавать pull request'ы, свои сборки, а также лицензировать разрабатываемые решения для использования в случае жестких требований к безопасности.

info
Настройка системы пользователем

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

info

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

info

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

info

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

info

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

info
Свободная лицензия

Платформа выпускается под лицензией LGPL v3, позволяющей свободно использовать, распространять, а также модифицировать платформу под свои нужды.

info
Всем
NFR
ERP
RDBMS + UI
ORM + UI
RAD
Electronic tables
lsFusion
Примеры
SAP, Axapta, 1C>=8.2
Oracle, MS SQL, Postgres + UI (Java, .Net, Delphi)
Java Spring, .NET
MS Access, Foxpro, Delphi, 1C<8.2
Excel, Google docs
lsFusion
Основные области применения
Многофункциональные низконагруженные системы с структурированными данными
Многофункциональные высоконагруженные системы с структурированными данными
Малофункциональные очень высоконагруженные системы
Малофункциональные низконагруженные системы с структурированными данными
Малофункциональные низконагруженные системы с неструктурированными данными
Любые (кроме очень высоконагруженных) системы с структурированными данными
Основные отрасли применения
Бизнес-приложения (производство, оптовая торговля)
Бизнес-приложения (банки, розничная торговля)
Веб-приложения (сайты, сервисы, порталы)
Бизнес-приложения
Любые отрасли
Любые отрасли
Скорость разработки
4
3
2
4
3
10
Простота разработки
4
3
2
4
3
10
Модульность
3
3
5
3
1
10
Универсальность
4
7
10
5
3
7
Портируемость
4
3
9
3
3
10
Поддерживаемость
8
6
6
3
2
10
Открытость
4
7
10
4
4
10
Удобство использования
6
5
3
5
7
10
Производительность
3
9
3
3
3
10
Целостность
4
7
4
4
2
10
Масштабируемость
4
6
10
3
2
8
Безопасность
8
8
6
3
2
10
Интернационализация
10
6
10
4
4
10
Стоимость
4
6
10
8
8
10
NFR
ERP
RDBMS + UI
ORM + UI
RAD
Electronic tables
lsFusion
Примеры
SAP, Axapta, 1C>=8.2
Oracle, MS SQL, Postgres + UI (Java, .Net, Delphi)
Java Spring, .NET
MS Access, Foxpro, Delphi, 1C<8.2
Excel, Google docs
lsFusion
Разработчики
4
3
2
4
2
10
Администраторы
5
4
4
4
2
10
Пользователи
5
3
3
3
5
10
Бизнес
4
3
5
4
5
10