We are trying every day to improve Bootrails, so that you'll find it enjoyable as Rails itself. ❤
Let's start the story from scratch.
Ruby-on-Rails (known as "Rails") is definetly a productivity-oriented framework. Which means : cut-off boilerplate, config file, repeatitive tasks, etc. The motto of Rails could be : "remove developer pains".
It sounds pretty logical nowadays. But, before Rails, starting and pushing any web app in production was really difficult - or something for very highly talented, experienced programmer.
When Rails has launched around year 2005, everything became a breeze.
Rails has considerably lowered the entry bareer for anyone who'd like to create web applications.
An endless world of possibilities
If you were already a programmer in 2005, maybe you where bored about all the complexity around web technology. When Ruby-on-Rails came alive, maybe you told yourself : "okay, now it's time for simplicity, and more and more integrated, simpler, convention-based, frameworks."
Computer software has eaten the world since then.
Back to simplicity
Facing the number of options, and the impossibility to fix what should be used (or avoided), Rails maintainers have decided to add a "--minimal" flag when you create a new Rails application.
rails new myapp --minimal
We're now back in 2005. Only 7 gems (plugins) when you create a new Rails app with this option.
Rails is just an incredible tool to Create, Read, Update, and Delete any resource - the famous "CRUD" actions, mapped to the RESTful HTTP verbs. As well as an intuitive, unbeaten way to query the database : ActiveRecord.
Beyond that point, nobody aggrees about how "the Rails way" should be handled.
Time for better defaults
No you may feel the problem that arises. Even if you don't use the "--minimal" flag, the default Rails app comes with :
- No authentication
- No authorization
- No way to edit HTML
- No admin
- No blog
- No UI Design
- No test example
- No Continuous Integration
Some points are more understandable than others. The missing parts can also be seen as a good thing : the ecosystem has raised tons of gems (i.e. plugins) to fill the gaps. All you have to do as a developer is to pick the gem that you consider as the best one.
However, your CEO do not care about the CSS design system, neither the testing boundaries. As if their setup actually require hours of web development.
What a developer need to launch a MVP is plain old Ruby-on-Rails application, with classic features of any web app already implemented, in order to start to code about added value as soon as possible ?
What are these better defaults ?
We plan to write a full article about this soon. Feature by feature. But each of them is carefully chosen (and crafted!).
For example, for the design, we took the best from the raising Tailwind (utility-first classes, very efficient) and Bootstrap (incredible community and free UI components available) : we used the utility API of Bootstrap v5 to create a "Tailwind-like" theme.
So instead of a blank page, and empty design system, you start a fresh new Rails app with a Bootstrap v5 theme, easily customisable, with example pages, and editable HTML pages.
More examples, screenshots, and philosophy in this article.
Stay tuned !
David & Shino.
Contact us if you have any questions.
Send us an e-mail at :
shinokouda.jp at gmail.com