I’m new to Java and have just started with some simple code.
I’m on a Linux machine, use the vim editor, use javac for compilation and ‘java’ for running
programs.
Basically, for the time being, I am looking for building a desktop application using Java. I’ve heard about Java (EE/SE/ME) and my assumptions about them are:
- “Core Java” is the “basic” Java language(with all the rules about variables,
looping, methods classes etc). - Java SE is for Desktop Apps.
- Java EE is for Web apps (using the HTTP protocol).
- Java ME is for Mobile Apps.
However, I came to know that the difference among them is that “specification”, from Difference between Java SE & Java EE
So my question is, can I create Desktop Apps using Java EE as well? Or are they only for creating Web Apps?
Okay guys, I was new to Java and now I have become a bit “old”. So I could figure it out.
This is it :
The ONE AND ONLY ONE required thing to Java development is a Java compiler which we get if we install a JDK and the thing we need to run a Java utility is a JVM. So these are the only things we require for ANY sort of Java Development(No matter Desktop, Web or mobile).
Then what is Java SE, Java EE and Java ME ?
Those are the above mentioned two things(Java compiler + JVM) plus a set of libraries(SE for Desktop, EE for Web, ME for mobile). So if any of us have enough time and have got a Java Compiler + JVM, we can build our own libraries for all those functionalities.
But following the concept “Don’t reinvent the wheel” and because we’ll be better off using a library/tool that has been running smoothly for years we all use the tools/libraries provided by SE, EE and ME.
So the answer is, I can develop any sort of applications with just a Java compiler(/usr/bin/javac on a Linux machine). The only thing is that there will be a lot of ‘reinvention of the wheel’. And all java apps run on the same JVM(no matter what sort), in case of linux(/usr/bin/java).