IKVM.NET | |
Author: | Jeroen Frijters |
Developer: | Windward Studios, Jerome Haltom |
Latest Release Version: | 8.7.3[1] |
Operating System: | Cross-platform |
Programming Language: | Java and C# |
Genre: | Java virtual machine, Java bytecode compiler and Java Library |
License: | zlib License |
IKVM.NET is an implementation of Java for Mono and the Microsoft .NET Framework. IKVM is free software, distributed under the zlib permissive free software license.[2]
Work started on IKVM early in 2000 to assist migration of a Java-based reporting package from Sumatra to Microsoft .NET. The original developer, Jeroen Frijters, discontinued work on IKVM in 2015.[3] In 2018, Windward Studios forked IKVM.NET to continue development on the open-sourced IKVM.[4] In 2022 Jerome Haltom and others picked up the work on a new GitHub organization and finished .NET Core support.[5]
IKVM.NET includes the following components:
IKVM.NET can run compiled Java code (bytecode) directly on Microsoft .NET or Mono. The bytecode is converted on the fly to CIL and executed.
By contrast J# is a Java syntax on the .NET framework, whereas IKVM.NET is effectively a Java framework running on top of the .NET framework.
Jeroen Frijters was the main contributor to IKVM.NET. He is Technical Director of Sumatra Software, based in the Netherlands.[6]
The "IKVM" portion of the name is a play on "JVM" in which the author "just took the two letters adjacent to the J".[7]
IKVM 8 implements Java 8.
The IKVM organization also maintains IKVM.Maven.Sdk,[8] an extension to the .NET PackageReference system that allows direct references to and transpiling of Maven artifacts. IKVM.Maven.Sdk is also available on NuGet.org.[9]