6

I am a Ruby on Rails developer and I like its simplicity and rapidness. On the other hand we need to use Java for some projects that we develop for our clients.

My question is why (pure) Java does not have a framework like Rails?

I searched and found some alternatives but they have big disadvantages:

  • Spring-roo: small community, lack of support
  • Grails: is something like I want but its main language is Groovy. Bad for Java developers
  • Play: community divided into two by Java-play and Scala-play and Scala is the main language.

Is there any limitation about language (being statically-typed) or is it just from that community does not looking a solution like Rails?

closed as primarily opinion-based by Ixrec, gnat, user22815, user40980, durron597 Aug 1 '15 at 19:32

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

  • I'd guess a combination of community, and the comparative advantages of the languages. You can get a simple website up and running super fast with Ruby, but there's a reason really huge projects are normally written (at least partially) in something more "established" like Java. – Ixrec Aug 1 '15 at 11:24
  • 4
    Ruby and Rails are seen together so often you'd think they were one language. The truth is Java has lots and lots of frameworks. Other than it's own library there isn't one that you will reliably find helping any given Java project. There isn't much of a technical reason not to use them other than that a Java developer not familiar with what you pick will resist it preferring to write clean "Java code". – candied_orange Aug 1 '15 at 11:39
  • if I'd need to start a pure-Java project (thankfully, I don't), I'd probably have a look also at these 2 frameworks: wicket.apache.org dropwizard.io maybe those might get a bit closer to what you want – berdario Aug 1 '15 at 16:04
  • @berdario wicket is too different. It's just a component based framework. What I'm lookin for is a full-stack framework in Java with the features from Rails like generators, convention over configuration, included ORM, RESTful design, MVC, etc. Grails has them but it's Groovy based. You can think my question like why there aren't a framework like Grails but in java? – xaph Aug 1 '15 at 16:16
  • 1
    They have Grails. If you came up with any OTHER frameworks using Java or Scala that have easy db migrations like Rails I'd love to hear about it – Robert Beltran Dec 15 '16 at 23:33
5

The short answer is that Java web developers, as a whole, seem to be happy with the tools/frameworks they currently have, and do not prefer the Rails way of working enough to make such an effort worthwhile. Feel free to start a project if you think it would help.

The Java platform has many frameworks for doing web development, some provided by Sun/Oracle, and others developed independently. The Java platform also supports several languages, which can be used for web development. Groovy/Grails, for example, was invented to provide a Ruby/Rails-like environment on the Java platform.

The reason a Rails-like environment hasn't taken the Java platform like it did for Ruby is largely a matter of preference and momentum for the teams developing the applications. The existing Java technologies work well (not implying that others don't) and have evolved in a different way, largely because the developers already had certain infrastructure in place (Servlets, JSP, JEE). Java developers seem to prefer the Java way of architecting applications. They may not prefer working in a Rails-like environment. If Groovy were an option for them, and they wanted to develop an application using the Groovy language, they could easily do so, using Grails. (It should be noted that you could develop a Grails app using only Java code, but it would be an uphill battle.)

The best thing about the Java ecosystem is that it was created by people trying to meet a need. If you feel there is enough need, and you'd like to help out, feel free to start a Rails-like project for the Java language. Maybe it will catch on :)

0

Because java it self providing some technologies for servers like JSP, Servlet. but in ruby no such technology exist. It does have Networking capability it up to us how we use it. That what Ruby on rails developers did. Java developers does not require any framework but ruby developers do for FAST Development's And Oracle itself providing support for JSP and Servlet.

  • 1
    It's ok but having JSP or Servlet does not solve all web development requirements. Most of Java developers uses Spring because it just supply MVC and convention-over-configuration(of course there are a lot of other reasons). I just want to know why there isn't a full-stack rapid development framework with CRUD support, configured ORM, integrated template engine etc. It looks like Grails is a framework that I want but it uses Groovy. Why does not somebody develops a framework like Grails but in Java? – xaph Aug 1 '15 at 16:00

Not the answer you're looking for? Browse other questions tagged or ask your own question.