When comparing Ruby on Rails vs Play Framework, the Slant community recommends Ruby on Rails for most people. In the question“What are the best backend web frameworks?” Ruby on Rails is ranked 8th while Play Framework is ranked 13th. The most important reason people chose Ruby on Rails is:
The sheer scale and massive number of developers using Rails has produced a large number of guides, tutorials, plugins, documentation, videos and anything that can help new and old Rails developers.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Massive community with lots of tutorials and guides
The sheer scale and massive number of developers using Rails has produced a large number of guides, tutorials, plugins, documentation, videos and anything that can help new and old Rails developers.
Pro Many plugins (gems) available
There are many third-party plugins (Ruby gems) available for Rails development. The larger ones and those that have a lot of downloads and users are very well documented and easy to use.
Pro Ruby is a nice readable language
Ruby has a very clean syntax that makes code easier to both read and write than more traditional Object Oriented languages, such as Java. For beginning programmers, this means the focus is on the meaning of the program, where it should be, rather than trying to figure out the meaning of obscure characters.
presidents = ["Ford", "Carter", "Reagan", "Bush1", "Clinton", "Bush2"]
for ss in 0...presidents.length
print ss, ": ", presidents[presidents.length - ss - 1], "\n";
end
Pro Good conventions
MVC is a great starting point, and perfect for APIs. You'll rarely if ever have to wonder "where should I put this code?"
Pro Small projects are very easy and it's possible to finish one in very little time
The large number of documentation, tutorials, videos and guides which help new developers who are just starting with Rails make it seem very easy to create a small and simple application by relying on code generation and components that come out of the box with Rails.
Pro Cool language
Pro Supported on every major cloud or VPS hosting service
Rails is supported on every major Cloud hosting service nowadays. There are also countless tutorials that help developers deploy their Rails apps if there are any problems on the way.
Pro Meta-programming capabilities
Pro Scala
It's like Java, but more Haskell-y.
Pro Asynchronous Core
Pro Interoperable with Java
Pro Fast
Pro Good documentation and a great community
Play has quite a large community which provides numerous tutorials and videos related to developing with Play.
The Play official documentation covers many things, such as the framework itself but also specific stuff such as Akka, SBT and Netty.
There are also many big companies that base their main sites around Play, one of them is LinkedIn which provides third-party documentation on a regular basis.
Pro Play is an extensive ecosystem
Play uses Akka for concurrency, Scala for a templating engine, Netty as a client-server framework and SBT (Simple Build Tool) for building. And they all come out of the box.
Play also comes with the option to scaffold your applications. Play is an all-embracing ecosystem designed to increase developer productivity and shorten development times.
Pro Simple for beginners
Play is very simple to get started. The documentation is very helpful for beginners and advanced users alike and the official website has a great "Getting Started" tutorial to begin developing with Play.
Pro Readable code
Play framework's convention over configuration methodology makes most Play projects have a very similar structure. This means that the code written for the framework is very readable. This enables a developer to switch between applications without having to relearn the ecosystem for every project. The built-in templating system also helps with code and makes it possible to have a very low count of lines of code.
Pro Can use Java, one of the most widely known languages
Java is one of the most widely known languages, so people coming from that background can jump right in and not have to learn a new language syntax.
Pro Good Websocket Support
Cons
Con Learning curve seems low at first, but starts becoming steeper
Rails' simplicity is deceptive. It's learning curve is really low at first, and the huge number of tutorials and guides out there for starting with Rails make it even easier. But it starts getting harder and harder as apps become more complicated. If good code conventions and OO design are not followed, then the codebase will be all over the place and it becomes impossible to maintain it.
Con Too much magic
So much behavior is implemented with dynamic behind-the-scenes changes to existing classes that obscure bugs are way too common. Conflicting interactions between multiple plugins that both try to change the same objects are a particularly pernicious example.
Con Too much convention
Con Not a very popular language outside of web development
Con Bad performance
Among the slowest frameworks. If you want to scale, you will have to migrate to another land.
Con Backward incompatibility
The jump from Play 1 to Play 2.x caused a lot of confusion. While it is important to have some kind of evolution, sometimes it causes backward incompatibility which can create some problems. It makes tutorials or modules made for the old version obsolete. This can make it hard for beginners to find useful resources. The template engine which used Groovy now uses Scala.
Con Not as many resources to learn
Other languages and frameworks have countless tutorials, books, moocs, etc. Java and Play does not have nearly as much.
