When comparing Bootstrap vs Ruby on Rails, the Slant community recommends Ruby on Rails for most people. In the question“What are the best web design tools?” Ruby on Rails is ranked 8th while Bootstrap is ranked 12th. 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 Consistency across browsers
The grid layout with the predefined CSS elements and JavaScript components make it easier to have consistency across different browser versions and even different devices.
Pro Responsive design philosophy
Bootstrap is developed to be instantly compatible with all sizes of screens, so you don't have to worry about which device the user is accessing your site from. Yet if you prefer, you can disable responsiveness of Bootstrap.
Pro Well documented
Documentation is thorough, well organized and full of live examples and templates ready for use. Every component and every part of the framework is explained and covered in depth.
Pro Custom builds
If you don't want to download the full Bootstrap framework. Custom builds of Bootstrap can be created, including only the desired CSS, CSS components, and JavaScript components. This can be done directly from the Bootstrap website by simply choosing what components to download.
Pro Designed to get a site running quickly
Bootstrap is designed to get a site up and running quickly. Each of it's components is pre-configured to help with getting a site up and running quickly.
Pro Great community
Bootstrap is very popular and has a large community. As a result of this it is much easier to find help with anything you might need. This also gives you a treasure trove of prebuilt components to use and add to your site.
Pro Supports responsive embeds
Allows easily adding responsiveness to <iframe>
, <embed>
, and <object>
elements.
Pro Easily make professional looking websites
Bootstrap makes it easy to learn how to make professional looking websites. It can even make code junkies semi-enjoy design.
Pro Customizable
Bootstrap can be customized in a variety of ways. Either by overriding the default CSS styles with new CSS styles or by editing the .scss
Bootstrap files.
Pro A wide variety of themes available
To help you avoid the "Bootstrap look", there are many resources that provide a great selection of themes and templates for Bootstrap.
Pro One of the most popular ones
Ranked on GitHub as the most starred CSS repository.
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
Cons
Con Large file size out of the box
Bootstrap has an out-of-the box filesize of ~276K, which is pretty large considering it's just CSS. Most of those styles aren't even used in 90% of web pages built with Bootstrap. By only including the required styles it can be trimmed by 70%-75%.
Con Too many classes
Bootstrap's over-reliance on HTML classes for styling can get very messy very quickly. There's also an overabundance of DOM elements which have a lot of classes and are more often than not nested inside DOM elements with even more classes. This gets problematic down the line because the maintainability of the project gets harder when the project starts to get large.
Con Websites can start to look the same
If the initial Bootstrap colors and styles are not changed or edited, different websites start looking the same even if they have nothing to do with each other and they are made by different developers.
Con Hard to customise
It's quite hard to customise Bootstrap using pre-processors like SASS and LESS, the only real flexibility is with typography and colours.
Con Large font sizes
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.