Wonderful, perfect timing. I've tried hard to stay away from Bootstrap for various reasons, but I really need
to use it for a project I'm working on currently. Can someone more familiar with its history (and planned
future) please give me a recommendation in regards to what implementation I should use, LESS or the SASS-ported
version? Have there been any talks of considering SASS for future Boostrap official releases?
Is LESS still active and evolving? I'm obviously strongly in favour of SASS, but I'm not the end-user of the project.
To provide a counter-point to jwcooper, I've used both the original LESS and the SCSS version, and I have run into a couple of minor quirks (things like elements inside input groups not lining up correctly) with the latter.
While I've always personally preferred SCSS over LESS, when I'm starting new projects these days I tend to just use the LESS version of Bootstrap, as it makes it much easier to update, it's tested much more widely, and fixes for any issues that do crop up are available faster.
Sigh...I'll probably have to do it in LESS as well. Do you have any tips on good typography mixins for LESS, if any? I'd miss Compass and Typeplate very much if I end up switching. Thanks to everyone that replied btw.
Ooh, I hadn't seen Typeplate. Thanks for the tip :).
I'm not aware of any LESS equivalents (but then again, I do very little LESS work).
It may be heresy, but I haven't had any issues using both preprocessors in a single project, so I'll often just use LESS for Bootstrap-related stuff and SCSS for everything else.
as I understand it, bootstrap-sass is going to become the official SCSS version of Bootstrap, and as such bugs on bootstrap-sass will be considered bugs on bootstrap itself.
I let go of my initial preference for SASS over LESS when I started working with TBS2, and continue to enjoy working with LESS. On general principles I'd recommend using the official LESS version.
As for Bootstrap, I have no insider information, but would be very surprised if they abruptly switched.
On the contrary: last year when I asked @mdo and @fat if Bootstrap would ever go mobile-first (vs the horrible mid-sized-first-and-scale-in-both–directions approach from TBS2), I got a flat "no" in response. [groan]
So I have no idea what those guys might do in the future. But for them to switch doesn't seem likely to me.
FWIW My current project is using TBS3; so far, so good.
I've only ever used a SASS fork, and have never had any issues with compatibility or strange bugs. I think at this points it's safe to choose either LESS or SASS. The end-user won't ever know the difference, but you will.
Choose whatever pre-processor you're more comfortable using.
I leave it as straight up CSS and then add any overrides I need in a separate CSS file. That way when it comes time to upgrade I can just drop in the new Bootstrap CSS without worrying about a thing.
For a new codebase Zurb Foundation is a no brainer. It does everything bootstrap does, better, and it is way ahead in terms of responsive design, and I also think it's semantically cleaner.
Can you use Bootstrap for a project without permanently modifying it? All my previous attempts I ended up gutting and heavily modifying Bootstrap, making me stuck on whatever version I started with. Is there a good solution to this?
You should override Bootstrap's styles in a separate stylesheet and combine them during a build step or serve them separately, with the custom styles served after Bootstrap's styles. That won't help with backwards compatibility issues but it makes it a lot easier to upgrade.
Yes, version 3 is not very aggressive in terms of styling. Simply apply your styles on top and you should be good to go. They even provide a simple theme to include to make it look more like the old one.
If you use the .less sources in your project and compile them as part of your pipeline, you can affect bootstrap styles to a much larger degree with a much smaller set of changes. As an example, changing values in bootstrap\variables.less will propagate to all the other dependent less stylesheets.
That's the approach I took for my latest project, and was able to upgrade from 3.0.1 to 3.0.3 this morning with very few headaches.
> As an example, changing values in bootstrap\variables.less will propagate to all the other dependent less stylesheets.
You're better off actually creating a new stylesheet (or sheets) and importing only the Bootstrap LESS files you want. As long as your file is last in the import list, anything you override (variables) will take precedence. This will also make your upgrade path smoother, as the upgrade won't overwrite any of your mods.
I have used it on several projects and each time I have ended up doing modifications. What I do is make my own stylesheet to override boostrap. You usually get stuck using a certain version but it's getting easier to upgrade. I stay away from the grids so I have a little more control.