Коллеги, добрый день!
В ходе разработки достаточно большой CRM системы для застройщика, также разработал декларативный фреймворк для создания пользовательского интерфейса.
В результате новые формы делаются за считанные часы, причем с разработкой форм также легко справляются разработчики БД.
Конечно некоторые формы приходится делать по старинке, для некоторых видов приходится писать классы адаптеры (например для прослушивания звонков).
Также получаемые ТЗ или хотелки приходится адаптировать под особенности фреймворка.
В теории, разрабатываемый интерфейс может работать кросс платформенно, был вариант веб интерфейса и android приложения.
Правда ресурсов на разработку недостаточно, каждая версия занимает около 80 тысяч строк кода (плюс/минус).
Приложение эксплуатируется и развивается 11 лет.
БД Ms-Sql, данные в таблицах + CRUD из хранимых процедур.
Использование БД не критично, в принципе можно использовать любой источник хранения данных, MySql, SOAP, RestAPI правда слой доступа к данным придется адаптировать.
Внутри платформы встроен небольшой скриптовый язык, пример открытия карточки с передачей параметров.
script vars.clear;@managerID = dataform.activerow.id;@periodID = 202003; core.opencard salary\salaryschedulecard
Хотелось получить ваше мнение о подобном подходе.
Попробуйте угадать, какой язык программирования использовался для разработки толстого клиента.
Плюсы:
Весь интерфейс содержится в простых XML файлах.
UI можно в любом текстовом редакторе написать.
Все работает очень быстро и почти без ошибок.
Минимальные трудозатраты на новые блоки.
Добавление новых полей, фильтров занимает минуты.
Минусы:
Частенько приходится дорабатывать ядро, в ходе реализации новых блоков.
Высокая сложность ядра, достаточно большой размер исходного кода.
Сложность переноса на другие платформы.