If youโre not a fan of writing manual css then Tailwindcss can save you a lot of time.
And itโs beautiful. ๐
If youโre not a fan of writing manual css then Tailwindcss can save you a lot of time.
And itโs beautiful. ๐
For further actions, you may consider blocking this person and/or reporting abuse
I've become a big fan
Your boilerplaty verbose templates disagree ๐
Help me understand.
If someone doesn't want to write pure CSS, why would they use Tailwind CSS?
Why don't they just use a no-code tool like Webflow to build a complex website?
Because I feel like Tailwind CSS helps you work 10% faster, but it reduces your flexibility with maybe 60%.
But using some complex no-code website builder helps you work 90% faster, while reducing your flexibility with 60%.
And yes, I know writing code feels cool, we all like to feel like hackers, typing away in our dark terminals.
I'm just trying to understand from a productivity point of view.
Iโve started using WebFlow for my freelance clients and itโs been a nightmare. Iโve used other similar tools such as WordPress and Drupal and in my experience those tools lower both my flexibility and productivity. Also if I need something a bit more complex Iโm going to have to end up writing PHP or JS code anyways which takes even more time.
For me personally I use Tailwind more for the responsive styles so I save time by not having to write tons of media queries. I can also configure Tailwind to my liking which adds to its flexibility.
At first, I hated Tailwind CSS but over time fell in love with it! I use it in all my projects now.
I'm a bit confused as you wrote that in another comment related to tailwind:
And every single point can be reached with regular css/Sass/Scss (that's what's behind Tailwind after all).
I always define the concepts when I feel it necessary, not specifically for you but for anyone who can reach that. This is a forum and not a 1 to 1 conversation.
I'm a Lead Dev/Tech Lead and don't get offended by any of this, thought we were taking into account that newbies can read that and get some basic knowledge about this topic.
If you think so, maybe I've not enough knowledge of Tailwind (used it only once in a tiny project to see what's that about -surface knowledge-) and you (as you said) have not enough knowledge about Styled-Components.
Would you like to do a little challenge? I can write a public repo with Next JS and styled-components using some public API, trying to include all available features and you can re-code a variant using Tailwind so we both get more knowledge of those techs while seeing the pros and cons of each.
I'm hands on 3 projects at once but I'm sure I can get some time. If you (or anyone reading this) feel like it's a good idea I'll put myself hands on asap. ๐๐ You name it.
I have a different take this Kausik ๐ค. I have used Tailwindcss, CSS3, MaterialUi, Bootstrap, Bulma and Storybook. Even I have tried the preprocessors of CSS like SASS/SCSS.
Let me share what I learned after so many projects ๐คซ. These frameworks and preprocessors are always useful when it comes to building any high end component like autocomplete dropdown or a calender. But if you use it on normal components, then don't use it.
It's just not worth it, it would always be overkilling a simple thing and very bad in terms of optimizations. So, if you are a good developer, then you will always know when you are overkilling a simple thing and when you are doing it in the easy way โ.
Then maybe you should take a try.
A class is a common set of property-value pairs that will be applied to every HTML tag with this class name inside it's class attribute whereas components define visual chunks of your views semantically.
A button will always be a button, right?
Using classes you usually end up with something like:
The btn class would be the basic styling for your buttons, btn-rounded would be a modifier and btn-warning would be a font/color definition.
(Of course you can use "btn rounded warning" but the intellisense will be angry).
Example with styled-components:
You can programatically or conditionally set values into it, even using states, and the Button component will host every possible definition so it's scoped in a single place.
Anytime you need to extend the button component you simply head yourself to the Button component file and that's all.
You can also import base templating configuration set on a JS const/variable, including breakpoint related things for those media queries and so on (break point naming related with pixel range, max-container width, item gap...)
... but then you learn CSS.
I saw other comments and I'd say this
I better write inline css then using tailwind.
BTW, i was one of those who used to use tailwind when it first came out few years ago. So ye don't think I'm saying it all just because i wanted to or by influencing from internet. It's how i genuinely feel
Hi Luke, hope you're having a nice weekend.
I'm sorry if you saw my reply as borderline spammy.
I see this as a discussion about abstraction and productivity.
Personally, I'm used to writing vanilla CSS and sometimes it got messy.
But I felt Tailwind was just about reusing some CSS that someone wrote, and I felt like that added some limitations, made the development process less flexible.
For me, it was just Bootstrap all over again.
So, I'm just looking to see where folks find the right balance between flexibility and productivity.
Hahaha no problem, we all can have bad days/weeks ๐ ๐คท๐ปโโ๏ธ
I just ignore anything related to job as much as I can when I feel like that.
I'll try to do it during this week (can't promise it will be before the weekend) and share you the repo ๐
Cheers!
I think Tailwind compared to other CSS frameworks like bootstrap is more similar to writing pure CSS as you will still need to know CSS to understand it's classes (actually good at pure CSS) but whe you get used to it will feel more natural and faster
Thats bullshit. You can do it always wrong with ever tool.
Compare these
vs
So tell me, what is better to understand and what is faster?
Obviously the second one, or not?
I'm using both tailwind and scss. I only use tailwind for small components that doesn't need to do with complicated style, animation I use scss for big thing, animation... Because when I read the tailwind docs first seem cool, fast, very easy to use. But when scrolling down, too much setup and I a person who already struggling with the components logic I prefer to keep big thing in scss instead of hard setup thing.
Tailwind is great to build something fast and when you don't have a custom design, something like back-office or admin panel or just MVP version of your app. But my choice for now is styled-components or any other css-in-js libs.
Styled-components allows you to hold all your styles and logic separately (usually in a separate file), so you can pass props there (which is also has nice typings, thanks TypeScript for that) and SC decides what style to apply based on your prop. I had a chance to build a complex UI using tailwind-like styles, and I can't say that I liked it that much. You have to write a lot of conditions for tailwind classes to style an element, but with SC you could just pass a readable prop there (i.e. isSomething)
I don't understand you react guys. Css-in-js is the worst. People should just write proper BEM.
I'm hearing the term "borderline spammy" for the first time. I was wondering what the term is. Would be a great help if you explain this a bit, as I didn't find any proper defination on google.
Still can't see any advantage of tailwind over styled components, where you define semantic namings to call visual components to reuse with a custom set of props -or not-, having all those benefits plus using standard CSS on it (or Sass, SCSS...) instead arbitrary presets of utility classes that the entire team would need to learn at the top web standards.
If using React, Preact, NextJS... Using tailwind seems just unpractical in comparison.
I'd say though that it could be a good tool on places where the compatibility with styled components has not arrived yet, even it's just to keep your project as clean of unused CSS as possible.
Maybe Svelte, Vue or Angular are good candidates for it, didn't analysed it as I'm on React/Next since some years ago.
You say Tailwind will not scale because you say CSS does not scale. It is called logic deduction. Tailwind depends on CSS, and CSS does not scale, you say, so we have Tailwind does not scale. Understood?
That sounds like styled-components but with extra-steps.
A component should be as small as the minimum solution they need to provide, not more, not less.
The styles of the component should not, in any case, define how the component should be fragmented.
Even that, it does not make a template chunk les verbose when using Tailwind. It can be a verbose chunk among other verbose chunks or as stand-alone verbose chunk, with the HTML full o' class names like we're back at 1999 using inline styles. It is what it is, though you can like it or not.
I loved using it before and I may still use it in some projects for simplicity, because it identifies clearly what important utilities I need all within my react dom elements (which I could transfer to (s)css files at any time).
But now with that in mind, I am learning more with utilizing SCSS for everything, but it sure is helpful when I need to get straight to the point of what layouts and customizations I REALLY need.
I've used it, and there are things I like about it. But something... I don't know, something about it feels wrong to me.
I got it now. The reason I asked about this is, I thought this might be a prase which may have a separate meaning. Thanks for your time Luke. I appreciate
lol
Inline CSS with extra steps
Vanilla CSS is the base of Tailwind so Tailwind does scale worse.
Tailwind CSS is awesome!
Tailwind is most helpful for me at mobile first layouts that change multiple times as the screen size increases toward a 27โ desktop monitor.
Yes agree! It makes me so much more productive. It's really a game changer for me.
I start using it today, very useful
But aren't components just classes with extra steps then?
It looks whichever way you configure it to look :)
What learning resources have you been using for it?
I have been having a lot of fun with tailwind in the of late.
I kinda feel like its a replacement for bootstrap.
This days i think css-in-js allows more dynamic application building.