March 12, 2020: Evaluate the necessity of using a CSS framework
Present: Cindy, Justin, Michelle, Ned, Ted
Notes:
- Whether or not we need a css framework? If we do need, tech evaluation process should be applied
Usually when we pick a technology, we do some sort of evaluation process: list requirements, pick a few options and compare them (do they meet requirements). We can start by listing requirements for a CSS framework.
Requirements:
- Responsive design (media queries) ❌
- Style native HTML elements without classes ❌
- Easy to override defaults ❌
- Accessibility
- If the framework includes html, the html should be accessible ❌
- Hover and focus states should be clearly defined and customizable ⚠️
- Works with UIO ⚠️
- Framework should be modular and we can only import the parts we need ⚠️
- If we want to use Sass/Stylus/Less/PostCSS, does the framework support it? ✅
- Using a preprocessor seems helpful—storing global values in a variable.
- Cindy/Justin have used Stylus.
- Uses for preprocessors: modularity, less repetition.
- Ted has been enjoying Sass. Ned has experience. (SassMeister)
- Does it include a normalize/reset? ✅
- TODO: Look into options for a good modern normalize/reset stylesheet.
Decisions:
- Use Sass (SCSS) as a preprocessor.
- TODO: Don’t use a framework (Ted: remove Bulma).
- TODO: Research an appropriate normalize/reset stylesheet (Ted: research normalize.css, CSS Tricks, share evaluation requirements on Monday, then open a GitHub issue with several options, link to demos/examples).
- Load time
- Supported browsers
- Be available in sass: so that it can be compiled with other sass file to reduce the size of the compiled css file
- TODO: Decide on browser support using BrowserList, add Autoprefixer config (docs) (Cindy: evaluate browser support, to discuss Monday).
- TODO: Review Stylelint configuration/rules (Ted: review stylelint-config-standard).
Next Meeting
- Structure of website
- Ned: give walkthrough of system (API + Nuxt).
- Cindy and others can share improvement ideas.
- Normalize/Reset evaluation criteria
- Ted: share proposed evaluation criteria
- Browser support
- Cindy: share proposed browser support