Ruby on Rails, often referred to as Rails, is an open-source web application framework written in Ruby. It emphasizes convention over configuration (CoC) and the don't repeat yourself (DRY) principle, aiming to simplify and accelerate web development by providing default structures for a database, a web service, and web pages. Rails enables developers to use a model-view-controller (MVC) pattern to organize application programming. Its rich ecosystem of gems (libraries) allows for rapid development of complex web applications.
Capabilities |
|
---|---|
Segment |
|
Ease of use |
|
Deployment | Cloud / SaaS / Web-Based, N/A, On-Premise Linux, On-Premise Windows |
Support | FAQs/Forum |
Training | Documentation |
Languages | English |
I like the fact that I can create applications very quickly, that I do not have to deal with too many technical details and I can focus on my business domain problem.
I do not like the fact that does not enforce various object oriented patterns. For example, the decorator pattern.
I solve the business problems around enterprise data management, e-shops. The benefits are the lower stack technical challenges that are already solved.
- minimum time requirement for web development - one of the fastest growing community - gem based support - quick and easy way to develop large scalable website
- comparatively less support in terms of multi threading - not enough tutorials for rails 4 - Initial learning curve requires a little more effort than other languages
- I am building an e commerce website using ruby on rails. I think there are several gems like spree out there which helps me to launch it quickly with less effort and I can customized it according to my need.
Its simplicity using principles like DRY and convention over configuration, enabling you to achieve great products very fast.
The absence of the inclusion of a superset of HTML like Haml or Slim instead of ERB to simplify the creation of views.
Core principles help organize code from day-one helping to construct my products with confidence.
The speed that you can develop a product.
sometimes I think that the frond-end could be more flexible.
I'm creating my own project, now I'm in creating the MVP yet, and it's my first commercial project.
It's written in Ruby. I like principles such as convention over configuration, don't repeat yourself, using MVC and ORM. It's easy to find libraries (gems). It's open source and has a significant community.
I don't like turbolinks and problems with assets pipeline.
I make prototypes in a fraction of time compared to other ways/implementations.
It has a logical MVC framework that has a LOT of features.
It's so fully featured it can be hard to know if what you are looking for already exists as some one line command. Most of my time was spent figuring out if something was already implemented internally.
We were making a single page internal monitoring application.
I think the best in Rails is the way that everything you expect to have is there. And the great community behind the framework. There is a loot of tools (gems) that help you in the process of building a great software. And there are some others tools that can be used to improve the performance or even to improve the way you do the code.
The speed, in comparison with other web frameworks the speed is not the best.
I doing web pages, so it helps me doing that. Currently working on several products and Rails help me a lot from the start because it's really easy to setup, and the is easy to continue with the maintenance of the product if what you do it good, otherwise you can get in a mess.
We use Rails as a web API for our mobile app. It has many tools right out of the box and has many conventions that makes many configurations unnecessary, which make it very quick and easy to deploy. The Rails has an awesome documentation and a community is enormous, and just about every beginner question has been answered, this makes it very beginner friendly despite the poorly documented underlying language Ruby. Because of the size of the Rails community, there are many third party gems that cater to your needs.
The "conventions over configurations" philosophy behind Rails can also be frustrating to some developers looking for a more customizable solution. For example, as a web API, Rails has a simple-to-use JSON parsing tool as long as the JSON structure mirrors your underlying models. However, if you want to create custom JSON, this can result in extremely verbose and ugly code.
We use Rails as a web API for our mobile app, this includes using Rails to communicate with the database, and other services that we use, such as ElasticSearch, Amazon S3 etc.
Convention over configuration. Easy to get a web project up and running with a nice framework to work in.
Not scalable for large web projects. Although convention over configuration approach can help speed up development for most projects, it can sometimes get in the way when you have requirements that don't "fit into the box" that Rails provides.
Custom software that doesn't fit into the box of a standard CMS. Have done other projects with more varied requirements as well.
The extensibility is remarkable. The Ruby on Rails gem community is still thriving. I have not run into many problems where gems were out of date, or didn't work as intended most of the time. Rails security appears to be strong especially with the default options that help prevent common vulnerabilities like CSRF and XSS.
The learning curve when first getting started is relatively steep. It takes a while to get used to the asset pipeline, and some of the configuration that's required to move on from a simple app.
I currently develop two Rails products. One is an internal application developed for a security company, and the other is a public facing app called Preferred Athlete Scouting Services. The former solves a problem for our company relating to generating vulnerability reports to our clients, and sharing/collaborating on projects and reports between employees. The latter is a basketball player management system that provides access to important information regarding potential women's basketball recruits to college scouting programs.
I like that it is relatively simple to start an application. From starting you first dev instance of the app to pushing it to a production server always seems fast and efficient. The flexibility of Ruby on Rails allows you to incorporate a variety of existing web technologies into one app. Whether that is Database related or front-end framework related it is quick and easily to integrate existing technologies and create a robust application.
I have few complaints about rails. The documentation can always use work I suppose.
You can create fully customized web applications that are scalable and dynamic. I have solved clients problems with ticketing services and online ordering. The benefits I have realized are strongly related to the database relationships you can create with Ruby on Rails models and controllers.
Ruby on Rails is great for rapid prototyping. Quickly scaffold out a prototype app in minutes and get running live!
Sometimes it can give me errors, but most of the time it's smooth sailing.
Ruby on Rails provides a comprehensive coebase that covers a variety of technical needs.
The Ruby language is truly the best feature of the Rails framework, but the contribution of David Heinemeier Hansson has been to exemplify the idea of 'convention over configuration'. When working in Rails, there is almost always a clear and efficient path to a solution (within the confines of web applications, at least). This makes Test-Driven Development very attainable, since the components needed for a new feature are easily worked out before the feature is built. This, in turn, expedites the creation of new applications and the maintenance of existing ones because it permits safe assumptions and expectations about organization.
Sometimes the creators of Rails take convention-over-configuration a little too far, resulting in undesirable libraries and limiting patterns being included with the framework. This, I feel, has made some trending concepts and architectures (SPAs, for example) unnecessarily complicated to implement without relying on other technologies.
Recently, my company required a RESTful JSON API for an Angular application. Adapting the existing application to this use was a breeze due to consistent patterns and organization. I have repeated this experience with numerous feature requests, and picking up where someone else has left off is often trivial.
Rails makes it simple for folks with little to no web application development experience to begin building robust websites.
A lot of the ease in the Rails framework is due to "magic" which makes some tasks confusing. I've found myself having to dive into the Rails framework source code on several occasions to understand what was going on under the hood.
We use Rails for building quick applications that serve internal business purposes.
The best part about Rails, is the community. It is a constantly evolving framework built in a very easy to understand language. Its also great for small teams as everything you might need to make a web application comes built in. From connecting to databases and handling data objects, to rendering views and handling sql injections to international languages. Ruby on Rails a complete package of everything you need to make a web application
There is a lot of magic in Rails, by this I mean sometimes things just happen and you have no idea why. Furthermore, Rails has a lot of the same problems as Ruby, It's slow and gives the developer a lot of freedom to make a lot of mistakes. It also doesn't scale past 30 / 40 engineers unless you really know what you're doing. It becomes hard to maintain, slow and just a pain over all. Rails also still uses the MVC which a fairly outdated way of creating web applications as more people move to single page applications built with Node
I have worked at many companies that use Ruby on Rails as their main technology stack. The benefits are that Ruby on Rails works but not at a large scale and makes everything easy.
If you are writing a big enough webapp I believe it's a good framework. It makes it easier to get started without configuring anything and it gives you a very good mvc based directory structure which can be a pain to configure for frameworks like Sinatra. There are lots of libraries that support ruby on rails integration out of the box so that's always a good thing. Another good thing about Ruby on Rails is the community. You can almost always find a solution to any problem that you are looking for and that makes development a lot faster. And I love the generators that come with the framework; boy do they save time!
Personally I don't like to start with so many things in my app. I have developed both using Ruby on Rails and Sinatra; my first instinct is to use Sinatra, because it's simply a very lightweight framework and I can configure/add things as I need them.
I am a developer and I have developed several services using Ruby on Rails. I have used it in the past to create some very large services, serving millions of people. It's a perfect framework for a startup and makes the development process easier for developers.
Very convenient, lots of libraries for most use-cases
Dynamic typing is error-prone and not expressive enough
Doing intranet services. The main benefit is the quick prototyping
The Ruby on Jets is a new framework which is similar to Ruby on Rails. The jets framework gives us the extensive power to create serverless applications and it's deployment.
Since the framework was introduced lately, the implementation examples and lack of proper documentation was a point of pain for us.
Ruby on Jets The implementation of microservices architecture was very easy with this framework. Since each of its controller will be considered and deployed as a single lambda function.