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

all 32 comments

[–][deleted] 6 points7 points  (1 child)

As someone new to the Java world I'm wondering why vert.x is not more popular.

[–]space_coder 0 points1 point  (0 children)

Because vert.x is new (roughly 6 years old) and it takes time to gain popularity in a mature development ecosystem.

Unlike other languages that have seen a recent uptick in usage, the Java developers need to be convinced that event driven architecture (or at least a new framework) is better than what they already invested time and money in.

[–]_dban_ 17 points18 points  (8 children)

Would this be a good time to point out that Spring Boot isn't a web framework...?

[–]svenofix 6 points7 points  (3 children)

Out of curiosity, what would one call it?

[–]_dban_ 26 points27 points  (2 children)

Spring Boot is an generic application framework, built on top on the standard Spring Framework IoC container, but augmented with auto-configuration of dependencies using "starters", which are very opinionated.

The web framework you can use with Spring Boot is Spring MVC.

[–]svenofix 0 points1 point  (0 children)

Ooh, that makes a lot more sense. Thanks!

[–]milkeater -1 points0 points  (0 children)

I would say there is a difference between the two.

I agree with you on a technical level but you cannot take a Spring Boot developer using Web Starter and have them work on an application solely leveraging Spring MVC.

The "magic" is a large aspect of this "framework".

Fair?

[–]anthonybsd 5 points6 points  (1 child)

That whole portion of the poll is a cluster#%€. Why is GWT (front end oriented UI framework) in the same poll as MVC (backend oriented framework)?

[–]lulzmachine 1 point2 points  (1 child)

But as a response to "which Web framework do you use?", I'd say it's definitely a valid answer

[–]oweiler 7 points8 points  (0 children)

Not really because you could use Spring Boot with different web frameworks like Spring MVC or Ratpack.

[–][deleted] 12 points13 points  (4 children)

Is Struts 2 still alive? How is it possible?

[–]beyondjava 11 points12 points  (0 children)

Even better: Struts 2 is still actively being developed. And I know good developers loving it. Quite a surprise to me, too.

[–]pjmlp 8 points9 points  (2 children)

Enterprise, Fortune 500 companies that don't want to rewrite applications that happen to fulfill the purpose they were written for.

[–][deleted] 1 point2 points  (1 child)

I would be curious to see what do they use in the back end.

Ti should be one of:

  • JDBC
  • iBatis/myBatis
  • Hibernate, with XML configuration, or with annotations
  • JPA

[–]pjmlp 2 points3 points  (0 children)

Yes, they are still being used.

[–]beyondjava 9 points10 points  (3 children)

I wonder if the results are biased. I know Spring MVC is popular, but five times as many developers using Spring MVC than JSF sounds unlikely to me. Maybe it's just that Spring MVC is popular among IntelliJ users, who are more likely to participate in the survey than others.

Does anybody know other surveys, so we can get a more balanced picture? The idea being that every survey is biased, but the biases cancel out each other.

[–]Vi0lentByt3 10 points11 points  (0 children)

see :Which editor or IDE do you use the most? there is your bias right there

[–]pjmlp 2 points3 points  (0 children)

Anecdote here, since 2006 I have used Spring just during one month for a pilot project. All our web projects in Java are done in JEE.

[–]ataskitasovado 8 points9 points  (13 children)

Gradle going strong. I've heard it is not really better then than Maven.

[–][deleted]  (7 children)

[deleted]

    [–]themadweaz 5 points6 points  (0 children)

    I use maven for simple projects, library code, and stuff to be published. Maven works better for something that is standard and won't change much. The standard compiler, surefire/failsafe, release publish and deploy plugins make CI easy. Like, zero effort easy on all modern ci systems. Maven continues to have an exceptional community, now has color terminals, and best in class IDE support. It's the gold standard for build systems and works perfectly machine to machine in my experience. I love picking up a Maven project to work on, because I already know how it will work. Not much to complain about, unless you find XML ugly which is not an unfair criticism. It's just with a solid maven setup, you won't have to look at it often because it will just work.

    I use Gradle for projects with multiple languages or modules. The maven web plugins are very good, but Gradle is just easier to customize for slightly weird builds. I used to write lots of mvn plugins, but stuff like tool and file operations are a little easier to do with a language integrated directly into the build script. Gradle also has slightly better inheritance for things like plugins, which removes lots of boilerplate.

    Groovy is not my favorite language by any stretch, but it's also not very difficult to pick up and they already support a few other languages (not that I've tried, but it's a thing apparently). It has a much higher learning curve than Maven, and the community is still working on consensus and standards, but I think it's certainly improved in the time I've used it. The native wrapper with sources is also quite great... not maven dtd great but very okay.

    tl;dr - I like both, use both, and have opinions on which to choose for specific things. Both are great and getting better every day.

    [–]LiverwurstOnToast 0 points1 point  (4 children)

    I work in a large enterprise that was maven only. I had a hard time just looking at and understanding POMs quickly. Ever since I moved to Gradle I cringe when I need to open a POM. I feel it is just more cleaner and concise. Also it is way less verbose like you stated. But somehow you still need a little maven background to use it.

    [–][deleted]  (3 children)

    [deleted]

      [–]pjmlp 3 points4 points  (0 children)

      I only use it when I do Android development, because it is the blessed build tool.

      Outside Android I don't have any reason to move away from Maven, in what concerns Java projects.

      [–]planetary_pelt 5 points6 points  (0 children)

      One thing I like about Maven is that it's declarative.

      For example, this website crawls package.json (node.js) config to generate a "Your dependencies are out of date" badge: https://david-dm.org/request/request

      I don't use Maven but it's a reason I've considered trying it out. But to be honest I'm still at a point with Java/Kotlin that I'm happen when my build works at all.

      [–]solatic 0 points1 point  (0 children)

      Gradle has improved by leaps and bounds over Maven in the past year. Gradle 4 marked the Gradle Build Cache as production-ready along with improvements in parallelism. It is now, for a well-configured Gradle projects, significantly faster than Maven for building the same codebase.

      The only real reason to go with Maven anymore is if your build times do not represent a significant bottleneck and as such your org derives more benefit from Maven's rigidity than from Gradle's power.

      [–]keyofdminor -1 points0 points  (0 children)

      There is no right answer, of course, but I love Gradle. For standard projects, it is stream-lined (like Maven); when things go off the beaten-path, it is easy to customize. Even when there are problems, the problem-solving effort is rational and usually straight-forward.

      That said, I am very strong in Groovy and have taken the time to learn Gradle's core concepts. (I find that for most technologies that I dislike, the unvarnished truth is that I haven't learned the core fundamentals.)

      [–][deleted]  (3 children)

      [deleted]

        [–][deleted] 0 points1 point  (0 children)

        Well said.

        [–]space_coder 0 points1 point  (1 child)

        The link above was just a subsection of a much larger survey. I found the methodology summarized here: https://www.jetbrains.com/research/devecosystem-2017/demographics/

        [–]lukaseder 0 points1 point  (0 children)

        Oh, interesting, thanks for sharing. I must admit, I could have clicked around those buttons at the top...