SlideShare a Scribd company logo
1 of 42
Download to read offline
PUTTING IT ALL TOGETHER: COMBINING CSS TOOLS AND
METHODOLOGIES
By: Isatu (Isa) Conteh
September 16th 2017
Section 1: Details
What are we trying to do/learn here? Why?
1. Highest Level: Figure out how to set up and organize
your css
2. Understanding why organizing css matters
3. Knowing what your options are for css tooling and
techniques
4. Figuring out how to choose what you need
5. And how to implement these solutions in your
projects and get them to work well with other front-
end (and back-end) tools
Who is this person trying to teach me things?
What does she know?
Background:
1. Professional: Developer at the Washington Post
2. Professional: Web Developer at Speak Agent
3. Volunteer: Women Who Code DC Front-end Lab
Lead
4. Volunteer: Women Who Code DC Project Lead
Time spent doing front-endy things
1. At the Washington Post: ~15% so far
2. At Speak Agent: 100% Angular 1.4
3. As Front-end Lab Lead: 100%
4. *Bonus* - started out with static web pages ~5 years
ago: 100%
5. **Double Bonus** - use front-end tools for side
project: 70%
Where did I get the idea to do this presentation from?
Why we’re focusing on CSS?
Baseline:
1. HTML/CSS
Nice to Haves:
What I’m hoping you know
1. Used some helpful tools (SASS, LESS, Bootstrap)
2. Some experience with integrating front-end with
back-end.
Looking to brush up on the fundamentals rst? Try
Here..
1. Codeacademy:
2. KhanAcademy:
3. Building Your rst webpage:
4. CodeSchool:
https://www.codecademy.com/learn/learn-html-css
https://www.khanacademy.org/computing/computer-
programming/html-css
http://learn.shayhowe.com/html-css/building-your-
rst-web-page/
https://www.codeschool.com/
Section 2 — Tools
Frameworks (CSS, not javascript)
De nition: CSS frameworks are pre-prepared software
frameworks that are meant to allow for easier, more
standards-compliant web design using the Cascading
Style Sheets language. Most of these frameworks
contain at least a grid.
Frameworks (CSS, not javascript)
Bootstrap:
Foundation:
Materialize:
Pure CSS:
http://getbootstrap.com/
http://foundation.zurb.com/
http://materializecss.com/
https://purecss.io/
Frameworks: Special Mention
Some other front end programs (usually javascript
application tools) also include their own css
frameworks. They are used in a similar manner to
external css frameworks. One example is:
1. Ionic: https://ionicframework.com/
Preprocessors
De nition: Preprocessors are programs that take code
written in their own speci c language and convert it to
CSS.
Preprocessors
SASS (Syntactically Awesome Stylesheets)
SCSS (Sassy CSS)
LESS
Stylus
http://sass-lang.com/
http://lesscss.org/
http://stylus-lang.com/
Naming Methodologies/Conventions
De nition: Rules and strategies for writing and using
css classes, id's etc. that make css codebases easier to
read and debug.
Naming Methodologies
BEM (Block, Element, Modi er)
SMACCS (Scalable and Modular Architecture for
CSS)
OOCSS (Object Oriented CSS)
ITCSS (Inverted Triangle CSS)
http://getbem.com/
https://smacss.com/
https://github.com/stubbornella/oocss/wiki
https://www.x ve.co/blog/itcss-scalable-
maintainable-css-architecture/
Other tools: Libraries and such
De nition: other programs and tools that can help with
organizing and using css
Other Tools: Libraries and such
Flexbox
Font Awesome
Animate.css
https:// exbox.io/
http://fontawesome.io/
https://daneden.github.io/animate.css/
Finding Information
Information can most easily be found in the form of:
Docs (Documentation)
Blogs (Medium, CSS Tricks etc.)
Tutorials/ Online Classes (Udemy, Linda.com,
Udacity etc.)
Section 3 — Choices
What to use, When to use it, When not to use it
1. Do you need one?
How large is your project?
Do you need out of the box features?
How much time do you have?
Are there any size or speed requirements?
Choosing between frameworks
Things to consider/think about:
2. What to consider when choosing.
Is there a lot of customization involved?
Can the design be easily adapted?
Do you and or your developers have any prior
experience with any of them?
Choosing between frameworks
Things to consider/think about:
1. Do you need one?
Will you be writing a lot of css?
Where and how is your site being hosted?
Are you or the people on your team more traditional
programmers?
Again, are there any size or speed requirements?
Choosing between preprocessors
Things to consider/think about:
2. What to consider when choosing.
Are you using any other speci c front-end tools that
may be more useful with one than the other?
Again, are you or any of the other devs on your team
more familiar with one or the other?
Is exibility important (Similar to customization
question)?
Choosing between preprocessors
Things to consider/think about:
1. Do you need one?
Are you styling a lot of different content?
Will many people be working on your project?
Are you worried about maintainability?
Will a good naming strategy aid in making
communication better?
Choosing between naming methodologies/conventions
Things to consider/think about:
2. What to consider when choosing.
How do you discuss your design?
When guring out how to style certain parts of a
page, how do you break things up?
And of course, do you and or your developers have
any prior experience with any of the available
options?
Choosing between naming methodologies/conventions
Things to consider/think about:
1. Do you need one?
Are there any extra features you need that can be
done in css that don't exist in any of the other
formats?
Will using a library cut down on the work you have to
do to create it?
Do you only need a select few css features?
Choosing between libraries
Things to consider/think about:
2. What to consider when choosing.
Are there any other options?
Which is easiest to use or incorporate in your
existing project?
Does whatever design change it makes really beni t
the project?
Choosing between libraries
Things to consider/think about:
Section 4 — Implementation
Ways to Identify possible con icts between tools
1. Througly study documentation
2. Read up on other people's experiences with
preferred tools
3. Ask for opinions within your network
4. Try using tools together on a smaller test/side
project
Ways to Identify possible con icts between tools
You decide to create a blogging platform using the
following tools/methods
Framework: Bootstrap
Preprocessor: SASS
Naming Convention: SMACCS
Example:
Ways to Identify possible con icts between tools
You attempt to get comfortable using all three
products together and run into the following issue:
-Bootstrap has it's own naming conventions. How do
you then use it's features with the naming conventions
you created using the SMACCS method
Example:
Figuring out how to x them
1. Dig deeper: look up solutions to the speci c issue
you're having
2. Again, ask around
3. Experiment
Figuring out how to x them
After reading up on the issue via a blog post by
another developer on Medium, you decide to:
Try incorporating bootstrap in your SMACSS names by
extending their features into it using SASS
Example:
Setting up your development environment and
incorporating tools and solutions
Pretty straight forward...
1. Think about how solutions might scale
2. Think about other tools that may be necessary to get
tools to work together in larger environments
Setting up your development environment and
incorporating tools and solutions
You start a new project, pull in SASS, Bootstrap and
customised SMACCS. Because the project is bigger:
1. You decide to download a local version of bootstrap
instead of relying on a CDN
2. You decide to compile your SASS with Compass
instead of testing it out in codepen
Example:
Setting up your development environment and
incorporating tools and solutions
3. And you (or your devops person) decide that when
it's ready for launch you'll deploy it using AWS for
relatively easy compilation rather than just launching it
in Github pages.
Example:
Quick Mention: Setting up a Style Guide
Style guides are a set of standards for the writing and
design of documents, either for general use or for a
speci c publication, organization, or eld.
Useful for/as:
1. Onboarding
2. Setting standards
3. Quick Reference
Quick Mention: Setting up a Style Guide
To learn more, start here: An in Depth Overview of
Living Style Guide Tools
THAT'S ALL FOLKS! THANKS FOR LISTENING
Now for the practice portion of lecture

More Related Content

Similar to Css tools and methodologies

Best 5 CSS Frameworks You Should Know To Design Attractive Websites .pdf
Best 5 CSS Frameworks You Should Know To Design Attractive Websites .pdfBest 5 CSS Frameworks You Should Know To Design Attractive Websites .pdf
Best 5 CSS Frameworks You Should Know To Design Attractive Websites .pdfAppdeveloper10
 
Know the reason behind choosing bootstrap as css framework
Know the reason behind choosing bootstrap as css frameworkKnow the reason behind choosing bootstrap as css framework
Know the reason behind choosing bootstrap as css frameworkOmkarsoft Bangalore
 
Bootstrap 4 Tutorial PDF for Beginners - Learn Step by Step
Bootstrap 4 Tutorial PDF for Beginners - Learn Step by StepBootstrap 4 Tutorial PDF for Beginners - Learn Step by Step
Bootstrap 4 Tutorial PDF for Beginners - Learn Step by StepBootstrap Creative
 
CSS Audits: Take Back Control of your CSS (Susan Robertson)
CSS Audits: Take Back Control of your CSS (Susan Robertson)CSS Audits: Take Back Control of your CSS (Susan Robertson)
CSS Audits: Take Back Control of your CSS (Susan Robertson)Future Insights
 
Reworking our-workflows
Reworking our-workflowsReworking our-workflows
Reworking our-workflowsnolly00
 
WordCamp Greenville 2018 - Beware the Dark Side, or an Intro to Development
WordCamp Greenville 2018 - Beware the Dark Side, or an Intro to DevelopmentWordCamp Greenville 2018 - Beware the Dark Side, or an Intro to Development
WordCamp Greenville 2018 - Beware the Dark Side, or an Intro to DevelopmentEvan Mullins
 
How to manage a big scale HTML/CSS project
How to manage a big scale HTML/CSS projectHow to manage a big scale HTML/CSS project
How to manage a big scale HTML/CSS projectRenoir Boulanger
 
Developing for the unknown lavacon
Developing for the unknown   lavaconDeveloping for the unknown   lavacon
Developing for the unknown lavaconNeil Perlin
 
Developing for the unknown lavacon
Developing for the unknown   lavaconDeveloping for the unknown   lavacon
Developing for the unknown lavaconNeil Perlin
 
So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017
So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017 So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017
So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017 Evan Mullins
 
Exploring Our Front-End Workflows
Exploring Our Front-End WorkflowsExploring Our Front-End Workflows
Exploring Our Front-End Workflowsnolly00
 
Tech Stack & Web App Development For Startups
Tech Stack & Web App Development For StartupsTech Stack & Web App Development For Startups
Tech Stack & Web App Development For StartupsZimbleCode
 
Responsive Web Design Tutorial PDF for Beginners
Responsive Web Design Tutorial PDF for BeginnersResponsive Web Design Tutorial PDF for Beginners
Responsive Web Design Tutorial PDF for BeginnersBootstrap Creative
 
SharePointFest Konferenz 2016 - Alternative Approaches to Solution Developmen...
SharePointFest Konferenz 2016 - Alternative Approaches to Solution Developmen...SharePointFest Konferenz 2016 - Alternative Approaches to Solution Developmen...
SharePointFest Konferenz 2016 - Alternative Approaches to Solution Developmen...Marc D Anderson
 
Analyzing bootsrap and foundation font-end frameworks : a comparative study
Analyzing bootsrap and foundation font-end frameworks : a comparative studyAnalyzing bootsrap and foundation font-end frameworks : a comparative study
Analyzing bootsrap and foundation font-end frameworks : a comparative studyIJECEIAES
 
Bootstrap for Beginners
Bootstrap for BeginnersBootstrap for Beginners
Bootstrap for BeginnersD'arce Hess
 
Bootstrap seminar presentation
Bootstrap seminar presentationBootstrap seminar presentation
Bootstrap seminar presentationPratikDoiphode1
 

Similar to Css tools and methodologies (20)

Best 5 CSS Frameworks You Should Know To Design Attractive Websites .pdf
Best 5 CSS Frameworks You Should Know To Design Attractive Websites .pdfBest 5 CSS Frameworks You Should Know To Design Attractive Websites .pdf
Best 5 CSS Frameworks You Should Know To Design Attractive Websites .pdf
 
Know the reason behind choosing bootstrap as css framework
Know the reason behind choosing bootstrap as css frameworkKnow the reason behind choosing bootstrap as css framework
Know the reason behind choosing bootstrap as css framework
 
Bootstrap 4 Tutorial PDF for Beginners - Learn Step by Step
Bootstrap 4 Tutorial PDF for Beginners - Learn Step by StepBootstrap 4 Tutorial PDF for Beginners - Learn Step by Step
Bootstrap 4 Tutorial PDF for Beginners - Learn Step by Step
 
CSS Audits: Take Back Control of your CSS (Susan Robertson)
CSS Audits: Take Back Control of your CSS (Susan Robertson)CSS Audits: Take Back Control of your CSS (Susan Robertson)
CSS Audits: Take Back Control of your CSS (Susan Robertson)
 
Reworking our-workflows
Reworking our-workflowsReworking our-workflows
Reworking our-workflows
 
WordCamp Greenville 2018 - Beware the Dark Side, or an Intro to Development
WordCamp Greenville 2018 - Beware the Dark Side, or an Intro to DevelopmentWordCamp Greenville 2018 - Beware the Dark Side, or an Intro to Development
WordCamp Greenville 2018 - Beware the Dark Side, or an Intro to Development
 
How to manage a big scale HTML/CSS project
How to manage a big scale HTML/CSS projectHow to manage a big scale HTML/CSS project
How to manage a big scale HTML/CSS project
 
Developing for the unknown lavacon
Developing for the unknown   lavaconDeveloping for the unknown   lavacon
Developing for the unknown lavacon
 
Developing for the unknown lavacon
Developing for the unknown   lavaconDeveloping for the unknown   lavacon
Developing for the unknown lavacon
 
So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017
So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017 So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017
So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017
 
Using a CSS Framework
Using a CSS FrameworkUsing a CSS Framework
Using a CSS Framework
 
syllabas-mohamedelzanty
syllabas-mohamedelzantysyllabas-mohamedelzanty
syllabas-mohamedelzanty
 
MANAGE STATIC RESOURCES IN SITECORE IN HELIX WAY
MANAGE STATIC RESOURCES IN SITECORE IN HELIX WAYMANAGE STATIC RESOURCES IN SITECORE IN HELIX WAY
MANAGE STATIC RESOURCES IN SITECORE IN HELIX WAY
 
Exploring Our Front-End Workflows
Exploring Our Front-End WorkflowsExploring Our Front-End Workflows
Exploring Our Front-End Workflows
 
Tech Stack & Web App Development For Startups
Tech Stack & Web App Development For StartupsTech Stack & Web App Development For Startups
Tech Stack & Web App Development For Startups
 
Responsive Web Design Tutorial PDF for Beginners
Responsive Web Design Tutorial PDF for BeginnersResponsive Web Design Tutorial PDF for Beginners
Responsive Web Design Tutorial PDF for Beginners
 
SharePointFest Konferenz 2016 - Alternative Approaches to Solution Developmen...
SharePointFest Konferenz 2016 - Alternative Approaches to Solution Developmen...SharePointFest Konferenz 2016 - Alternative Approaches to Solution Developmen...
SharePointFest Konferenz 2016 - Alternative Approaches to Solution Developmen...
 
Analyzing bootsrap and foundation font-end frameworks : a comparative study
Analyzing bootsrap and foundation font-end frameworks : a comparative studyAnalyzing bootsrap and foundation font-end frameworks : a comparative study
Analyzing bootsrap and foundation font-end frameworks : a comparative study
 
Bootstrap for Beginners
Bootstrap for BeginnersBootstrap for Beginners
Bootstrap for Beginners
 
Bootstrap seminar presentation
Bootstrap seminar presentationBootstrap seminar presentation
Bootstrap seminar presentation
 

Recently uploaded

UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSISrknatarajan
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSRajkumarAkumalla
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...ranjana rawat
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college projectTonystark477637
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordAsst.prof M.Gokilavani
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...ranjana rawat
 

Recently uploaded (20)

UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
 

Css tools and methodologies

  • 1. PUTTING IT ALL TOGETHER: COMBINING CSS TOOLS AND METHODOLOGIES By: Isatu (Isa) Conteh September 16th 2017
  • 3. What are we trying to do/learn here? Why? 1. Highest Level: Figure out how to set up and organize your css 2. Understanding why organizing css matters 3. Knowing what your options are for css tooling and techniques 4. Figuring out how to choose what you need 5. And how to implement these solutions in your projects and get them to work well with other front- end (and back-end) tools
  • 4. Who is this person trying to teach me things? What does she know?
  • 5. Background: 1. Professional: Developer at the Washington Post 2. Professional: Web Developer at Speak Agent 3. Volunteer: Women Who Code DC Front-end Lab Lead 4. Volunteer: Women Who Code DC Project Lead
  • 6. Time spent doing front-endy things 1. At the Washington Post: ~15% so far 2. At Speak Agent: 100% Angular 1.4 3. As Front-end Lab Lead: 100% 4. *Bonus* - started out with static web pages ~5 years ago: 100% 5. **Double Bonus** - use front-end tools for side project: 70%
  • 7. Where did I get the idea to do this presentation from? Why we’re focusing on CSS?
  • 8. Baseline: 1. HTML/CSS Nice to Haves: What I’m hoping you know 1. Used some helpful tools (SASS, LESS, Bootstrap) 2. Some experience with integrating front-end with back-end.
  • 9. Looking to brush up on the fundamentals rst? Try Here.. 1. Codeacademy: 2. KhanAcademy: 3. Building Your rst webpage: 4. CodeSchool: https://www.codecademy.com/learn/learn-html-css https://www.khanacademy.org/computing/computer- programming/html-css http://learn.shayhowe.com/html-css/building-your- rst-web-page/ https://www.codeschool.com/
  • 10. Section 2 — Tools
  • 11. Frameworks (CSS, not javascript) De nition: CSS frameworks are pre-prepared software frameworks that are meant to allow for easier, more standards-compliant web design using the Cascading Style Sheets language. Most of these frameworks contain at least a grid.
  • 12. Frameworks (CSS, not javascript) Bootstrap: Foundation: Materialize: Pure CSS: http://getbootstrap.com/ http://foundation.zurb.com/ http://materializecss.com/ https://purecss.io/
  • 13. Frameworks: Special Mention Some other front end programs (usually javascript application tools) also include their own css frameworks. They are used in a similar manner to external css frameworks. One example is: 1. Ionic: https://ionicframework.com/
  • 14. Preprocessors De nition: Preprocessors are programs that take code written in their own speci c language and convert it to CSS.
  • 15. Preprocessors SASS (Syntactically Awesome Stylesheets) SCSS (Sassy CSS) LESS Stylus http://sass-lang.com/ http://lesscss.org/ http://stylus-lang.com/
  • 16. Naming Methodologies/Conventions De nition: Rules and strategies for writing and using css classes, id's etc. that make css codebases easier to read and debug.
  • 17. Naming Methodologies BEM (Block, Element, Modi er) SMACCS (Scalable and Modular Architecture for CSS) OOCSS (Object Oriented CSS) ITCSS (Inverted Triangle CSS) http://getbem.com/ https://smacss.com/ https://github.com/stubbornella/oocss/wiki https://www.x ve.co/blog/itcss-scalable- maintainable-css-architecture/
  • 18. Other tools: Libraries and such De nition: other programs and tools that can help with organizing and using css
  • 19. Other Tools: Libraries and such Flexbox Font Awesome Animate.css https:// exbox.io/ http://fontawesome.io/ https://daneden.github.io/animate.css/
  • 20. Finding Information Information can most easily be found in the form of: Docs (Documentation) Blogs (Medium, CSS Tricks etc.) Tutorials/ Online Classes (Udemy, Linda.com, Udacity etc.)
  • 21. Section 3 — Choices
  • 22. What to use, When to use it, When not to use it
  • 23. 1. Do you need one? How large is your project? Do you need out of the box features? How much time do you have? Are there any size or speed requirements? Choosing between frameworks Things to consider/think about:
  • 24. 2. What to consider when choosing. Is there a lot of customization involved? Can the design be easily adapted? Do you and or your developers have any prior experience with any of them? Choosing between frameworks Things to consider/think about:
  • 25. 1. Do you need one? Will you be writing a lot of css? Where and how is your site being hosted? Are you or the people on your team more traditional programmers? Again, are there any size or speed requirements? Choosing between preprocessors Things to consider/think about:
  • 26. 2. What to consider when choosing. Are you using any other speci c front-end tools that may be more useful with one than the other? Again, are you or any of the other devs on your team more familiar with one or the other? Is exibility important (Similar to customization question)? Choosing between preprocessors Things to consider/think about:
  • 27. 1. Do you need one? Are you styling a lot of different content? Will many people be working on your project? Are you worried about maintainability? Will a good naming strategy aid in making communication better? Choosing between naming methodologies/conventions Things to consider/think about:
  • 28. 2. What to consider when choosing. How do you discuss your design? When guring out how to style certain parts of a page, how do you break things up? And of course, do you and or your developers have any prior experience with any of the available options? Choosing between naming methodologies/conventions Things to consider/think about:
  • 29. 1. Do you need one? Are there any extra features you need that can be done in css that don't exist in any of the other formats? Will using a library cut down on the work you have to do to create it? Do you only need a select few css features? Choosing between libraries Things to consider/think about:
  • 30. 2. What to consider when choosing. Are there any other options? Which is easiest to use or incorporate in your existing project? Does whatever design change it makes really beni t the project? Choosing between libraries Things to consider/think about:
  • 31. Section 4 — Implementation
  • 32. Ways to Identify possible con icts between tools 1. Througly study documentation 2. Read up on other people's experiences with preferred tools 3. Ask for opinions within your network 4. Try using tools together on a smaller test/side project
  • 33. Ways to Identify possible con icts between tools You decide to create a blogging platform using the following tools/methods Framework: Bootstrap Preprocessor: SASS Naming Convention: SMACCS Example:
  • 34. Ways to Identify possible con icts between tools You attempt to get comfortable using all three products together and run into the following issue: -Bootstrap has it's own naming conventions. How do you then use it's features with the naming conventions you created using the SMACCS method Example:
  • 35. Figuring out how to x them 1. Dig deeper: look up solutions to the speci c issue you're having 2. Again, ask around 3. Experiment
  • 36. Figuring out how to x them After reading up on the issue via a blog post by another developer on Medium, you decide to: Try incorporating bootstrap in your SMACSS names by extending their features into it using SASS Example:
  • 37. Setting up your development environment and incorporating tools and solutions Pretty straight forward... 1. Think about how solutions might scale 2. Think about other tools that may be necessary to get tools to work together in larger environments
  • 38. Setting up your development environment and incorporating tools and solutions You start a new project, pull in SASS, Bootstrap and customised SMACCS. Because the project is bigger: 1. You decide to download a local version of bootstrap instead of relying on a CDN 2. You decide to compile your SASS with Compass instead of testing it out in codepen Example:
  • 39. Setting up your development environment and incorporating tools and solutions 3. And you (or your devops person) decide that when it's ready for launch you'll deploy it using AWS for relatively easy compilation rather than just launching it in Github pages. Example:
  • 40. Quick Mention: Setting up a Style Guide Style guides are a set of standards for the writing and design of documents, either for general use or for a speci c publication, organization, or eld. Useful for/as: 1. Onboarding 2. Setting standards 3. Quick Reference
  • 41. Quick Mention: Setting up a Style Guide To learn more, start here: An in Depth Overview of Living Style Guide Tools
  • 42. THAT'S ALL FOLKS! THANKS FOR LISTENING Now for the practice portion of lecture