Моно - это платформа разработки с открытым исходным кодом на основе .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, многие известные компании используют его. Например:
Так как кросс-платформенных генераторов не так уж и много, а действительно хороших, так вообще по пальцам посчитать можно, FastReports решила создать генератор отчетов для Mono. Тем более, что уже есть готовый популярный генератор отчетов FastReport.Net, на базе которого и был создан FastReport.Mono. Он появился в 2013 году, и на тот момент повторял функционал FastReport.Net. Однако сейчас, между ними есть различия. Что уж таить, FR.Net значительно продвинулся вперед. Тем не менее FastReport.Mono остается сильным конкурентом в своей нише. И лично я не знаю других генераторов отчетов под фреймворк Mono с таким богатым функционалом.
Что же предлагает FastReport.Mono?
Давайте рассмотрим детальнее. Итак, с 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. А для подключения к базам данных нужно использовать источник данных пользовательского приложения, или внешние коннекторы, устанавливаемые в систему.
Интересные особенности генератора отчетов:
Веб отчеты реализуются посредством технологии ASP.Net и ASP.Net MVC. Что тут сказать - современный и востребованный подход.
Список возможных экспортов отчета достаточно большой:
Обратите внимание, последние элементы списка – Clouds – это по сути сохранение отчета в облачные сервисы.
Формат файла отчета – frx, такой же, как и в FastReport.Net. Да, собственно, отчеты совместимы между FR.Net и FR.Mono.
Разработчики, выбирая логотип для FastReport.Mono, проявили остроумие. Судите сами. Вот логотип платформы Mono:
А вот логотип FastReport.Mono:
В заключение хочу отметить, что перенос FastReport.Net на платформу Mono, было стратегически верным решением. Сейчас это актуально как никогда, в контексте «Импортозамещения» и «Гослинукса».