I was looking around to see if there is an equivalent to django/RoR in java.
I found:
Does anyone have ever tried those frameworks, or do you know any other? Are they faster than django/RoR?
I was looking around to see if there is an equivalent to django/RoR in java.
I found:
Does anyone have ever tried those frameworks, or do you know any other? Are they faster than django/RoR?
I discovered Grails about a year ago, and haven t looked back. It takes a lot of ideas from Ruby on Rails (original it was named Groovy on Rails), and has a rich ecosystems of plugins / extensions. Grails, and underlying Grails language (superset of Java) make it a joy to program - you can really focus on the essentials. Its GORM functionality (a layer on top of hibernate) is also very powerful, and in addition to the plugin system, is one of two huge reasons to check it out (you can use it in your java apps as well).
With version 1.2 about to come out, I feel it s feature-rich and mature enough to be something that any developer should have in their toolbelt.
As far as performance, it s definitely less than that of pure Java, but you have everything from spring / hibernate / J2EE available to you to optimize, and you can always drop into pure java for some critical pieces of code. There have been some recent experiments with allowing to run part of the Groovy code using static method resolution, which, coupled with invokedynamic support, should provide huge performance boosts.
Other ones to check out in Java are Spring Roo, and AribaWeb.
Update Based on Additional Qualifications
Scalability, Productivity, Documentation, and decent Resources consumption
Stripes seems to be quite lightweight and embraces Convention over Configuration.
Having used struts, wicket, rails & Tapestry, I recommend you look into Tapestry 5.
It supports
the only downside is the documentation, which, is good, but a little terse, although the user groups/mailing lists are very active and most questions are answered well & eagerly.
(Also, be sure to only look at T5 - and not T4,3,2,1..... as these are very different to the current version)
More on why here.
Consider trying Lift Framework. It`s really great.
Anytime you are contemplating an application stack (language, framework, etc...) you also need to consider what are you trying to solve for and what kind of programming skills do you have at your disposal. I ve found that more experienced Java programmers have been very productive with the Groovy and Grails stack when compared to more junior programmers.
You mention the following as areas of concern:
Hope this helps.
I don t know about the Play Framework, but to answer the second question,
we are doing some projects with Google s Webtoolkit.
Could be worth checking out.
Good luck!
How about JRoR
Spring Roo claims to be a solution.
I ve done a project with grails and i ve found it really fast for some tasks, but it does many "magic" behind the scenes that makes it difficult when debugging.
Also I found myself reading over and over the documentation because I didn t feel it natural. A simple example is the controller where the action s are defined as fields (It s natural for me to think of an action as a method...). I can say something about GORM where you need to know some special words that when put in static fields does some magic like making a field transient... No annotations, no autocompletition... only the manual.
As for Play! I found it amazingly simple and fast for developing, easy to learn and to remember. The community seems smaller than Grail s but it s more active and faster to answer. The only disadvantage is that it does not rely on servlet s api so some 3rd party filters or other stuff is difficult to integrate but not impossible. It s important to note that you can deploy a Play application in any traditional web server packagin it as a war.
In my opinion Grails is great but you need to have a lot of experience with it to be productive, otherwise you ll lose a lot of time with the manuals. So if that is not your case I should recommend Play! Specially if you are not familiar with Groovy
I don t know about Play Framework, but Spring MVC or Struts together will Hibernate will offer similar functionality.
There are many other options available. Basically you need an MVC framework (Spring MVC, Struts, Wicket) and an ORM tool (Hibernate, iBatis). Of course you would need to integrate the needed components yourself, but this has been done already many times and you will be able to find plenty of information.
I m not sure if Spring MVC and Hibernate provides the same ease of use that Ruby on Rails provides (actually, I m sure it is much more complicated...). Play Framework is much more like Ruby on Rails I think, however I didn t us it myself and only watched the screencast and read some documentation on it, so if you want to have a similar experience to developing using RoR, I think you can better try something like Play instead of Spring MVC with Hibernate. The advantage of the latter is that it is very powerful and is able to adapt to an existing datamodel for example (from what I know on RoR, that is not very trivial in RoR). Another framework you could consider is Groovy on Grails. While it doesn t use Java (it uses Groovy), it is very RoR-like. It uses Spring and Hibernate under the hood (if I m correct) and the advantage of Groovy is that you don t have the strict static typing of Java. Ruby on Rails and Django benefit heavily from the dynamic nature of the language in which it is implemented, a feature Java misses because of its static typing.
Edit: ah, you mentioned Grails already in your question...
if grails is an option (which is actually not a java but a groovy framework) then the Scala-based Lift framework would be an option, too.
Another option is RIFE, which tries to have the minimal configuration of RoR while still being in Java. On your list, only Play Framework has that feature, the others are on the JVM, but are not Java (if that is important to you at all).
What about VRaptor? - it uses Spring as DI Container and a Controller/View engine similar to Rails Action-Pack.
AribaWeb also supports Groovy. Check out our other features at http://aribaweb.org/ and find out our approach to making web development productive.
We use Stripes framework extensively and it works really great. It s really lightweight and it directs you towards a clean design of your applications. It basically just hides the boring parts of development from you, so you can focus on the fun stuff (One such example are the indexed properties).
I have been using http://www.ninjaframework.org/ for micro-services and it is very close to most mvc paradigms,if you used rails, asp.net mvc, or nancyfx, you are good to go. It is very close to that philosophy and really awesome and easy to test. Only down-side there isn t much documentation, but it follows mvc pattern pretty closely. It uses nothing proprietary in the framework so it is a pure java based solution. So this makes up for the lack of documentation.
Hi have this j2ee web application developed using spring framework. I have a problem with rendering mnessages in nihongo characters from the properties file. I tried converting the file to ascii using ...
Check this, List<String> list = new ArrayList<String>(); for (int i = 0; i < 10000; i++) { String value = (""+UUID.randomUUID().getLeastSignificantBits()).substring(3, ...
I am in the middle of solving a problem where I think it s best suited for a decorator and a state pattern. The high level setting is something like a sandwich maker and dispenser, where I have a set ...
I have been trying to execute a MS SQL Server stored procedure via JDBC today and have been unsuccessful thus far. The stored procedure has 1 input and 1 output parameter. With every combination I ...
I have a system which contains multiple applications connected together using JMS and Spring Integration. Messages get sent along a chain of applications. [App A] -> [App B] -> [App C] We set a ...
If I m given two Java Libraries in Jar format, 1 having no bells and whistles, and the other having lots of them that will mostly go unused.... my question is: How will the larger, mostly unused ...
I have a Class variable that holds a certain type and I need to get a variable that holds the corresponding array class. The best I could come up with is this: Class arrayOfFooClass = java.lang....
I m working on a Java desktop application that reads and writes from/to different files. I think a better solution would be to replace the file system by a SQLite database. How hard is it to migrate ...