Why learning CSS is important in a (web) development world

I notice that a lot of development effort is going into creating a nice back end. Creating a GUI is a matter of using the designer - better known as system.draggy-droppy - and setting the right colors via the properties panel. But lately a shift has happened which forces developers to learn about CSS.

Web development

If you're into web development and I know more and more developers are into it you must learn CSS. It's part of the web and part of web development. It will make your applications slicker and nicer looking. You can make some very slick feedback messages with CSS. And everyone knows you can create an application with an almost perfect architecture, if it looks like hell you'll need ten times the effort to convince users to use it.

JQuery

With the popularity of jQuery, the adoption by Microsoft certainly helped, a lot of developers are starting to learn the pure basics of web development. People are starting to learn the (fantastic) language that JavaScript is. JQuery introduced us to another phenomenon: CSS selectors. You can use CSS selectors to select a certain element on the page. Where CSS used to be for layout only, it is now being used to code. Most developers don't care about layout. If the code works, they are happy. So most developers didn't care about CSS, until now.

Fizzler .Net

I recently read about Fizzler .Net, a tool which brings CSS selectors to C#. I think this is an excellent idea, using CSS selectors is very intuitive once you get used to it. I even read about using CSS selectors on plain XML files to select elements. That's even a better idea! We certainly haven't seen the last of CSS selectors in server side languages (like C#).

The problem(s)

I see 2 main problems. The first problem is browser compatibility. It takes a lot of effort to get certain CSS code to work in all browsers. Specially Internet Explorer 6 can be a real pain in the ass. A lot of developers lose courage when handling yet another problem of: "It works on Firefox but doesn't on IE6". The only solution to this is ... deal with it. Learn the Internet Explorer 6 bugs, try stuff out and get to know the solutions/workarounds. A lot of bugs have been dealt with before and after creating a few layouts with XHTML & CSS you are able to solve most of your problems.

The second problem is Visual Studio. It really lacks a tool to do good CSS coding. Sure it has intellisense but that's really it. There is a real market for a tool which support the developer who writes CSS in Visual Studio. A Resharper like tool which gives you hints like #ffffff can be abbreviated to #fff. That would really rock my world. I was hoping that Aggiornio was going to step up the plate but it hasn't so far. Another thing that should be added is cross browser testing. You should at least be able to test the different versions of Internet Explorer. Now you have to use tools like IETester and install Firefox, Chrome and Opera on the side to have a decent coverage. CSS Vista is worth checking out for this but Visual Studio is an IDE and CSS is part of the development cycle. The functionality that CSS Vista has should be incorporated into Visual Studio.

Conclusion

What are you waiting for? Good, practical books to get you started are those of Eric Meyer and the Zen of CSS design. You can find a lot of other books on my Shelfari profile, do you have an account yet? If not check it out, you can become virtual friends and it's a great way to learn about new books!

Tags from Technorati: ,,

Comments

January 15. 2009 10:14 AM

Hey Peter,

Nice post. I generally agree that you need to know your CSS if you want to build with web applications. I'm even surprised this is an issue! What web developer doesn't know CSS?
I only regret that it is getting increasingly difficult to keep up in the CSS world. There are so many techniques and so many differences between browsers that it is a really excruciating experience to try and make something elegant. The main problem in the current setting is that when you actually work with CSS the concept of elegant really goes out the window. And that is exactly something that good developers try not to do. Being truly capable in CSS is a real specialization!
But I guess that's something we all have to put up with, something you also pointed out.
Thanks for the interesting links though, they might make me a bit more capable in the future Smile

Zoida

January 21. 2009 05:59 PM

Once again the word 'developer' is a bit grey.

I am very confident in my xhtml/css/jquery skills, as well as design skills. I'm practising with .net at the moment, but I'm certainly no expert. So I am a developer or a designer?

I've worked with a few different developers (ie. pure backend stuff, php, C#/.net) and they haven't had a clue about the front end business like correct html or css. THey just bang out whatever visual studio does by default.

Tom

January 21. 2009 11:07 PM

@Tom:
I was pointing at the developers specifically. People who write code as their profession. Everyone has their specializations and this is no different with developers. But I see that a lot of front end developers aren't familiar with concepts like (X)HTML, CSS, JavaScript.

I can't really judge what you are (developer or designer), it depends on your day to day profession. My experience is that better designers know the medium for which they design. This means they know, or at least have notions, about the technologies that drive the web (HTML, CSS, JavaScript, ...) and the same goes for developers.
Better developers know something about HTML, CSS and vice versa. But I totally agree when you say there are some people out there who just bang out whatever Visual Studio does by default.

My design skills are not worth mentioning but I do read about usability, design, ... I think it's important to know as much as possible from subjects related to (web) development. As a web developer I do try to know subjects as HTML, CSS and JavaScript thoroughly. Just as I need to know SQL, C# and so forth. It's an exciting part of the job.

Peter Eysermans

Add comment




  Country flag

biuquote
Loading