FastReport Mono. Что это, и для чего?

20.08.2018

Моно - это платформа разработки с открытым исходным кодом на основе .NET Framework, позволяет разработчикам создавать кросс-платформенные приложения. Реализация Mono .NET основана на стандартах ECMA для C # и Common Language Infrastructure.

Разработанный компанией Novell, Xamarin, а теперь Microsoft и .NET Foundation, проект Mono имеет активное и энтузиастское сообщество. Mono включает как инструменты разработчика, так и инфраструктуру, необходимую для запуска клиентских и серверных приложений .NET.

Платформа Mono состоит из нескольких компонентов:

Компилятор C # - поддерживает C # стандарта 1.0, 2.0, 3.0, 4.0, 5.0 и 6.0 (ECMA).

Mono Runtime - среда выполнения ECMA Common Language Infrastructure (CLI). Среда исполнения предоставляет компилятор Just-in-Time (JIT), компилятор Ahead-of-Time (AOT), загрузчик библиотек, сборщик мусора и др.

Библиотека классов .NET Framework. Платформа Mono предоставляет реализацию библиотек WinForms, ADO.Net, ASP.Net и других.

Mono Class Library – было создано множество классов с дополнительной функциональностью специально для Mono, которые выходят за рамки библиотеки базового класса, предоставляемой Microsoft.

Несмотря на предвзятое отношение разработчиков к платформе Mono, многие известные компании используют его. Например:

  • Novell использует Mono для клиентских и серверных приложений;
  • Unity Technologies использует Mono в инструменте моделирования компьютерных игр Unity 3D. Это дает возможность создавать кросс-платформенные видеоигры;
  • Artisteer использует Mono для переноса своего веб дизайнера на другую платформу. Начиная с версии 2.2, можно запустить свое программное обеспечение с помощью Mono.

Так как кросс-платформенных генераторов не так уж и много, а действительно хороших, так вообще по пальцам посчитать можно, FastReports решила создать генератор отчетов для Mono. Тем более, что уже есть готовый популярный генератор отчетов FastReport.Net, на базе которого и был создан FastReport.Mono. Он появился в 2013 году, и на тот момент повторял функционал FastReport.Net. Однако сейчас, между ними есть различия. Что уж таить, FR.Net значительно продвинулся вперед. Тем не менее FastReport.Mono остается сильным конкурентом в своей нише. И лично я не знаю других генераторов отчетов под фреймворк Mono с таким богатым функционалом.

Что же предлагает FastReport.Mono?

  • Удобный и функциональный дизайнер отчетов;
  • Подключение к любой БД, и не только. Даже текстовые файлы могут быть источниками данных, не говоря уже об XML и JSON;
  • Наличие встроенного скрипта отчета. Что наделяет отчет огромными возможностями. Ведь вы можете использовать библиотеки Mono прямо в отчете, для произведения преобразований данных, а также работать с объектами отчета;
  • Веб отчеты, на основе ASP.Net;

Давайте рассмотрим детальнее. Итак, с FastReport.Mono можно работать в разных операционных системах. Ну конечно же, Mono кросс-платформенный фреймворк. Поэтому нам доступны системы: Windows, MacOs, семейство Linux.

Для работы с Mono, а соответственно и с FastReport.Mono подходят следующие среды разработки:

Microsoft Visual Studio (под Windows), MonoDevelop (Windows, MacOs, Linux) и Embarcadero Delphi Prism (Windows, MacOs, Linux).

Языки программирования, для работы с FR.Mono: C#, VB.Net, Oxygene (Embarcadero Delphi Prism).

Язык встроенного скрипта отчета: C#, VB.Net. Все также, как и в FastReport.Net.

Источники данных, доступные по умолчанию: XML, CSV. А для подключения к базам данных нужно использовать источник данных пользовательского приложения, или внешние коннекторы, устанавливаемые в систему.

Интересные особенности генератора отчетов:

  • диалоговые формы – перед отображением отчета можно вывести форму с элементами управления. Таким образом пользователь отчета может задать параметры отображения отчета. Например, отфильтровать нужные значения;
  • наследование отчетов – возможность использовать отчет как базовый шаблон для других. Это удобно, когда вы делаете много подобных отчетов. Кроме того, изменения в базовом отчете отобразятся во всех наследованных отчетах. Это тоже можно отнести к плюсам. Ведь не нужно изменять большое количество отчетов, если требуются правки базового шаблона;
  • Компонент предварительного просмотра отчета – позволяет просматривать отчет и делать его экспорт, отправлять email, а также управлять просмотром отображая план отчета, переходить между страницами;
  • Дизайнер отчета может быть вызван отдельно как самостоятельная программа, может быть вызван во время разработки пользовательского приложения, а также во время выполнения пользовательского приложения. Последний вариант очень интересен. По сути вы встраиваете дизайнер в свою программу и даете пользователю возможность редактировать отчеты самостоятельно.
  • Продвинутый режим печати – еще один продуманный инструмент. Настройки печати очень богатые.

Веб отчеты реализуются посредством технологии ASP.Net и ASP.Net MVC. Что тут сказать - современный и востребованный подход.

Список возможных экспортов отчета достаточно большой:

  • Acrobat PDF;
  • Images Jpeg/PNG/BMP/GIF/TIFF;
  • RichText;
  • Word OOXML (docx);
  • PowerPoint OOXML (pptx);
  • HTML;
  • MHT (web archive);
  • Microsoft XPS;
  • Excel OLE;
  • Excel XML;
  • Excel binary (xls);
  • Excel OOXML (xlsx);
  • Comma separated values (CSV);
  • DBF (table);
  • Open Document Speadsheet (OpenOffice);
  • Open Document Text (OpenOffice);
  • Email;
  • PostScript;
  • Json;
  • LaTex;
  • FTP;
  • Text File / Matrix Printer;
  • Clouds (DropBox);
  • Clouds (Box);
  • Clouds (FastReport Cloud);
  • Clouds (GoogleDrive);
  • Clouds (OneDrive).

Обратите внимание, последние элементы списка – Clouds – это по сути сохранение отчета в облачные сервисы.

Формат файла отчета – frx, такой же, как и в FastReport.Net. Да, собственно, отчеты совместимы между FR.Net и FR.Mono.

Разработчики, выбирая логотип для FastReport.Mono, проявили остроумие. Судите сами. Вот логотип платформы Mono:

 

А вот логотип FastReport.Mono:

 

В заключение хочу отметить, что перенос FastReport.Net на платформу Mono, было стратегически верным решением. Сейчас это актуально как никогда, в контексте «Импортозамещения» и «Гослинукса».

20 ноября 2024

Локализация и смена языков в FastReport VCL

FastReport VCL поддерживает 40 языков для локализации интерфейса и позволяет изменять язык на лету через меню или код, без перекомпиляции.
1 ноября 2024

Новые возможности редактора отчетов FastReport VCL

Рассматриваем новые возможности редактора отчетов: выносные линии, подсветка пересекающихся объектов, обновлённые деревья отчетов и данных.
30 октября 2024

Использование стилей при создании отчетов в FastReport VCL

В статье подробно рассматривается одна из новых возможностей FastReport VCL – применение стилей и страниц стилей.