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 |
Simple to use, powerful, intuitive, quite popular
steep learning curve, trying to do everything at once
I'm building applications for the web and mobile and Ruby on Rails solves that except the native mobile app or desktop app part kind of (I use WebViews)
I have used ruby on rails for almost 8 years from 2.x to 5. Development in ruby on rails is rapid and they way it structure code with the rake commands that improves the quality of code.
Ruby on rails comes with lots of breaking changes whenver a new version releases and that makes life of a developer difficult if you want to migrate from old to new version.
We were using ruby on rails for rapid prototype development and rest APIs for our mobile app. Its scalable and easy to connect with lots of services. Like redis, mongoddb, postgres, sendgrid..etc.
Its lemma DRY - Don't repeat yourself promotes not writing twice the same code but using mechanisms and tools provided by Ruby and its framework Rails. Besides the way to create backend and frontend (now with Stimulus) is very clear, concise and standard. This leads to short code that is easy to understand, to debug and to correct. For the errors I have had with the framework I have opened issued in github and several people have jumped to solve.
I wish there would be more tools for Stimulus to make nice frontends even easier, but it is on very good way for that. For newcomers the learning curve is step but it is worth.
Developing web applications.
It gives us the power of rapid development and is battle-hardened for long term use
Vibrant 3rd party package (gem) community, but many of them are out of date
Ruby on Rails gives us the tools we need to focus on product features and testing, without getting bogged down with low level implementation details like validation or SQL queries
- scaffolding feature gives you fastest development experience - mvc structure facilates manageable file structure. - gem library gives you some well developed and tested features without investing time in those features.
- upgrading rails version is such a pain, we need to upgrade all the dependecy Which might break your application , need thoroughly testing after rails version upgrade.
- stand alone web application development - embedded shopify applications development - real estate application development - survey based application development
It makes the development process very easy and faster. It gives a complete MVC and can also be integrated with other frontend frameworks like reactJS, angularJS, ember, etc.
Upgrading a Rails version is such a pain, by the time a new version comes, we need to look for the latest ruby version, and the server stack should also support it unless your upgrading to the latest version will consume your time, and you have to give extra effort to upgrade version on server.
- makes the development process very easy and faster - web application development and deployment becomes very easy with the environment they provide - with the testing suits it support it stabilize the application
Ruby on Rails has been growing in the last five years and it's a popular solution to build web applications. You can build agile solutions on the development. This feature makes Ruby on Rails a great tool for many companies around the world where the time it's equivalent to money. Ruby on Rails it's an on-demand framework love it by experimented and non-experimented developers where we want to simplify common and repetitive tasks easily you can reuse existing components this feature lets you save much time. Another feature that I love it's the way to implement gems easily you can build great solutions in a lower time. You can create Unitary Tests using RSpec or web functionality with Capybara or Sellenium.
One of the things that I being facing this time using Ruby on Rails and I hate it; it's where you want to read or write the database.
At my work daily got tickets from our customers requesting new features. Ruby on Rails provides me a fast way to provide work in a lower time.
Ruby on Rails is a great framework for building RESTful apps. It's extremely intuitive and easy to use and read. You can build powerful apps with just a few commands, and setting up a database for your API is extremely simple. Also the community is amazingly helpful, and given that Ruby is so popular nowadays most of the problems you'll come in contact with have an easy-to-follow solution online, just a couple of clicks away. There are also a lot of great talks on youtube by Robert C. Martin (Uncle Bob) on Ruby, Rails and RESTful apps which are really easy to follow and cover everything on the subject.
I can't say there's much I dislike about Ruby on Rails. My only issue is downloading and setting everything up to use on my workstations, but once that's dealt with everything's smooth sailing from there.
All of my backend developing is done on Ruby on Rails, and I wouldn't change it for anything else. It has a Gem (a Ruby library) for anything you might need, and the framework as a whole is extremely well organized, allowing you to work using a lot of different practices, like TDD or Test Driven Development, really easily.
The language itself is beautiful, the learning curve is not too steep, the community is great.
Not much really, would like some more documentation or articles about using it with newer technologies.
Fast development, getting code to clients soon.
It's very easy to do a lot of things in a very fashionable way, uses MVC, has a lot of gems, ruby it's a great language, it's the perfect match
It's kinda slow but it's more because of ruby more than rails, and also its more about the way you write apps more than the framework
I use it every day for the last 8 years so It's my main way to wright software
Ruby on Rails provide for you all required stuff to start developing project from tiny blogs to hish load complex sysytems. Simple start, a lot of gems, generators, api mode, large community. Fast and usefull updates, up-to-dated docs. Flexibility of framework settings. Easy to build automated tests, A lot of cool DB adapters.
It's pretty hard to update Ruby on Rails from 2x to 4x and higher. Monkey patches. Could take a while to set up another DB like mongodb because there a lot of active record calls. It would be good to have some js frameworks support.
I am building different apps starts with simple blogs and ends with global heavyweights which is including 1M+ code lines. Ruby on Rails perfectly copes with these tasks. Starting with Rails 5 API mode included which is allows any kind of API easier and faster.
It eliminates a ton of boiler plate and provides a robust environment that lets you focus on development. There is a massive, extremely helpful community that has created a ton of useful documentation and libraries for just about everything.
It is a pain to get setup initially, and tends to make OS updates a lot more painful than they should be.
I built my company's technology using this platform.
Ease of development. You can setup a quick API and website pretty easily with minimum efforts. The ruby gem network is vast and help you do things even quicker. The MVC concept is pretty strong here and helps you avoid design decisions
Sometime encapsulation comes on the expense of performance.
Running API, website, background tasks - all done with rails. Easily extending old functionality.
I really love developing with dynamic languages, and Ruby is clean, fun and very flexible to use.
I don't like very much the lack of concurrency, and also that it can get a little bit slow if you don't take care of what you build. uages, and Ruby is clean, fun and very flexible to use.
We offer to our clients the best technical solutions and web servuces they can get, we basically use Ruby on Rails to build all of our products.
How easy it is to generate documentations. How human readable the code is. How easy it is to keep your code organized. How fast it can be to build solutions and measure results. How it encourages the user of needy practices and take advantage of software engineering principles.
While Ruby and Rails work on Windows, a significant number of gems were developed with Unix in mind without being tested on Windows. This force the developer with a Windows system to either install a Unix vm or find away to deal with incompatiblities.
- Build a unified interface that integrate various systems together. - Develop modern front end for legacy software. - Provide an API to access a closed system. -
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.
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
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.
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.
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.