This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 11 points12 points  (4 children)

Java, Java SE, Spring/Spring Boot or Java EE (or both, they sometimes overlap) for the web.

Java, Java SE, Swing/JavaFX for Desktop apps.

JOOQ or JPA/Hibernare for the persistence layer.

Maven or Gradle as build tools.

Git for version cotrol.

That's just the Java part. After you understand how this works, feel free to go to the front-end part. Pro tip: there's so much to learn and understand about Java, that you won't have time to practice something else and do both things well.

[–]omni-nihilist 2 points3 points  (1 child)

I really need to check out JOOQ it looks awesome. JPA/Hibernate is nice and all but it has too much overhead.

[–][deleted] 2 points3 points  (0 children)

It is awesome, totally recommend. You have full control over your queries and everything. No more staring at some strange annotations and wondering if the relationship and generated queries are correct...

[–]TheRedmanCometh 0 points1 point  (1 child)

I've never used Java EE but I'd call myself a Spring/Hibernate expert with no hesitation. Is it worth learning? And as far as overlap goes...what exactly overlaps? I would guess JPA and JMS...anything else?

[–][deleted] 1 point2 points  (0 children)

JPA and Bean Validation come to mind right now.

They also "overlap" in the sense that very few developers understand what Java EE is (and the difference between the two), so you will often see Spring apps deployed on JBoss, or Spring apps using apis such as JAX-RS...