7 ms·
I'm mainly a backend guy but do some frontend work from time to time. I keep seeing all this talk about a dozen different CSS "frameworks", and I just don't ge
by papsosouid 14y ago
I'm mainly a backend guy but do some frontend work from time to time. I keep seeing all this talk about a dozen different CSS "frameworks", and I just don't get it. Can someone explain to me what the purpose of these things is? Bootstrap's site for example doesn't even try to tell me what I would want it for, it just says I want it "because its for nerds" (do I have to dress in faux-nerd chic and live in the valley to use it?) and that it uses grids (that's the opposite of a selling point guys).
From looking at the code, all I see is a bunch of boilerplate CSS that seems to deliberately work against the nature of CSS (protip: the C stands for cascading), and is very brittle and tied to specific classes and markup rather than using selectors to be general and reusable. Is that really all it is, just a "I'm too lazy to design my site, so I'll just use twitter's design"? Perhaps it is just the word "framework" throwing me off since it doesn't appear to be a framework in any way? I know this is going to sound needlessly critical to some people, but I am expressing genuine confusion here, I really don't understand what I am supposed to use this for, or how it would help me in any way.
- olalonde 14y agoFrom looking at the code, all I see is a bunch of boilerplate CSS that seems to deliberately work against the nature of CSS (protip: the C stands for cascading), and is very brittle and tied to specific classes and markup rather than using selectors to be general and reusable. I think they're doing their best. It's very hard to write both clean CSS and cross-browser compatible CSS. I know this is going to sound needlessly critical to some people, but I am expressing genuine confusion here, I really don't understand what I am supposed to use this for, or how it would help me in any way. If one of the following applies to you, Bootstrap is for you: "I'm too lazy to design my site." "I suck at design." "I don't have enough time to design my site from scratch." "I don't have enough money to hire a designer." "I want to signal my site is fresh and trendy."
- papsosouid 14y ago>I think they're doing their best. It's very hard to write both clean CSS and cross-browser compatible CSS. I think that's a poor excuse. Our designers manage just fine without requiring me to generate horrible markup or dump dozens of classes on everything. For something that is intended to be used by other people, I would have higher quality expectations, not lower. >If one of the following applies to you, Bootstrap is for you Thank you for the list, that's exactly what I was hoping their website would tell me.
- wilfra 14y agohttp://twitter.github.com/bootstrap/components.html http://twitter.github.com/bootstrap/components.html Have a look at that. If you want to quickly and easily add these kinds of elements to your site, bootstrap is amazing. All you do is use the proper class names and bam you got buttons, tooltips, alerts, progress bars etc etc etc. If making those things is second nature to you then you probably don't need it - but for devs who are better at backend and lost when it comes to frontend/design, it can be a huge time (and money) saver.
- papsosouid 14y ago>but for devs who are better at backend and lost when it comes to frontend/design, it can be a huge time (and money) saver. This is a large part of why I am/was so confused about the purpose of these things. That describes me exactly, and everyone keeps saying I am exactly who bootstrap and friends are made for. Yet I see no purpose or value to it at all. I guess the answer really is "if you don't want to or can't design your site, just use twitters design". It was just hard to believe that's really all there is to it given how much attention is paid to something so trivial.
- account_taken 14y ago"no purpose or value to it", really? For those who want to get a site up with good defaults, typography, and widgets, Bootstrap is a huge timesaver. If you have a better framework for those of us who "can't design" then point us in the right direction.
- papsosouid 14y agoAs I said: >I guess the answer really is "if you don't want to or can't design your site, just use twitters design" That is what you are describing, so go right ahead and use boostrap. I was just trying to figure out if there was something more to it, given that it calls itself a "framework" and minor releases of it get posted here for some reason. Those things made me think perhaps I was missing something, and it wasn't just "here's a copy of our design you can use".
- jiggy2011 14y agoWhat's wrong with grids? Everything I have read about design seems to advocate laying things out in the fashion. The nice thing about bootstrap is it enables things like having say, 2 columns at the top of the page then 3 columns underneath then finally going to a single column for the footer very easily. Doing these things in manual CSS if you don't know about all the various browser quirks and tricks can be a pain.
- papsosouid 14y agoGrids are fundamentally the exact opposite of good design. They are a cludge to make it easier to lay things out the way you want, but do so by tightly coupling content and presentation. I see it advocated too, but not by design gurus, by people who want to just have it work and don't care about doing things correctly or having reusable, modular components.
- fatbird 14y agoGrids are fundamentally the exact opposite of good design. From a software perspective, perhaps. From an aesthetic design perspective, grids are a common tool used widely outside of web based design. by tightly coupling content and presentation. CSS has always been a hack that disallows completely or properly separating content and presentation, except in toy cases. Thus, frameworks like Bootstrap.
- papsosouid 14y ago>From an aesthetic design perspective, grids are a common tool used widely outside of web based design. Yes, we're not in 1996 anymore. We're beyond the "lets pretend the web is print" phase finally. That means separation of content and presentation matters. >CSS has always been a hack that disallows completely or properly separating content and presentation What? People (deliberately?) not understanding how to use CSS correctly certainly caused problems like that. And I'm certainly open to blaming much of that on the design of CSS. But it by no means disallowed it separating content and presentation, that is the entire point of it. Stop littering your markup with classes and you can get the benefits of that separation.
- fatbird 14y agoWhat you seem to be missing is that implementing complex designs means spending a lot of time dealing with cross-browser issues and platform-specific minutiae. Using these frameworks saves a lot of time, if the affordances you accept by using them are okay for you. Yes, it is a lot of boilerplate CSS. "Boilerplate" just means the boring stuff that's the same every time and is appropriately abstracted away in a framework. Your complaint about bootstrap not cascading properly is non-sensical. It's verbose in comparison to a custom job that's perfectly tailored to the situation; that's another tradeoff. I've read your responses below and you're weirdly contemptuous of these frameworks. It's like saying "sure you can use Rails, if you're not competent enough to write your own app code, but then you'd be doing it wrong anyway." Devs make choices; engineering is frequently about tradeoffs. If you sound needlessly critical, work on your tone.
- papsosouid 14y ago>I've read your responses below and you're weirdly contemptuous of these frameworks. No, just that using the word "framework" in reference to something that is in no way even remotely like a framework caused much confusion. I was expecting it to be a framework, and was trying to figure out what I was missing. If the answer is (and others have already said this is the case) "its just a design to copy" that's fine. Although I do find it pretty absurd that so many people seem to want to suggest that "a default stylesheet" is some revolution in web design, and is a "framework". Hasn't everyone already used their own default stylesheet since the 90s?
- fatbird 14y agoOkay, now I get it: You're trolling HN. Good for you. You got me.
- lelandbatey 14y agoPlease don't use a cop out like this. I don't think that writing someone off is very helpful to the discussion, and it's made worse when you don't explain yourself. To respond to papsosouid: I'll be very honest, I have little experience with most of the skills that others on HN commonly have (lots of code experience, tinkering with projects, etc) so I can only speak to what I think about BootStrap. For me, BootStrap is a great tool to make web pages in a way that: 1. I know will work. 2. I know will look acceptable. It's rather like the Ikea of CSS. It's simple, clear, and accessible for someone with little design sense or experience (like me!). I feel like that was part of your underlying question: "Why do people use this?" The other part of your question would be "How is this a framework?" Looking at Wikipedia[0], a framework is a set of generic functions/tools that can be changed by the user to fit their needs. Based off of that definition, I feel that this very well fits what BootStrap is. It's a set of pre-made tools (CSS classes) that can be easily modified to fit specific cases. [0]http://en.wikipedia.org/wiki/Software_framework http://en.wikipedia.org/wiki/Software_framework
- InclinedPlane 14y agoIt's a framework, it simplifies development because you don't have to worry about building up all the little components to improve the look and feel. Instead, you use a design framework like bootstrap so you can quickly bang out an interactive site that looks ok but maybe not great but is still highly functional. It's a way to build a website in a short amount of time without being held-back by the frankly horrendous design and layout choices that come when you use simplistic html. P.S. No, you are not expressing "confusion", you are using "confusion" as cover for derision.
- tptacek 14y agoAnd here we have it again: the textbook middlebrow dismissal, anchored to the top of the thread. http://news.ycombinator.com/item?id=4693920 http://news.ycombinator.com/item?id=4693920 http://news.ycombinator.com/item?id=4714217 http://news.ycombinator.com/item?id=4714217 The reality of course is that calling Bootstrap a "framework" isn't at all controversial, that you cannot simply mimic it with a "default stylesheet" as suggested by this poster below, that to find a respected source vouching for the use of grids (and other systems of measure) you need look no further than Robert Bringhurst, that the Bootstrap site is atypically clear about its goals (maybe this poster didn't bother to scroll down half a page to see), and that the use of grid systems isn't remotely controversial in web design (where a good starting point to the use of grid systems in typographical and graphical applications would be Khoi Vinh).
- bmelton 14y agoI can't believe I missed those posts by pg, but I think it's fair to say that in all but a very few subjects, my opinion is of the 'middlebrow' variety. I now have a very real (though very slight) paranoia that any dismissal I offer on HN is going to be categorized as such, and heaven help me if it gets upvoted substantially. In all seriousness, I both thank you and slightly hate you (in a valley girl sort of way) for pointing it out.
- bryanlarsen 14y agoReading papsosouid's other comments in this thread, I think a more accurate description would be "troll".
- pacomerh 14y agoWell, if you actually toke the time to read the docs, you would see the value it has. It has personally saved me many hours of development, and I am a back-end + front-end developer too. Don't just start shooting assumptions about the community that surrounds it without reading the help first. And, no, it doesn't just say "because it's for nerds", it says a whole lot more things, but if you wanted to read them you could, you just don't want to. Seems like you just wanted to vent that comment out of your system :). Come on corpy backend guys, dont hate on new frameworks, if you don't like them just let pass through.
- papsosouid 14y agoI said nothing about any community. And yes it does just say "because it is for nerds". Go to the website, the front page has a "Need reasons to love Bootstrap? Look no further.", which is exactly what I was looking for. Except the answers are total non-answers that don't explain it at all, it literally says "cause nerds".