Введение
IKVM. NET – это реализация Java для Mono и Microsoft .NET Framework. IKVM – это свободное программное обеспечение, распространяемое под разрешительной лицензией zlib. Работа над IKVM началась в начале 2000 года для помощи в переносе отчётного пакета на основе Java из Sumatra в Microsoft .NET. Изначальный разработчик, Йерун Фрайтерс, прекратил разработку IKVM в 2015 году. В 2018 году Windward Studios сделала форк IKVM. NET, чтобы продолжить разработку IKVM с открытым исходным кодом. В 2022 году Джером Халтом и другие возобновили работу в новой организации на GitHub и завершили поддержку .NET Core.
Компоненты
IKVM.NET включает в себя следующие компоненты:
виртуальная машина Java (JVM), реализованная на .NET;
реализация библиотек классов Java для .NET;
инструмент для преобразования байт-кода Java (JAR-файлов) в IL для .NET (DLL или EXE-файлы); инструменты, обеспечивающие взаимодействие Java и .NET.
A Java virtual machine (JVM) implemented in NET
A NET implementation of the Java class libraries
A tool that translates Java bytecode (JAR files) to NET IL (DLLs or EXE files). Tools that enable Java and NET interoperability
IKVM.NET может запускать скомпилированный код Java (байт-код) непосредственно на Microsoft .NET или Mono. Байт-код преобразуется "на лету" в CIL и выполняется. В отличие от J#, который представляет собой синтаксис Java на платформе .NET, IKVM.NET фактически является Java-фреймворком, работающим поверх платформы .NET. Йерун Фрайтерс был основным разработчиком IKVM.NET. Он является техническим директором компании Sumatra Software, расположенной в Нидерландах.
Имя
Часть названия "IKVM" – это игра слов, основанная на "JVM", где автор просто взял две буквы, стоящие рядом с "J".
Статус
IKVM 8 реализует Java 8. Организация IKVM также поддерживает IKVM. Maven. Sdk, расширение системы NET PackageReference, позволяющее напрямую ссылаться на артефакты Maven и выполнять их транспиляцию. IKVM. Maven. Sdk также доступен на NuGet.org.