Hacker News new | past | comments | ask | show | jobs | submit login

> If you care about code maintainability and carefully plan your CSS, you should definitely reconsider using Bootstrap in your project.

All the points resonate with me and my experience (actually, they're all quite well put), but this one is the biggest. Bootstrap isn't quite brilliant in terms of CSS architecture (which is a tricky subject per se, due to many factors such as the global nature of CSS). And the biggest issue is that CSS architecture is very much snowball-like: a bad decision will imply future bad decisions or practices. The example given in the article is quite demonstrative: an excessively-specific selector which, to be overridden, would need a even more specific one.

In my opinion - and I've had the bad luck to join two big projects which used Bootstrap from the beginning - if your project is to be maintained or has at least a medium-ish size, forget Bootstrap. It doesn't give you that much. A normalization solution, typography, buttons and a grid system, just roll your own, with your own presets and much less bloat. It's not a big effort at all, you can look at what Bootstrap and others have done (to borrow what you like), and your team will have a firm understanding of their code.




Bootstrap gets 80% of the work done before you begin.....its getting the last 80% complete thats the tricky part ;)

I back up what you say 100%. Bootstrap is not acceptable for production code, its supposed to be a rapid prototyping tool.

I have found whenever it is added to a project, the technical debt it bring that you have to keep fighting is never worth whatever the initial savings was. I build without it wherever possible and avoid a lot of problems and maintenance.


Why isn't bootstrap acceptable for production?

For smaller projects why shouldn't I be able to use it? If I'm building a 5-10 page website for a small business it's a prefect fit. I can customize the colors and use the image sliders and other features already given to me. Add what I need and I have something that's easily to remember at a later point.

If I created a larger app why would I want to rewrite everything for prod. It makes it easier if multiple people are working on the UI because we are all working with bootstrap. Newer people are able to get up to speed on the project faster since it's a common framework.


Using Bootstrap for a small 5-page site is like taking a cruise ship for a canoe ride.

It's not that hard to build really lightweight HTML and then just only write the CSS you need. I specialize in taking sites and making them responsive, and the first thing I do is go in there and get rid of all the classes extra tags everywhere clogging up the works.

With tools like Bootstrap you end up using bloated, heavy HTML to get a few mediocre responsive breakpoints, but it's no comparison to a properly responsive page.

Here's some button and input styles in a single-file HTML5 app: http://staticresource.com/encode

Here's a set of responsive content blocks where the breakpoints are measured based on the width of the block, not the browser: http://staticresource.com/block-styles.html

Or check out the CSS of http://elementqueries.com to see how a simple, easy to read layout can be done with just a touch of CSS at the top of the page.

None of these use Bootstrap, and if I had even so much as linked to them, I'd be working against the defaults they bring in.

Here's what I use as my 'reset' that I bring in to every project, it's a much smaller set of opinions and leaves me more free to just build what I want: https://gist.github.com/tomhodgins/c4988b9d9878763ae861


Thank you the links are very appreciated. I do feel like I am fighting against parts of bootstrap at times. Responsive websites are the reason I used bootstrap in the first place. It's very easy to build a responsive website with out of the box bootstrap.


>> A normalization solution, typography, buttons and a grid system, just roll your own, with your own presets and much less bloat.

I've gone with the "ala carte" solution and just grab a minimal grid system, a minimal css framework for buttons and other smaller components, and a normalization tool. I've found by being able to pick and choose my tools, it still takes a lot less bloat than BS.

Having said that, I still find it useful. For example, I've been working on a large enterprise billing application. We used BS out of the box and although we ran into a few issues, it saved us months in design work and allowed us to start writing the services and UI pages much faster than if we had we taken a more "ala carte" approach like the kind I prefer.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: