7

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?

8
  • 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
    CommentedAug 1, 2015 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".CommentedAug 1, 2015 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.orgdropwizard.io maybe those might get a bit closer to what you want
    – berdario
    CommentedAug 1, 2015 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
    CommentedAug 1, 2015 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 itCommentedDec 15, 2016 at 23:33

2 Answers 2

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
    • 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
      CommentedAug 1, 2015 at 16:00

    Start asking to get answers

    Find the answer to your question by asking.

    Ask question

    Explore related questions

    See similar questions with these tags.