Articulo de referencia

IKVM

IKVM (anteriormente IKVM.NET ) es una implementación de Java para implementaciones de Common Language Infrastructure como Mono y Microsoft .NET Framework . IKVM es software libr...

IKVM (anteriormente IKVM.NET ) es una implementación de Java para implementaciones de Common Language Infrastructure como Mono y Microsoft .NET Framework . IKVM es software libre , distribuido bajo la licencia de software libre permisiva zlib . [ 2 ]

El trabajo en IKVM comenzó a principios de 2000 para ayudar a migrar un paquete de informes basado en Java de Sumatra a Microsoft .NET. El desarrollador original, Jeroen Frijters, interrumpió el trabajo en IKVM en 2015. [ 3 ] En 2018, Windward Studios bifurcó IKVM.NET para continuar el desarrollo en el IKVM de código abierto. [ 4 ] En 2022, Jerome Haltom y otros retomaron el trabajo en una nueva organización de GitHub y terminaron el soporte para .NET Core . [ 5 ]

Componentes

IKVM incluye los siguientes componentes:

  • Una máquina virtual Java (JVM) implementada en .NET
  • Una implementación en .NET de las bibliotecas de clases de Java.
  • Una herramienta que traduce el código de bytes de Java ( archivos JAR ) a IL de .NET ( archivos DLL o EXE ).
  • Herramientas que permiten la interoperabilidad entre Java y .NET

IKVM puede ejecutar código Java compilado ( bytecode ) directamente en Microsoft .NET o Mono. El bytecode se convierte sobre la marcha a CIL y se ejecuta.

Por el contrario, J# es una sintaxis de Java sobre el marco .NET, mientras que IKVM es, en efecto, un marco de Java que se ejecuta sobre el marco .NET.

Jeroen Frijters fue el principal colaborador de IKVM. Es director técnico de Sumatra Software, con sede en los Países Bajos. [ 6 ]

Nombre

La parte "IKVM" del nombre es un juego de palabras con " JVM " en el que el autor "simplemente tomó las dos letras adyacentes a la J". [ 7 ]

Estado

IKVM 8 implementa Java 8 .

La organización IKVM también mantiene IKVM.Maven.Sdk, [ 8 ] una extensión del sistema PackageReference de .NET que permite referencias directas y la transpilación de artefactos Maven. IKVM.Maven.Sdk también está disponible en NuGet.org. [ 9 ]

Ejemplo

A continuación se muestra una aplicación .NET escrita en Java, que imprime la lista de archivos en el directorio actual.

Tenga en cuenta que en IKVM, el System.*espacio de nombres en .NET se escribe como cli.System.*. [ 10 ]

paquete org.wikipedia.examples ;import cli.System.IO.* ;public class Example { public static void main ( String [] args ) { String [] files = Directory . GetFiles ( "." ); for ( String file : files ) { System . out . println ( file ); } } }

Véase también

Referencias

  1. "Versión 8.15.0" . 6 de diciembre de 2025. Consultado el 7 de diciembre de 2025 .
  2. "Licencia" . www.ikvm.net . Archivado del original el 22 de febrero de 2020. Consultado el 10 de marzo de 2007 .
  3. "El fin de IKVM.NET" . Archivado del original el 18 de julio de 2017. Consultado el 22 de julio de 2017 .
  4. " IKVM está vivo y coleando" . www.windwardstudios.com
  5. "IKVM - Máquina virtual Java para .NET" . GitHub . 27 de agosto de 2022.
  6. "Sumatra Software bv" Consultado el 30-04-2014 .
  7. "Archivo de la lista de correo osdir para java.ikvm.devel" . Archivado del original el 27/12/2012 . Consultado el 09/10/2012 .
  8. "IKVM.Maven.Sdk" . GitHub .
  9. «IKVM.Maven.Sdk» . www.nuget.org .
  10. "Tutorial de IKVM" . ikvm.org . Windward Studios, Jerome Haltom. 2023.
  • Sitio web oficialEdita esto en Wikidata
  • ikvm en GitHub