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 |
Just faster and essay web development...
Nothing but ya if it is provide virtual environment like python it would be great for us...
Less time conjunction with it and essay and faster to deploy my apps
Some of the first things I liked coming from PHP frameworks were the Ruby language and the "convention over configuration" paradigm. Once you get that into your mindset and with the help of the Ruby on Rails guides and scaffolding tools you will have a solid base structure to focus on building the features that matters. Having tests as a first class citizen also allows you to learn really productive/agile stuffs such as BDD and red/green refactor cycle. At first it might seem too much rigid about its conventions but after using Rails for a while you will be able to note that you can apply different conventions and design patterns to achieve different purposes, for example use Service Objects to avoid super fat models, render server side Javascript instead of HTML/ERB, connect to non SQL database or use PostgreSQL jsonb datatypes, background jobs. What's even better is that Rails is incorporating new technologies with each new version. For example, web sockets will be included in Rails 5 via ActionCable and Rails 4 included ActiveJob which was something you have to do "manually" before to have support for async jobs. And something really important when having code in production is the Rails security reports google group that is constantly reporting security issues with patches and/or instructions to mitigate vulnerabilities.
There are not too many things I dislike about Rails but despite one of the things I like best are conventions, some of them I don't like too much like concerns. Perhaps another thing I don't like too much is the level/length of the component stacks but maybe that's something that is improving over time. I mean, for a given point in code execution there is in my opinion a long stack before it. Most of the times those are part of tools/gems you're using but IMHO some things could be a little more flat. Anyways, I'm not a Rails contributor and I have to agree with the tradeoff between productivity and code execution efficiency.
In our agency Iporaitech, we've solved different problems in the past 4-5 years, being the most important the following: - Web app for a battle of rock bands contest with integration to Soundcloud to play tracks in contest and Facebook to like each track, band and the whole site as well as Facebook polling in that time. - Web app for presidential voting in Paraguay 2013 allowing users to compare candidates side by side, with information gathered with a Rake created to navigate other websites using Nokogiri and some other tools. - e-commerce websites with Spree - Web service API for retail store to be used by client apps running on tablets allowing offline processing and distributed creation of resources based on UUIDs. - Web service to provide financial reporting of people and companies to clients such as banks. - Web management system for small/medium sized retail companies. - In www.tweetandlove4g.com our most recent project we've implemented an idea of an agency company, a web app to convert tweets into MP3 audio tracks getting notes from tweets, in Spanish such do (C), re (D) and so on (don't know how long is going to stay in there). In this project we leverage Rails template and layout system to create a 2 pass algorithm to render staff as partial layout first and then to place the notes in the staff in the view.
Rails favors convention over configuration. This means that, out of the box, it suits a lot of the modern web developer needs. We have used it for both API servicing a single page app, microservices, and traditional Rails app. The defaults are very sane and aimed at giving everyone a good experience.
With such a huge project, it can be hard to get into open source contributions. Rails tries really hard to fix this, but it's still a reality.
We have shipped traditional applications, single page applications, micro-services, etc. We server high expectation SaaS space.
Easy to read, loaded with gems (libraries), and very active community. A game changer when you develop somethings new. It also quite easy to maintain if you follows best practices.
In some situation performance can't match with other framework and of course, big stack came with great RAM responsibility.
We are doing all sort of the impossible things and Rails help us to archive that in a very short time.
It allows us to quickly build out, test, and iterate on features. This is enabled by convention over configuration, a great open source community with a ton of gems, and easy-to-setup hosting platforms.
Community gems are unreliable and often become outdated and abandoned by the original developers. Ruby is slow and scaling to meet the needs of a growing user-base is expensive.
Call tracking, intelligent routing, and analytics. We were able to build out a product and bring it to market very quickly for minimal cost.
The community surrounding Rails is vast. This provides a great array of tools that people have built to make developing for Rails much easier. It also means there are people using Rails in a wide range of applications. This feeds back into Rails development, making it a tool that works in many situations. Rails also has a vibrant testing culture. This makes for more reliable products that are well built. It is so easy to do TDD using Rails. This has saved me many hours of hair pulling as every aspect of the products is tested. Overall TDD has improved our release cadence and reduced our code churn significantly.
The Long Term Support is lagging behind what one would expect from a paid product. This is obviously because it is an open source community maintaining the product. However there are paid solutions people can buy into for LTS.
We are working to solve problems relating to Christian Ministry as it interacts with technology. As the most significant advancement since the printing press, computers are simplifying the way we do donor management, outreach, internal communication and much more. With so many cool things we could make to advance the cause of Christianity, we needed a tool which would enable us to do rapid, reliable software engineering. Rails has provided us with the capacity to write fast, write once, write TDD software.
The ease of development and creation of web applications.
Wish there was a more documentation to figure out complex objectives, but that's way of software development.
We solved a problem in our company by developing a web app in rails to manage customers & their jobs(work orders). To create work orders & also log and print the workorders off.
Been using RoR for the last few years in 2 different companies and for a few side projects. Ruby on Rails is a great platform for rapid application development. It has a great ecosystem and different deployment options. Lately we use it via JRuby so we have access to the entire Java ecosystem as well. Ruby is a great language. Allows you to do a lot of complex things very easily. Ruby on Rails was a very influential framework. It has led to the importance of ReST and platforms like ASP.net MVC, Groovy on Grails and a few PHP clones too.
Rails has stagnated a bit lately. The problems with business logic are deep and need to be handled separately from Rails. The "Rails way" has deep problems with maintainability because REST is really not sufficient for complex apps. I find the Trailblazer approach great. In addition there are moves towards single page javascript apps and using Rails for only APIs. For a simple API Java might be a better choice for pure API's.
Any custom logic can be put into Rails. I have worked on appointment scheduling, sales systems for custom home builders, purchase order distribution, custom payments. There are no limits. Only super high performance stuff could use a better platform.
I like the conventions. If you can think correctly then you will find everything there in Rails. It recommends all the best practices for your applications. Another best thing is the community. If you search for anything, in 98% cases you will find it with 1/2 attempts.
I'm biased a lot with Rails, so everything looks good to me.
I have developed wide range of applications, exploiting its gems and as a result rapid development.
The mapping with the database and the easy integration
The rendering performance is a little slow
ecommerce, cms, saas
It's a great tool for creating MVPs. It's fast and beautiful. Rails code is clean and effective. I also can use free heroku server and it's great. Rails is opensource framework. Documentation is also almost perfect and you don't need to read something else to start coding. There is also some good rails content management systems, e-commerce engines etc.
Dependencies management (but it's mb because i've used php before). What was also important for me is Windows compability, but i know that it's more likely my problem, not rails's :) (I used railsinstaller and sqllite on windows). There are not so many junior dev job offers, so it's hard to find a job, if you are junior developer. Especially if you are not in USA (but it would be fair to say that the ratio of remote work to office work is the best).
Fast testing of hypotheses. I think it's one of the best tools for startups. And also it's secure (most of the times). Also rails developers salary is high, so you don't need to think about finace issues, you can just do what you like to do.
It's ease of use and how fast you can put together a working website.
Convention over configuration is OK, though when something not standard needs to be done is sometimes painful.
From small to medium sites, mostrly for small companies or individuals.
What I like most about this web framework is how fast I can make a page or web application using ruby programming language and simultaneously handle the frontend and backend as a single in the same environment; this makes it agile and magical. Also, over the years, I have made this tool part of my day-to-day functions at work since I do not need more tools to interact with the database or the console of my project; if not, I can achieve this in the same environment. It is a tool that integrates with any operating system but for me it is more comfortable to use it in Linux operating systems such as CentOS or Ubuntu, they are the two distributions that I use and at the moment it is easy to configure and to be able to prepare the environment which makes it even friendlier and the best option when selecting an IDE for projects in Ruby or Rails.
what I don't like sometimes is the handling of javascript and some javascript gems that don't work well, but in new versions this has been improving. Another issue is the cost, perhaps some developers cannot buy it at first, which makes it a tool for companies, there should be a version for independent developers with low resources or who are just starting out
We have made several applications in the company and this framework has helped us a lot to speed up these developments and at the same time to have a quality product and more now with the management of APIs
- Building Web application quickly. - Lots of useful gems - Provide lots of resources for working and researching. - Documents and Tutorials are detail and updated. - Large community with strongly support
They bring "magic" to the framework that it is hard to control when the app becomes bigger.
Building webapp fast enough to show the features, improvements for my projects
Very Easy to learn. Even beginners can design well functional websites with-in a few days using Ruby on Rails. There are very good tutorials for your help. Development is very fast compared to other frameworks. Very supportive and active community. Regular updates on Ruby on Rails Free Third Party Packages (GEMS) Building Minimum viable product is very time efficient. Great testing support
Performance is not that good when the application grows and reaches scales of millions of users. If the app is big, it takes a lot of time doing simple stuff. So it's like a trade-off between performance and ease of use.
I used Ruby on Rails for a couple of projects. One of them was to design a portal for automatic synchronization of data center inventory. I spent less than one week to set up the whole system and able to design a working solution as most of the desired functionalities were available in terms of libraries. Feasibility testing was also very easy and development was very fast.