WDV205 Assignment

Jeff Lubow

3-1: Define CSS Preprocessor

CSS Preprocessors are standard technologies in most of today's web based applications. It's time that you learned what they are and how to use them.

Research the term 'CSS Preprocessor'. Based upon your findings address the following questions.

1. What does a CSS Preprocessor do?

A CSS preprocessor takes code in its own syntax and through a compiler program, generates standard CSS syntax files that the browser can read and use.

2. What are the advantages of using a CSS Preprocessor?

Probably the main advantage of using a CSS preprocessor is writing less code to accompish your styling goals. This can also make it easier to update and maintain your CSS. It also gives you the ability to use variables, mixins, imports, extend, loops, if/elsestatements, nesting, functions, framworks, and even use math when writing your CSS code. These features can all be used to save time and increase accuracy by doing a lot of the layout and calculations for you.

3. What are the disadvantages or issues you need to consider when using a CSS Preprocessor?

Along with the potential advantages, there come some potential disadvantages. By adding another layer to your code, it can make it overly complicated and harder to locate and debug problems. You also lose some control by having that additional layer between you and the CSS. Changes to your code also take more time to view as it must run through the compiler. This article - https://meiert.com/en/blog/no-css-preprocessors/ is by a developer who doesn't use a preprocessor and gives his reasoning. One of the bigger reasons he gives is not wanting to learn a non-standard syntax to wrap your CSS in. I hadn't thought about that aspect of it but that could be hard to "un-learn" if something changes. From reviewing the syntax, it appears some preprocessors are closer to native CSS than others while some allow you to leave out brackets, etc. so I could see that being difficult to change if you moved from one job to another that uses a different preprocessor or none at all, etc.

4. List at least FIVE CSS Preprocessors currently available.

5. Research Web Development jobs and see how many of them list a CSS Preprocessor as one of their desired skills.

I looked at quite a few positions in the web development area and most didn't list CSS preprocessor experience specifically. I did find a few that listed Sass if I added that to the search. Like anything, more knowledge is better than less so assume it helps to know, but maybe not one of the most important skills.