6 ms·
Learning Bootstrap 3 or 4 should take you very little time, I would suggest you don't learn either of them, but instead take the time to learn CSS (I am of cour
by pedalpete 10y ago
Learning Bootstrap 3 or 4 should take you very little time, I would suggest you don't learn either of them, but instead take the time to learn CSS (I am of course assuming you are not already a CSS wiz).
You can look at the source of Bootstrap to see how they accomplished certain things if you'd like, but if you're doing anything more than prototyping (and even then), I feel there is very little benefit to using Bootstrap these days.
Once I was told to ignore Bootstrap and just create my css myself (using Sass or CSS Modules) I find I'm making the same recommendations to others. It doesn't take long and you'll have a much better idea of what is happening on your page.
Your html and css should end up being much smaller as well.
- peller 10y agoAs a backend dev, I wish somebody had told me this exact advice earlier on in my career. CSS does have a fair amount of silly legacy shit, but it's really not all that bad once you dive in. Another good project's source code to learn from is Skeleton. (more simple than bootstrap) CSS version: https://github.com/dhg/Skeleton https://github.com/dhg/Skeleton Sass version: https://github.com/WhatsNewSaes/Skeleton-Sass https://github.com/WhatsNewSaes/Skeleton-Sass Edit: For more of a tutorial approach, check out http://learn.shayhowe.com/html-css/ http://learn.shayhowe.com/html-css/
- kelnos 10y agoI'm a backend dev who did a little frontend here and there over a decade ago (and has sorta kept up since then out of curiosity). So I know CSS decently well, but still need to look things up here and there, and I certainly don't know all the bleeding-edge stuff. So yes, you should learn CSS, at least so you understand how web technologies work, in general. But not learning/using Bootstrap (as the parent recommends), if you think that will make your life easier, seems silly. I recently had to do a couple frontend projects for the first time in said over-a-decade-ago, and I found Bootstrap easy to pick up (it took like a half hour), and made things a lot easier than rolling my own CSS, for very little cost. To actually answer the OP's question, it depends on what you need to do. If you're starting new projects, just learn BS4. I did that back in February, and it worked out well for me. If you have to deal with some existing projects that use BS3, you'll of course need to learn that. But they're so easy to use, that if you already understand how HTML and CSS work (if you don't, of course that should be your step 1), you don't need to really "learn" it so much as read through the section on the layout model, and start building a page/site/app, looking at the reference docs as you go along when you want to add a dropdown or navbar or something.
- dwaltrip 10y agoA great resource for digging into the nitty gritty fundamentals of layout (the hardest part of CSS, in my mind): http://book.mixu.net/css/ http://book.mixu.net/css/ I came across this when I was looking to gain a more complete mental model of how CSS layout works, as opposed to to the odd assortment of tricks, approaches, and googling I had been relying thus far.
- magic_beans 10y agoI use skeleton for all my projects. It's light, highly customizable, and a breeze to use.
- FrancoDiaz 10y agoGood stuff. I did notice that the normalize.css of Skeleton hadn't been updated since 2014. Is there a more update version of "normalize" out there, or is it still pretty much apropos today?
- peller 10y agoYea there have been updates to it, I dunno why they included it like that. What I do is use a forked version of Skeleton-Sass and include normalize.css as a dependency, so that npm always pulls down the latest version. The changes to normalize are listed here (Skeleton includes v3.0.2): https://github.com/necolas/normalize.css/blob/master/CHANGELOG.md https://github.com/necolas/normalize.css/blob/master/CHANGEL...
- scarface74 10y agoYes and at the same time all devs should learn assembly so they have a better idea what's going on with their program.
- deleted 10y ago[deleted]
- ditonal 10y agoI think, unlike assembly, CSS and browsers have improved some of the warts bootstrap was invented to address, do it's less helpful then it used to be (eg flexbox). Also, you can program without needing to learn assembly, but even with bootstrap, you need some CSS knowledge. Finally, learning a little assembly is not a terrible waste of time. I think most CS students still do.
- peterkelly 10y agoMy advice is to always understand the layer below what you're working with. Learning assembly is worthwhile if you're programming in C. Learning CSS is worthwhile if you're designing websites using Bootstrap. Perhaps even more importantly though, CSS, JavaScript, and HTML have a longevity that's tremendously longer than any given framework. My understanding of these technologies from 15 years ago remains relevant today, and although there's been a lot of new features added, I can build upon that knowledge to incrementally learn new things. And I'm confident that in another 15 years from now, knowledge of these web technologies that underpin all the frameworks will still be relevant. The same can't be said of Bootstrap 4.
- at-fates-hands 10y ago>> My understanding of these technologies from 15 years ago remains relevant today, I have almost the exact opposite experience. I use next to nothing I learned eight years ago today when I'm building apps and websites. - Float based layouts? Nope, everything is a grid system these days. - Browser inconsistencies? Nope, they're almost all gone except if you still have to support legacy browsers. All the quirks of every IE version I used to have memorized? They're all but forgotten now and I don't need them. - I used to be a whiz with Flash. Nobody uses flash anymore. CSS animations, transitions, and better javascript rendering libraries have rendered my Flash skill set irrelevant. - I used to only have to worry about how my sites rendered on desktops. Now, everything is mobile, mobile, mobile and has to be responsive. More and more media queries to handle all those weird outliers of screen sizes. - I never had to think about UI/UX patterns. Now, it's almost all I do nowadays. Make sure this is touch enabled, how can a user use this app on a phone? Are you hiding menus when you should be showing them? Does a desktop user even know what a "hamburger" menu is? A/B testing out the ass to make absolutely sure you have the right color/shade/hue of a button so the user clicks on it. - When I first started, I never had to know Javascript. The places I worked had JS plugins all written for you. All you had to do was copy/paste a snippet and you were done. Prototypical inheritance? Closures? A functions "this" keyword and how it works? Never, ever had to know that stuff. Now I have to know all that, and a TON more. I'd say on average my skill set tends to do a 100% turnover about every 2-3 years. That's not to say I don't still use some of the basic understanding of HTML and CSS that I learned right off the bat such as selector classes and pseudo classes or the difference between elements and tags. But on the whole, I'm constantly having to learn new techniques, new standards, and generally anything that's being added to the HTML5 or CSS3 specs. I've actually quit jobs because I felt like what I needed to know to do the work was too easy and my skills were just eroding while I was there.
- csharpminor 10y agoYes, you should learn CSS. Whether or not you should roll your own bespoke CSS/JS for interface components depends on the project. You will learn a lot more about CSS if you do it yourself. However, I encourage most folks to just use Bootstrap (or Foundation). They're not hard to learn, handle a lot of browser issues for you, are easily customizable, and are very well documented. If someone ever tells you that Bootstrap is "bloated" or that they "don't like its design choices", they've probably never seen http://getbootstrap.com/customize/ http://getbootstrap.com/customize/. As a developer, I strongly prefer picking up projects that just use an established framework. No, it's not hard to go through someone's crappy CSS/JS components, but it's just another thing to think about. Let someone else write the JS for dropdown interactions and just build your app.
- jasim 10y agoIf you're starting from a vector design (designed in Sketch for example) and need to convert it into a design, would you recommend using Bootstrap's components and overriding them, or is it easier to roll everything yourself?
- csharpminor 10y agoThis depends on how closely your designer's ideas can be mapped to existing Bootstrap components. If it's a very conceptual project (maybe an infographic or product advertisement) it may be better to start from scratch. Most of the time though, I try to limit the extent of my designer's vocabulary by having them use a sketch template and see how far they get. There are iOS, Android, and even a Bootstrap template that they can start with: https://www.sketchappsources.com/free-source/349-bootstrap-3-vector-ui-kit.html https://www.sketchappsources.com/free-source/349-bootstrap-3... All of those usually resolve into components that can be mapped to something in Bootstrap or Foundation. If your designer can't solve an interface problem with something from those templates, that's often a sign that there's a bigger problem in your app's structure.
- scarecrowbob 10y agoYes, I think that if you don't know CSS then learning that (rather than bootstrap 3 vs 4) is the right answer. None of these technologies are all that hard. Like, they are easy enough that I don't understand it as a question... if you know CSS/ SASS and that stack, they take about an hour to figure out the main points and get rolling. But even if you don;t know hardly any CSS then they still take like a day or so, and the principles are pretty much the same. And equivalent question is "should I learn Sublime or Notepad++". If you understand what they do, pick one and if it stops being a thing you can use for whatever reason then learn the other, because the difficult part of understanding what id going on with them is conceptually the same between them.
- sharmi 10y agoTrue this. But * Learning CSS is not the first priority of a bootstrapped business. The cost associated with a 100kb of css is much lesser compared to creating a layout and all other styles. * Learning CSS to create a whole layout from scratch can be a daunting task for the uninitiated. * The best approach would be to start the project with Bootstrap, create a winning product, and iterate to find the best layout you need. Then in a subsequent release, you can redo the same using css. CSS Flex is very easy once you get the hang of it and you do not need any other css layout framework.
- nkkollaw 10y agoI don't think he's asking whether he should learn CSS or Bootstrap, just what version of Bootstrap he should learn.
- lobo_tuerto 10y agoYeah, but I think it's pretty safe to assume that if you are asking _that_ question is because you probably need to learn CSS first... I know CSS pretty well and Bootstrap versions are no longer an important concern to me (I can pick up either just by looking at the docs).
- nkkollaw 10y agoI don't know why you would think that, honestly. He's basically asking if Bootstrap 4 is ready to be used. Nothing to do with knowing CSS.
- weavie 10y agoI think it would depend on how much time you are willing to put in and how far you want to go. If you are primarily a back end developer and you just want to quickly throw down a few prototype pages. If you will never really need more than that, just spending a couple of hours learning bootstrap will be a much better use of time than spending a few weeks learning all the intricacies of css. I spent years fighting with css. It was such a relief when Bootstrap and friends came out and just removed a whole layer of complexity from my occasional forays into the front end.
- pc86 10y ago> Q: Should I learn Bootstrap 3 or 4? > A: Learn CSS This is not helpful and does not answer the question.