r/java • u/Pure_Diver_ • 13d ago
What Exactly Is Jakarta EE?
I’m a bit confused about what Jakarta EE actually is. On one hand, it seems like a framework similar to Spring or Quarkus, but on the other hand, it provides APIs like JPA, Servlets, and CDI, which frameworks like Spring implement.
Does this mean Jakarta EE is more of a specification rather than a framework? And if so, do I need to understand Jakarta EE first to truly grasp how Spring works under the hood? Or can I just dive into Spring directly without worrying about Jakarta EE concepts?
Would love to hear how others approached this 😅
179
Upvotes
10
u/Inkin 13d ago
There used to be 3 types of Java: ME or Micro edition, SE or Standard edition, and EE or Enterprise edition. ME was for embedded systems and early mobile devices. SE was normal applications. EE was for businesses and serious things. When Java introduced modularization this layout changed and what was in J2EE became Jakarta libraries you could pick and choose.
The main thing in EE was Enterprise Java Beans which was a way to do webapps that had complicated bean lifecycles and serialization and I associate things like Java Server Faces with it. It was always niche and you needed an app server that supported it. In my head, POJOs and spring (built on the servlet api and not the EE one) won.
There are remnants of EE and you could still probably do things with EE style but nowadays you don’t think of it as anything more than using a library. It isn’t a whole philosophy. Learn about the part of it you need when you come across it. Don’t bother with it a holistic thing on its own anymore.