DEV Community

Omar Muhtaseb
Omar Muhtaseb

Posted on

Java EE is dead, why still using it?

I've been working as a software developer for 3 years now. In those years, I worked with Java as the main web development language, primarily Spring Boot framework within micro-services architecture.

I know that I barely have experience in the web development, but I still see some companies seek Java EE developers while they're adopting the micro-services architecture. I mean why would you do that! Do we need Java EE in the micro-services architecture? Should I know more about Java EE Servlets and Pages? and most importantly Is Java EE dead especially with all the hype of micro-services?

What do you think folks?

Top comments (10)

Collapse
 
matthewekeller profile image
matthewekeller

Nope, not even remotely dead. Even JSP (gasp) is still used in every company I have worked for and consulted with in the past 10 years. Things that work well die hard evidently. ha ha

Collapse
 
lexiebkm profile image
Alexander B.K.

When I am ready with Java EE, I want to use it for backend serving React in client-side. So, unless I need server-side rendering, I think I won't need JSP at all.

Collapse
 
matthewekeller profile image
matthewekeller • Edited

Yes, JSP is for server side rendering. React is totally client side so you can use any server side technology against it to write your services. Ideally with a fat client like React you should only have stateless services on the backend. Node is an absolutely horrible solution in my opinion. Worst server side technology I have ever suffered through. I'll leave the multi threading on the backend up to the lower level processes thank you! I don't know how anyone thought running the Chrome javascript engine on a server was a good idea. Yuck.

Thread Thread
 
lexiebkm profile image
Alexander B.K.

Currently I am using PHP + Laravel for backend.
But I am also learning C# and ASP.net Core, because this stack has been on my mind since long time ago together with Java. Go aka Golang is interesting too.
So, in the future, beside PHP + Laravel, I hope I can have 3 different stacks to pick for RESTful backend :

  1. C# + ASP.net core
  2. Java + Spring
  3. Go + Gin/Fiber/other Go framework

Actually Node is on my mind too, but your remark on it makes me more hesitant.

Thread Thread
 
lexiebkm profile image
Alexander B.K.

As for Node.js, I know even Ryan Dahl, the creator regretted his own creation and then created a new one named Deno. But I am still hesitant about it; I am still waiting for a wide acceptance from the community.

Thread Thread
 
matthewekeller profile image
matthewekeller • Edited

I also use my own framework to facilitate SPA behavior while still rendering HTML on the server. Its called WebRocketX. Check it out if you like. Works great along with PHP, Spring MVC with JSP, and anything else that renders HTML on the server. My current stack for my personal projects is Java 8, Spring MVC with JSP, Jquery, WebRocketx, MySQL. Going to port to Springboot for production if I start getting a lot of traffic. At work we use React, Node, PostGres. The fact that I am fluent in both and still use Java and server side rendering, when I have a choice, tells you something, ha ha. To keep a long story short I can get things done 10 times faster in my personal stack.

Thread Thread
 
lexiebkm profile image
Alexander B.K.

Is JDK 8 enough for most apps ? Since you are experienced in Java, I need to ask this, so that I don't need to go to OpenJDK as an alternative to newer versions of Java owned by Oracle. I am still confused about OpenJDK.

Thread Thread
 
matthewekeller profile image
matthewekeller

As far as I know its enough.

Collapse
 
joshaustintech profile image
Joshua Austin

IMHO, it's far from dead, but it's losing ground for sure.

The JavaEE specification and APIs can eliminate the need for maintaining Maven dependencies, which can be a security liability if you don't know how to avoid insecure JARs from being compiled into your web application. Imagine building a robust web app using only the standard library of your programming language of choice so you don't need external dependencies (or very few): that's the use case JavaEE is best intended for.

The Eclipse MicroProfile specification within JavaEE is an attempt at giving JavaEE a second wind as well, given the popularity of microservice architectures.

Collapse
 
omarmuhtaseb profile image
Omar Muhtaseb

Thank you, this is the very first time that I hear about Eclipse MicroProfile.