Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Analogues of Java and .NET technologies/frameworks

People also ask

What is .NET equivalent in Java?

NET platforms. Java has its own virtual machine, the Java Virtual Machine (JVM) which is similar to . NET CLR. Java's execution engine (the JVM) and a Java compiler with a set of libraries constitute the Java Platform.

What is .NET similar to?

ASP.NET, Java, Python, PHP, and JavaScript are the most popular alternatives and competitors to . NET.

Can we use Java with .NET framework?

While we can write and execute applications entirely in Java and the . NET Framework independently. Programmers use the JNI to write native methods to handle those situations when an application cannot be written in Java and . NET independently.


.NET --> Java

  • WCF ~= JAX-WS (as WS) and/or JMS (for MQ).
  • WPF ~= Swing (as UI), Java 2D (for 2D), Java 3D (for 3D) and/or RMI (for remoting).
  • Silverlight ~= JavaFX
  • WF ~= not sure? Some say that it's CAPS.
  • Generics is already available since Java 5.0. Major difference is that it's compiletime (not Reified).
  • Lambda expressions is yet to be come in Java 8.0 as "Closures"
  • Linq ~= Jaque and jpropel-light
  • TPL ~= java.util.concurrent (guide here and tutorial here)
  • F# ~= Scala or Clojure
  • IronPython ~= Jython
  • IronRuby ~= JRuby

Java --> .NET

  • EJB ~= MTS/COM+
  • WebSphere AS, GlassFish, JBoss AS are all concrete Java EE API implementations. The .NET equivalent would be IIS with at least MTS/COM+ support (is there by the way competition for IIS?).
  • Tomcat is a webcontainer aka servletcontainer, it only implements the Web Component part of the huge Java EE API (basically only the javax.el and javax.servlet parts, the JSP/EL and Servlet API). The .NET equivalent would be still IIS, but then without support for MTS/COM+, mail, message queue, persistence and more. I.e. only a simple web server for pure "Classic ASP".

Here is a list from my own research and follow up on BalusC's, Rafa's (et al.) answers:

(Slowly updating this list. Will also provide links back to .NET technologies for Java folks who may be interested.)

  • WCF
  • WPF
  • Silverlight = JavaFx
  • WF = jBMP (Java Business Process Management)
  • Generics = Java Generics
  • Lambda expressions = lambdaJ project or Closures
  • Linq (not Linq-to-SQL) = jaque or Quaere
  • TPL ~= java.concurrent package
  • F# = Scala
  • IronPython = JPython
  • IronRuby = JRuby
  • Hibernate = NHibernate
  • JUnit = NUnit
  • Spring = Spring.NET
  • .Net Remoting ~= RMI
  • MEF/System.AddIn ~= OSGi/Jigsaw
  • ~= EJB
  • ~= WebSphere
  • ~= GlassFish
  • ~= JBoss App Server
  • ~= Tomcat?
  • ~= GWT
  • ~= Maven2/Nexus/Sonatype
  • ~= JMX
  • ClickOnce ~= Java Web Start

JavaFX is the rough equivalent of Silverlight. That's all I know from that list...


The main technologies are already covered, so a few peripheral technologies:

  • TPL ~= java.concurrent package
  • F# ~= Scala
  • IronPython/IronRuby ~= Jython/JRuby
  • .Net Remoting ~= RMI
  • MEF/System.AddIn ~= OSGi/Jigsaw

To the growing list I submit:

  • ClickOnce ≅ Java Web Start