HTML and CSS are often seen as a burden.
This is a feeling I’ve noticed from engineers and designers I’ve worked with in the past, and it’s a sentiment that’s a lot more transparent with the broader web community at large. You can hear it in Medium posts and on indie blogs, whether in conversations about CSS, web performance, or design tools.
The sentiment is that front-end development is a problem to be solved: “if we just have the right tools and frameworks, then we might never have to write another line of HTML or CSS ever again!” And oh boy what a dream that would be, right?
Well, no, actually. I certainly don’t think that front-end development is a problem at all.
What’s behind this feeling? Well, designers want tools that let them draw pictures and export a batch of CSS and HTML files like Dreamweaver promised back in the day. On the other end, engineers don’t want to sweat accessibility, web performance or focus states among many, many other things. There’s simply too many edge cases, too many devices, and too many browsers to worry about. The work is just too much.
Consequently, I empathize with these feelings as a designer/developer myself, but I can’t help but get a little upset when I read about someone’s relationship with Bootstrap or design systems, frameworks or CSS-in-JS solutions — and even design tools like Sketch or Figma. It appears that we treat front-end development as a burden, or something we want to void altogether by abstracting it with layers of tools.
We should see front-end development as a unique skillset that is critical to the success of any project.
I believe that’s why frameworks and tools like Bootstrap are so popular; not necessarily because they’re a collection of helpful components, but a global solution that corrects an inherent issue. And when I begin to see “Bootstrap” in multiple resumés for front-end applications, I immediately assume that we’re going to be at odds with our approaches to design and development.
Bootstrap isn’t a skill though — front-end development is.
And this isn’t me just being a curmudgeon… I hope. I genuinely want tools that help us make better decisions, that help us build accessible, faster, and more beautiful websites in a way that pushes the web forward. That said, I believe the communities built up around these tools encourage designing and developing in a way that’s ignorant of front-end skills and standards.
What’s the point in learning about vanilla HTML, CSS and JavaScript if they wind up becoming transpiled by other tools and languages?
Don’t get me wrong — I don’t think there’s anything wrong with Bootstrap, or CSS-in-JS, or CSS Modules, or fancy design tools. But building our careers around the limitations of these tools is a minor tragedy. Front-end development is complex because design is complex. Transpiling our spoken language into HTML and CSS requires vim and nuance, and always will. That’s not going to be resolved by a tool but by diligent work over a long period of time.
I reckon HTML and CSS deserve better than to be processed, compiled, and spat out into the browser, whether that’s through some build process, app export, or gigantic framework library of stuff that we half understand. HTML and CSS are two languages that deserve our care and attention to detail. Writing them is a skill.
I know I’m standing on a metaphorical soapbox here, and perhaps I’m being a tad melodramatic, but front-end development is not a problem to be solved. It’s a cornerstone of the web, and it’s not going away any time soon.
Is it?
hear! hear!
You just expressed my feelings better than I could ever do!
Maybe is because I started front-end back when IE6 was an issue, when websites were switching from tables to semantic HTML, but front-end dev right now is AMAZING!!!
We have flexbox, SVG support, RGBA, HSL support… ON ALL BROWSERS! am I the only one that’s super happy about this?
You are not the only one that’s happy about it! I certainly am too! There are advancements in browser technology because people are realizing how important the web is. Front-end development is probably a legitimate career field thanks to what the world has discovered with the web. Which generally goes as follows; user research, realize design work, make designs happen, and publish! Of course there are a lot more details that go into that.
I agree one hundred percent. Browsing today’s Stack Overflows or sub-reddits is depressing. I saw a topic the other day titled, “How would you make a website without a framework?” When I started, that was a baseline expectation of ability. Now it’s a fringe topic of curiosity. People act like they need to wrestle with CSS when it’s one of the most straight forward, declarative languages we have. We used to shun users of Dreamweaver because they could drag and drop, resulting in bad code and lack of understanding. Now we’ve come full circle, once again a generation relying on tools they don’t fully understand, needlessly complicating simple matters.
Great article! I’ve seen the same attitude toward HTML and CSS and I could never accept “cause CSS sucks” as a valid reason to use a tool or a framework.
I’ve lost track of the number of times I’ve had to tell junior developers off for refusing to create the front end the client wants because it’s not something bootstrap let’s them do and for coming up with half assed solutions to avoid actually understanding how html/css/js work in conjunction with each other. I wish there was a way to get developers to take front end work seriously.
I really appreciate this post. I fear a day when we have the “perfect” HTML and CSS transpilers to do everything the “right” way, and the web becomes a homogenous pile of bland sameness paste.
I think the reason we see HTML and CSS as problems, though, is that those standards weren’t originally designed for what we use them for: creating rich user interfaces. Every non-semantic HTML tag to accommodate the CSS widgets we’re expected to make, the accessibility attributes needed to fix the problems those non-semantic tags create, every new CSS module intended to make our solutions less “hackey” while still having to support browsers that don’t support those new CSS standards—it’s all just so tedious and exhausting.
HTML and CSS were intended for document markup and styling, but we barely make documents anymore.
I’d agree with the document orientation of HTML/CSS being a core part of the problem. To me it feels like we keep on adding on to CSS modules when it might be better to start over with something that starts with the assumption of a rich user interface.
I always knew vim was better then emacs.
Thank you, Robin! I’m right there with you. To me it is more than mildly irritating when so-called “Web designers” or “Web developers” want to bypass dealing when HTML and CSS. And don’t get me started on using package managers without first understanding and being able to read and troubleshoot, if necessary, file and folder structure of a Web site or Web application! It’s like a surgeon going into an operating room hoping that he/she will know how to complete the surgery with their eyes closed and a cursory understanding of the anatomy, no less.
The problem is that industry does not give professionals the opportunity to love them. It’s impossible to find job posts where you see that people expect you to care about HTML and CSS. If you’re front-end engineer, people are more concerned about performance, algorithms, anything else but them. If you want to care, fine, but it’s an extra obligation, therefore the feeling it’s a burden.
If you’re an old school front-end dev who used to do websites, poor you, because everybody expects you to stop doing that if you want to earn money.
The problem is not the technologies, it’s the expectations and boundaries of front-end development.
Totally agree. It’s implied, that you know HTML and CSS. It’s treated as a “minor skill” that every developer knows to some point. So the best “solution” so far is telling designers that they should learn how to code. Which translates to: “I don’t want to deal with CSS, let the designer do the dirty work for me.”
In the end, I don’t care who does this kind of work (and I don’t think it’s dirty work at all), but it has to be done and done right. You can not always rely on frameworks.
Well put Sarah!!
You’ve perfectly articulated how I feel about this
I agree with you!
I totally agree here. All the more that with the new tools that have landed in CSS (namely flexbox and grid), frameworks like Bootstrap are getting way less useful.
I personally haven’t used Bootstrap since version 3. There is a need for CSS frameworks that provide already styled component for quick prototyping though.
Maybe the term frontend developer needs some rethinking. When I started working (as a designer) frontend was mostly HTML and CSS and some Javascript. A good frontend developer needed to be able to translate a Photoshop layout to a pixel perfect website. Frontend today is much much more. If you want to learn frontend development, people seem to start lerning git, npm, angular, react, vue and all of this is called frontend development.
I myself am a designer and I think I’m pretty good at HTML and CSS, but thats not enogh (anymore) to be a frontend developer. On the other hand, most of the people I meet that describe themselfs as frontend developers are (as you show in this article) not that familiar with CSS. They don’t get exited, when I talk about finally understanding the difference between
auto-fit
andauto fill
or something like that.So maybe we need some term in between. Some kind of profession, that thinks about things like accessible HTML structures, nicely build CSS, smooth transitions and animations. Someone who is responsible for a website to look and feel good on any device. And maybe that is not the frontend developer who is mainly exited about what it means to use hooks or if you should use npm or yarn.
I have noticed decline in Web platform expertise in general. People learning Typescript because they don’t know Javascript. This is one of the worst possible investment of your time. But encouraged but some of top companies. And it is a real life example I recently witnessed with one of our product teams. But I prefer to judge by result. Like show we me your great component/library/application and then we can talk.
Well, to be fair, Js is a hard beast to tame.
I’m getting kinda-of proficient in it and i still think it doesn’t make much sense…
Well said!
Spot on!
Couldn’t agree with this more. HTML and CSS are complicated (at first) with all these edge cases and other things OP mentioned, because these are important considerations to get right. Not only should we not be abstracting away the skillset, we shouldn’t be abstracting away the fundamental understanding necessary to leverage HTML and CSS the best way possible.
Agreed. I’ve been a full-stack developer since before the term “full-stack” saw print (I started this phase of my career in 1996). So many of these frameworks, boilerplate collections, and what-have-you allow new “developers” to get going quickly, but in the end they know as much about HTML, CSS, and sometimes JavaScript, as “Guitar Hero” players know about actually playing guitar.
I want you to know that my coworkers and I, who specialize in front end development, were very happy to see someone argue this side. I can’t tell you how many times I’ve had backend programmers treat CSS/HTML like an afterthought, drudge work, something monkeys could be trained to do… and meanwhile, they can’t even get it to function on more than one browser.
Word.
“It’s not going away any time soon”
Well actually, with canvas we need neither of both html and css. It’s currently not popular for referencing and accessibility issues, but one these are solved it opens up an entirely new world.
Isn’t what people said about Flash? Canvas will never be accessible because it’s not meant to be.
Thank you! Finally someone speaking some truth. It sucks to master html and css only to realize that everyone avoids writing it like a plague through special frameworks and tools. It seems like everyone wants to build full front-ends using only javascript nowadays lol.
Couldn’t agree more.
It is getting harder and harder to be a front-end developer, and we still have developers who are looking down on front-end development like it is some sort of unwanted child in the dev scene.
Confession: I’ve never looked at a block of CSS and thought, “Now isn’t that code poetic.” More frequently my thoughts have been inappropriate for polite conversation…in fact I can feel some of that animus arising as I type.
Maybe this is because coding is not my job. It is something I love doing and it is one of the things I do at my job, but it is not my job, nor even its primary focus. Maybe I’d feel different I could spend my days interacting with CSS…but, on the other hand, I don’t feel this way about HTML or Python or Ruby or C# or…name your language (though perhaps a bit this way about JavaScript).
Not to stoke the rising animus, but here’s the other side of the coin :)
A block of CSS? No probably not poetic. To me, CSS becomes beautiful in the way you look at it in it’s entirety. It’s more about think of how your design system fits together in an efficient way. You’re use of selectors to make things clear and simple.
It’s also thinking about the tiny design details that often make the interface that much more pleasant. Which may not make for the most exciting code, but it makes the experience in the app that much better.
Not only do some developers, not necessarily front-end ones, see the HTML/CSS phase as a burden, but a trivial step that ANY engineer can handle it without the need to an “expert” as it doesn’t even require any kind of talent or experience to begin with, in their own understanding.
That hurts to the bones! I find that frustrating in a way that numbs my ability to respond to such mindset, and whilst your words and reasons are so powerful and make great sense, I am not sure it’ll get through to these kinds of mindsets.
Sadly I have to say, to some out there, HTML/CSS skills are not even considered a part of the front-end, but rather a silly step that may be the “designer” can get over with or a framework, and apparently it is staying this way for quite some time.
What you wrote there is just “simply amazing”
The industry is the problem isn’t it?. Create more websites. Give me more web apps. Many programmers dont want anything to do with css nor html it’s not as rewarding to have a page behave exactly how intended as it is to have it accomplishing its purpose. I think, that just like design css and html will become more of a niche. You end the article on a question. I am affraid the answer is yes. The web might become just like plain newspapers. Most websites shouls rely on functionality and content rather then looks. Hence whwn the industry is looking for front end devs html and css comes second, don’t hate the playets hate the game.
Full agreement here to. I had been meaning to switch to VanillaJS for ages, especially now that there’s service/web workers and web components.
It’s been 2 months and I’m loving the dev flow with no build process, i might even try devving in chrome dev tools next…
First things first… I learned and lived with plain ol’ vanilla codes… and just when I’m starting to get comfortable with vanilla way of coding, and by that I mean after I’ve created a few decent (IMO) HTML & WordPress themes, Bootstrap hype came…
So I tried my hand on this thing called Bootstrap… and oh god how confused I was with it… remembering all those classes and rules are are so hard and (feels) restrictive for someone like me who usually uses foobar/abracadabra/iluvgirlwithglasses classes whenever naming elements are getting annoying. Thus I left it alone… deeming it unfit for someone like me who feels more comfortable with plain ol’ vanilla flavor.
I remember this time period is also the beginning of so many self-entitled “Website Designer”s popping up everywhere. Presenting what’s basically the first bootstrap theme you could find via google, with a teensy bit of line editing here and there… then claimed the design as their own.
Fast forward to late 2018… I’m still doing things in vanilla… sure it’s a bit slower compared to fresh meats who uses frameworks… but still end up faster whenever troubleshooting becomes necessary or when edge-cases came up… probably because I have better grasp of the codes that I wrote compared to those who uses frameworks/tools without decent understanding about their tools of trade.
TL;DR
There’s nothing wrong with using frameworks and/or other tools… just make sure you have what it takes when problem arises, or when you need to step beyond what the framework covered for you.
Reason: some people still don’t accept the web as it it is. A fluid, interconnected, interactive experience.
Designers still want to paint a canvas and/or bickle about their preferred design app, which always results in a mock.
(Backend) Developers can’t be bothered with display details and/or browser differences.
Clients and PMs want cheap or at least within budget (“just use X”), which clashes with the designer who wants to take pride in their work.
All of them don’t know what progressive enhancement means.
And frontend designers are the last ones on the line, frantically testing every possible angle, browser, viewport and state. Trying to tie everything together and keep everyone happy.
In my opinion UX researchers and usability experts nail it best when it comes to designing the web.
Whether you use a framework or not is not the issue, nor the solution to the problem. A good system (existing framework, parts of it or self-created) catches the basic stuff so you can work on the rest, but it’s still up to you how to apply it.
Start with your content, then your markup, “pretty design” comes last imho.
sidenote: I’m not surprised I’ve seen so many burnouts in frontend people.
I am totally with you on this one. Great article. Focus on fundamentals before jumping into add on tools.
Robin, thank you for this post. I myself started my front-end journey 2 years ago because I really got into accessibility and visual layer of website. I think all this thinking that CSS and HTML are unnecessary is because a lot of programming moved to the browser side so back-end developers were forced to move to the front-end departement and they are struggling with learning HTML&CSS, due to difference between back/front mindset. Also frameworks like angular don’t help with learning proper html and css, and when I see css/sass file with only just id’s or html with
I personally cringe.
you are fighting my war . THANKS
I am a hobbyist and have created all my own libraries to handle DOM manipulation and Front End Development.
I personally don’t like CSS or HTML and do almost everything in JavaScript using templates and the DOM APIs. I also didn’t like the CSS layouts, block, in-line, etc.. So, almost everything is placed using absolute positioning. It can be a little of a pain in the butt, but I know how to do math.
You can include CSS in a tag in the templates to keep the CSS and affected HTML in the same file. Similar to how Vue can use the one page component design option.
I get the filling that old timers, I’m 52, don’t like new programmers who don’t like doing things the way they were done 20 years ago.
So, lighten up and build your own Dreamweaver. I have and I figured it out all by myself with the help of the internet of course.
Believe me, I can build anything I want, my way, using my process and I don’t give a sh-t how other people do it.
The best thing about being a hobbyist is I get to do what I want when I want how I want.
I could assume you’re living in my open space with me all day to write this way ! I work as a integrator html/css for a big intranet with twenty developers. In their eyes, THEY make the job whereas I fixed the bad display ! Displaying content in a proper manner is nothing but a painful issue. Thankfully Bootstrap was added in the project six months ago and they guess they should bypass me in an early future !
Browsers are just displaying html and css, not Java ou SQL! How could they think they don’t need to tackle with them!
Thanks to level up my nine-to-five work.
Totally agree. When I’m started out as a Web Developer all I had available was Notepad and a bit of imagination. Don’t get me wrong, I’m a big fan of Webpack and the plethora of transpilers we have at our disposal these days but that shouldn’t come at a cost of forgetting how to work without them.
In my experience all these different tools come and go, but the underlying HTML, CSS and Javascript remain (mostly) the same. Bring back the days when anything was possible instead of ‘but Bootstrap doesn’t support that!’
Actually quite opposite to this, I feel frustrated at the redundance of coding something twice…once in a design program and once in a text editor…I say twice because most web design software is becoming based on web tech…remember Reflow? How about the recent Adobe XD? I mean it’s not like we are going from paper to desktop here… AI can copy Rembrandt artwork but can’t use a layering convention with constraints and definitions to spit out some html and CSS? Lol, here is what’s up, it’s big money lost and that’s why we won’t see this anytime soon.
People want this to happen and it’s un-human to not adapt and evolve. CSS grid is a good example that new thinking can make a big difference and be liberating for those that deal with these languages everyday, and not just sticking to saying “oh come on, just keep using floats and positions and margin auto” because it’s comfortable, familiar and well documented. Browser insepect also comes to mind, all it really needs is some drawing tools and a slight redesign of the inspect property panels and we are good to go.
“Bootstrap isn’t a skill though — front-end development is” — truth. end of story
Great article. Some frameworks add additional layer of complexity and mess. I have about 15 year of web-development I have seen people who knows JS framework, but cannot write any adequate line in Vanilla JS.
So much truth to this and thank you for elaborating on it! I am currently excited about tools like, Webflow, that leverage the value and efficiency of semantic HTML/CSS, but take it a step further by allowing anyone with a decent understanding of these languages to visually and intuitively create creative layouts, interactions and animations from scratch! It seems that sometimes dev teams can become so obsessed with utilizing different tools and components that they lose site of the most fundamental concepts of user experience and site performance.
I started making web pages in the 90’s.
There was no UI/UX then, just a bunch of us reading Jakob Nielsen’s blog. There was no front-end and back-end developer, just web developer.
When things started to specialize, I gravitated to the front-end, because that’s where all the action is.
Designer’s design, but a web site isn’t a static thing, an effective site tests, iterates, and optimizes that design to meet the needs of it’s users. A great back-end dev is only needed at scale, and it’s a great front-end developer(and UX, and copywriter, and designer) that can take a website that no one knows or cares about and get it to scale.
….just my admittedly biased 2 cents… :)
I agree wih all these “old web” ideals, and I think CSS is fine, even good. I might have a chip on my shoulder here, but it sometimes feels like people (not this article specifially) are shutting down new tools that and techniques that come from the engineering side in an absolute way that isn‘t helpful. Mostly I‘m thinking of CSS-in-JS and frameworks+JSX (HTML-in-JS?). SASS is great but styled-components is for css haters who don‘t care about accessibiltiy and the web.
I personally feel like writing HTML and CSS is better than ever for me with somewhat complex tooling (typescript+react-native-web+webpack). Especially for accessibility I feel like it gives my the flexibiltiy I need to not compromise on the output because Its never a chore to create either markup or style or js events from any data/state, depending on what provides the best experience. Playing CSS golf (CSS-only slideshow, CSS-only space invaders, CSS-only spreadsheet) is fun, but It was never ideal for accessibility.
There will always be people who don‘t want to deal with the details. They might have moved from Dreamweaver to wordpress themes to Bootstrap to react-material-UI or whatever. But wether i‘m writing styles in css or tsx files will not be the deciding factor imho.
Maybe that code won‘t stand the test of time as well as actual .html and .css files. That‘s something I‘m concerned about.
I disagree in this instance: Many small business web design clients pay only a limited amount for web design, and having “fancy” tools (as you call them) saves production time. That efficiency is crucial because it’s the only way to eke out a profit on such jobs. Maybe if you’re salaried and your employer sees front-end development as an on-going job, then you can afford to be an HTML/CSS purist; but if you’re freelancing and need to deliver a beautiful, complete website in a week on a limited budget, those front-end tools make a big difference.
I have to agree with this. However, the end result created by hacky frameworks is often a letdown for clients and designers. That clash of expectations, budgets and invisible qualities (maintainability, accessibility) actually made me quit frontend work for now.
I also don’t mind at all if the web homogenizes like newspaper layouts. It’s a matter of budget, but also in print a 10x production budget compared to newspapers results in unique boutique design on high quality materials. Similarly, amazing pure CSS+JS+HTML websites thrive and will thrive in the more gentrified corners.
Well now I have to disagree. Even if you have limited budged, you get quite fast when you know, what you’re doing. In the end, I’m faster writing pure CSS than tweaking and overriding Bootstrap elements, so that they fit the given design.
But I’m with you on one point. Many discussions on webdesign/webdevelopment today seem to target huge and complex websites only. I’d love to read more about websites that have maybe something like 1-10 pages in total.
A CSS specialist can do vanilla CSS (actually modular, PostCSS or SCSS) much faster than most people can customise a framework or even a template.
The real issue is that the industry doesn’t really care about CSS specialists. They either want a “designer that can code” or a “developer with an eye for design”. That’s the real trick: both of these can solve the issue, but neither of them likes to do so, and both feel like it should be the other’s responsibility,
As a declarative, domain-specific programming language, CSS requires a completely different mindset than that of a developer of any imperative programming language, and totally different from the “drawing” skills of designer.
I really agree with everything you’re saying here. As a primarily Front-End Developer I’ve always thought of my skillset as less than the back-end folks, or maybe I need to be more Full-Stack and learn more tools (which I mean, we’re always learning), but I was guilty of devaluing my own skillset too because the general theory out there now is there has to be a way to have something do this for you.
I was brought in on a job where they just couldn’t get the design to “live” on the web and adapt to devices and it occurred to me that there wasn’t any framework to do it, it had to be created and thought through by someone with creativity and understanding, and in that case I was able to bring life to something really cool. Anyways, thanks for your writing, I really enjoy reading these articles!
AD
Thanks for sharing your thoughts. This sentence caught my eye “I reckon HTML and CSS deserve better than to be processed, compiled, and spat out into the browser, whether that’s through some build process, app export, or gigantic framework library of stuff that we half understand.” I agree that half understanding the tools one uses is problematic. But, I also think that not having to understand lower layers is what makes being a software engineer so beautiful. I love knowing that someone has solved the confusing lower level details and has created an abstraction layer on top. It is true that many times frameworks do a poor job of abstracting but someday they will get it right. I personally appreciate that all of us don’t have to write binary and our [inset language here] is “processed, compiled, and spat out” into it.
it is awesome to see so many people agreeing with this point of view! in my job, we are typically restricted to using only html, css, and js that we write from scratch; no libraries, no frameworks, no tools at all. whereas i feel like this has led me to have a better fundamental understanding of the languages, i sometimes fear that outside of my current role, i’d be considered ‘behind the times’ or not have the skillset that’s now required to be considered a ‘front-end developer’ even though my css and js writing abilities are fairly decent for having to write all functionality in vanilla js. i like hearing that not everyone considers angular, react, redux, bootstrap, etc. required skills for development these days
An experience I’ve had:
30-something head of engineering cops to not knowing css while stating it was too late in career for them to learn.
Same person became upset and offended when I researched some responsive css to address a FE issue and shared it with the developers.
It felt like a “protect my territory” issue, instead of everyone trying to move the product forward. HTML/CSS viewed as a problem, something only designers cared about, yet at the same time, categorized as solely the purview of developers.
Amazing article. Like for any discipline, using tools is fine but you still need to be able to check that the tool outputs the intended result. For example, an construction engineer will use tools to calculate how much concrete needs to be use in foundations but should detect if the tool outputs the wrong result. I see HTML, CSS and JS like wisdom, and frameworks like knowledge. Sometimes, wisdom will tell the right tool is just your own craftsmanship and you don’t need frameworks, some other time it’s fine to use them but you must be able to tell if the end result is completely wrong or against the web core principles.
@Geoff – If only real stylesheets looked like the code snippets in your article! That I can get behind, but realistically, we are looking at thirteen different styles applied to line items for use across the site – some to handle the header menu, some the footer, some to handle page’s lists and others to handle posts lists…and oh, don’t forget about the Christmas lists which need to be themed differently from the Easter lists!
Sure, part of this is the result of folks writing poor code, but it seems to me that I see more ridiculous CSS code than code in other languages (whether HTML, JS, PHP, C#, etc.)…
Why is this so? I’d blame it on cascades because they are always screwing with me, but I actually think the issue is more around the ease with which CSS becomes disconnected in the mind of the designer/developer from a specific element, so that one finds multiple rules applying similar styling throughout a single stylesheet (and don’t forget we are probably loading 5 different stylesheets on the page due to embeds, plugins, etc.).
Okay, maybe I’m just a grinch…and as noted earlier, this is something I do as part of my job, not the focus of my job…so I’m definitely speaking from the position of someone who has to dive into CSS I wrote months ago or into CSS others have written and figure things out…
@Steven – Maybe if I was working with your stylesheets I’d feel differently…but the average stylesheet is pretty horrific, imho, see above for more details. :)
Shoot, I stoked the animus! :)
Seriously, though, I know the examples in my post are small and contained, but I would still contend that Robin’s point stands. Thirteen different styles applied to elements and files that are difficult to navigate sound symptomatic of a need to hone and refine these front-end skills… not avoid them. Being code poetic is in the craft.
I believe the real issue is that HTML + CSS development is sufficiently different from JS coding and from designing, that both designers and JS developers feel like they shouldn’t be the ones responsible for it.
And maybe neither should. I’m all for a third role, call it UI engineer or whatever you prefer: a HTML+CSS specialist.
Amen to that!
As a full stack designer i couldnt live without loving everything html,css and js (jQuery ftw).
And i couldn’t imagine somebody deeming himself a front end designer without having a deep understanding of these languages and a will to experiment and learn new stuff.
I admit i often rely on a handful of frameworks (bootstrap and uikit on top of them) but not as an excuse for lazyness. It’s just helpful to have a consistent responsive grid system, helping classes, and pretty streamlined js solutions for common issues (collapses, dropdowns and such). But that’s just a starting base. I see way to often people limiting their tools to those offered by said frameworks instead of considering them a foundation to build up from :).
A related but disturbing trend are the web application frameworks that have you writing code to create user interface… Flutter? React?
We had “make your UI with code” for decades… Xlib, user32.dll, carbon… It was terrible.
HTML and CSS are worlds better in terms of expressiveness and power and just about every other way I can think of.
I hope we quickly move through this part of the cool technology cycle. Maybe we can encourage it by forcing developers to document old xlib or user32 code for awhile until they understand why HTML and CSS are better. :P
I can’t agree less!
It most time affect a beginner with pure mind to learn the basic tools of web art where to start from or does it really need to disturb oneself about going deeper in learning the basic tools such as HTML & CSS, since you can pick up a framework with little knowledge of them and be ok with the feeling of your design at the end.
It’s heartening to see others feel this way too. I f-ing love CSS and HTML. There, I said it. And, basically, I don’t want a tool or a framework to write it for me. Javascript is fun and powerful too, but I don’t see what it should become the central/only qualification for “front-end web developer”.