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