What do you like best?
A good lot of people are simple designers i.e. they do programming, they make websites, and since they already have enough on their plate, they do not bother to fully learn and understand the intricacies of awesome CSS and SASS world. I feel you guys because I am one such guy. Tools like Bootstrap comes to the rescue.
- Modular Design: which means every component works independently. Newbie designers like us are bound to mix different components because of which changing one tiny pixel on the page rearranges the entire screen. With Bootstrap, these are already taken care by CSS gurus, and if you follow their guidelines, you will never face such issues.
- Optimized and Tested: which means peace of mind. When I design a page, I am certain that this would not change on a production system, or on different browsers.
- Supports Different Screen Sizes: This is automatic. Just make sure to follow the guidelines, follow the grid styles, and you are good to go.
- Thinking in Grid: I don't know if they came up with the idea of grids or this was an old concept, but I love it. Thinking in terms of grids helps me design better.
- Consistent and Flexible Design: The same dialog is used in my entire website. It gives user a consistent feel. The shape and size of dialog are flexible and depends on how you use it, but the look and feel is same.
- Its free.
What do you dislike?
Bootstrap is good for a lot of things, but it not perfect. It is maturing fast though. Here are a few things I dislike about it:
- Upgrade: It is not easy to upgrade you bootstrap versions. E.g. I was first using Bootstrap 3, and then they launched the alpha version of Bootstrap 4, and though they have insturctions for migration, it requires code hunting and you will always have the feeling - "Did I do it correctly? What if I messed something up?". So I started fresh with Bootstrap 4. Would love to see if they can come up with an easier upgrade solution.
- Slow Upgrade: Its been so long since they are in alpha phase of Bootstrap 4. Common, go to beta phase you guys.
- One Design Components: All the components come in one design only. E.g. the carousel has just one design. This means anyone who uses Bootstrap will have the same carousel. This sometimes feel cheap. You can naturally override those designs however you like, but I would love for them to give users options for different designs.
- Extra Components: There are a few extra components like add-on components like tether. Adding these extra components means bigger stylesheets. Would love for them to be pre-bundled.
Recommendations to others considering the product
In my humble opinion, if you qualify below points, you should consider Bootstrap.
- You are a small team or single developer.
- You don't have the proper expertise for CSS.
- You are just designing an initial version of your app.
- You want a fully tested, and small stylesheet.
- You want your website to work in all screen sizes.
- You need a free solution.
What business problems are you solving with the product? What benefits have you realized?
I am a single developer who runs and maintains a small e-commerce website as my side project. So naturally I have to do architecture, coding, data layers, caching, data pipelines, and what not. On top of this, when I had to design webpages too, I didn't have the time or expertise to do so.
I did not know about Bootstrap back then. But in some seminar or something I had just heard that twitter had released some style classes for their buttons. I wanted to use those button styles. While searching for those styles I realized they didn't just release their button styles but there is an entire framework that is available for use.
Just reading Bootstrap documentation is enough to make you realize its benefits.
- Saves time because you now work with components instead of core CSS classes.
- Mobile ready. Yup. Works seamlessly in almost all screen sizes.
- Manageable for one single developer. Take my word for it. I currently design and maintain 40+ webpages along with other programming tasks I mentioned.
- Works well with other vendors. Just because each component is separate, you can have components from other vendors as well, and that won't break a thing. Cool.