Введение
FastReport Online Designer представляет собой web версию дизайнера отчетов FastReport.Net. Онлайн дизайнер отчетов является RIA (Rich Internet application) приложением, что позволяет запускать его с любого устройства, на котором есть современный интернет-браузер. Онлайн дизайнер будет работать в последних версиях популярных браузеров (Chrome, Firefox, Opera, Safari, IE), в отличии от десктоп версии дизайнера, которая работает только в операционной системе Windows. Но, несмотря на все кроссплатформенные преимущества, онлайн версия уступает десктопной по удобству и функциональности.
Таким образом, FastRport Online Designer позиционируется как редактор .Net отчетов, которые уже были созданы и размещены по какому-либо UUID на сервере. Онлайн дизайнер «общается» с сервером через оговоренный заранее API, в который входит 3 запроса:
- getReport – используется при инициализации. Получает шаблон отчета и передает ее в онлайн дизайнер, который подготавливает отчет к редактированию в браузере.
- previewReport (режим предварительного просмотра) – отредактированный шаблон отчета отправляется на сервер, который строит отчет и возвращает его в html формате. Построение отчета происходит на сервере средствами FastReport.Net.
- saveReport – сохраняет шаблон отчета на сервер.
Для работы каждого из запросов необходимо передавать на сервер UUID отчета с помощью параметра, чтобы идентифицировать отчет на сервере.
Продукт разрабатывается с учетом последних возможностей современных браузеров. Например, благодаря технологии HTML5, единожды загрузив онлайн дизайнер, можно использовать его при отсутствии подключения к сети.
FastReport Online Designer имеет монолитное ядро, к которому подключаются модули, которыми являются компоненты/бэнды/диалоговые компоненты и некоторые другие части системы. Для определения этих модулей и их зависимостей используется технология RequireJS. Такого рода модульность позволяет собирать продукт под нужды клиента исключительно с необходимыми ему компонентами, что позволяет уменьшить размер проекта (так как это web приложение, то размер очень важен и чем он меньше, тем лучше). Для индивидуальной сборки онлайн дизайнера предусмотрен конструктор дизайнера.
Стоит упомянуть и о других технологиях, применяемых в FastReport Online Designer. Традиционно применяется jQuery, а клиентский движок шаблонов использует jsrender и RequireJS. Для редакторования скрипта отчета используется редактор CodeMirror. Визуально дизайнер в своей основе использует SVG (масштабируемая векторная графика), что идеально подходит для реализации таких компонентов, как LineObject или ShapeObject. Также, SVG позволил реализовать масштабирование страницы отчета.
В текущей версии FastReport Online Designer отсутствует компонент RFID Label. В диалоговых формах, также не все компоненты доступны. В данный момент присутствуют только: Button, CheckBox, CheckedListBox, ComboBox, DateTimePicker, Label, ListBox, MonthCalendar, RadioButton, Text.