SlideShare uma empresa Scribd logo
1 de 109
Baixar para ler offline
Rethinking CSS Best Practices
Renato Iwashima
@renatoiwa

Thursday, October 24, 13
The Separation of Concerns

Image by Les_Stockton on

Thursday, October 24, 13
Thursday, October 24, 13
CSS
Javascript
HTML

Thursday, October 24, 13
Thursday, October 24, 13
<div class="my-module">
<h2 class="headline">Headline</h2>
<h3 class="subhead">Subhead</h3>
<div class="body">Body</div>
</div>

Thursday, October 24, 13
<div class="my-module">
<h2 class="headline">Headline</h2>
<h3 class="subhead">Subhead</h3>
<div class="body">Body</div>
</div>
.my-module {
! background: whiteSmoke;
! padding: 10px;
}

Thursday, October 24, 13
<div class="my-module">
<h2 class="headline">Headline</h2>
<h3 class="subhead">Subhead</h3>
<div class="body">Body</div>
</div>
.my-module {
! background: whiteSmoke;
! padding: 10px;
}
.my-module .headline {
font-size: 20px;
font-weight: bold;
border-bottom: 1px dotted #333;
}

Thursday, October 24, 13
<div class="my-module">
<h2 class="headline">Headline</h2>
<h3 class="subhead">Subhead</h3>
<div class="body">Body</div>
</div>
.my-module {
! background: whiteSmoke;
! padding: 10px;
}
.my-module .headline {
font-size: 20px;
font-weight: bold;
border-bottom: 1px dotted #333;
}
.my-module .subhead {
font-size: 16px;
font-weight: 200;
}

Thursday, October 24, 13
<div class="my-module">
<h2 class="headline">Headline</h2>
<h3 class="subhead">Subhead</h3>
<div class="body">Body</div>
</div>
.my-module {
! background: whiteSmoke;
! padding: 10px;
}
.my-module .headline {
font-size: 20px;
font-weight: bold;
border-bottom: 1px dotted #333;
}
.my-module .subhead {
font-size: 16px;
font-weight: 200;
}
.my-module .body {
padding: 10px;
}

Thursday, October 24, 13
Thursday, October 24, 13
Thursday, October 24, 13
<div class="mymodule">
<h2 class="headline">Headline</h2>
<h3 class="subhead">Subhead</h3>
<div class="body">
<p>Body text</p>
</div>
</div>

.my-module {
! background: whiteSmoke;
! padding: 10px;
}
.my-module .headline {
font-size: 20px;
font-weight: bold;
border-bottom: 1px dotted #333;
}
.my-module .subhead {
font-size: 16px;
font-weight: 200;
}
.my-module .body {
padding: 10px;
}

Thursday, October 24, 13
<div class="mymodule">
<h2 class="headline">Headline</h2>
<h3 class="subhead">Subhead</h3>
<div class="body">
<p>Body text</p>
<h4 class="subsubhead">Subsubhead</h4>
<p>Body text</p>
</div>
</div>
.my-module {
! background: whiteSmoke;
! padding: 10px;
}
.my-module .headline {
font-size: 20px;
font-weight: bold;
border-bottom: 1px dotted #333;
}
.my-module .subhead {
font-size: 16px;
font-weight: 200;
}
.my-module .body {
padding: 10px;
}

Thursday, October 24, 13
<div class="mymodule">
<h2 class="headline">Headline</h2>
<h3 class="subhead">Subhead</h3>
<div class="body">
<p>Body text</p>
<h4 class="subsubhead">Subsubhead</h4>
<p>Body text</p>
</div>
</div>
.my-module {
! background: whiteSmoke;
! padding: 10px;
}
.my-module .headline {
font-size: 20px;
font-weight: bold;
border-bottom: 1px dotted #333;
}
.my-module .subhead {
font-size: 16px;
font-weight: 200;
}
.my-module .body {
padding: 10px;
}
.my-module .subsubhead {
border-bottom: 1px dotted #333;
}

Thursday, October 24, 13
<div class="mymodule">
<h2 class="headline">Headline</h2>
<h3 class="subhead">Subhead</h3>
<div class="body">
<p>Body text</p>
<h4 class="subsubhead">Subsubhead</h4>
<p>Body text</p>
</div>
</div>
.my-module {
! background: whiteSmoke;
! padding: 10px;
}
.my-module .headline {
font-size: 20px;
font-weight: bold;
border-bottom: 1px dotted #333;
}
.my-module .subhead {
font-size: 16px;
font-weight: 200;
}
.my-module .body {
padding: 10px;
}
.my-module .subsubhead {
border-bottom: 1px dotted #333;
}

Thursday, October 24, 13
<div class="mymodule">
<h2 class="headline">Headline</h2>
<h3 class="subhead">Subhead</h3>
<div class="body">
<p>Body text</p>
<h4 class="subsubhead">Subsubhead</h4>
<p>Body text</p>
</div>
</div>
.my-module {
! background: whiteSmoke;
! padding: 10px;
}
.my-module .headline {
font-size: 20px;
font-weight: bold;
border-bottom: 1px dotted #333;
}
.my-module .subhead {
font-size: 16px;
font-weight: 200;
}
.my-module .body {
padding: 10px;
}
.my-module .subsubhead {
border-bottom: 1px dotted #333;
}

Thursday, October 24, 13

Growth
<div class="mymodule">
<h2 class="headline">Headline</h2>
<h3 class="subhead">Subhead</h3>
<div class="body">
<p>Body text</p>
<h4 class="subsubhead">Subsubhead</h4>
<p>Body text</p>
</div>
</div>
.mymodule {
! background: whiteSmoke;
! padding: 10px;
}
.mymodule .headline {
font-size: 20px;
font-weight: bold;
}
.mymodule .subhead {
font-size: 16px;
font-weight: 200;
}
.mymodule .body {
padding: 10px;
}
.mymodule .headline,
.mymodule .subsubhead {
border-bottom: 1px dotted #333;
}

0

Thursday, October 24, 13
.my-module .headline,
.my-module .subsubhead {
border-bottom: 1px dotted #333;
}

Thursday, October 24, 13
.my-module .headline,
.my-module .subsubhead,
.something-else-001 {
border-bottom: 1px dotted #333;
}

Thursday, October 24, 13
.my-module .headline,
.my-module .subsubhead,
.something-else-001,
.something-else-002 {
border-bottom: 1px dotted #333;
}

Thursday, October 24, 13
.my-module .headline,
.my-module .subsubhead,
.something-else-001,
.something-else-002,
.something-else-003,
.something-else-004,
.something-else-005,
.something-else-006,
.something-else-007,
.something-else-008,
.something-else-009,
.something-else-010,
.something-else-011,
.something-else-012 {
border-bottom: 1px dotted #333;
}

Thursday, October 24, 13
.heading {
border-bottom: 1px dotted #333;
}

Thursday, October 24, 13
.heading

.heading

Thursday, October 24, 13
.heading

.heading

Thursday, October 24, 13
.my-module .headline {
border-bottom-color: red;
}

Thursday, October 24, 13
.my-module .headline {
border-bottom-color: red;
}
.page-1 .my-module .headline {
border-bottom-color: navy;
}

Thursday, October 24, 13
.my-module .headline {
border-bottom-color: red;
}
.page-1 .my-module .headline {
border-bottom-color: navy;
}
.page-2 .my-module .headline {
border-bottom-color: orange;
}

Thursday, October 24, 13
Growth

Thursday, October 24, 13

.my-module .headline {
border-bottom-color: red;
}
.page-1 .my-module .headline {
border-bottom-color: navy;
}
.page-2 .my-module .headline {
border-bottom-color: orange;
}
Growth

.my-module .headline {
border-bottom-color: red;
}
.page-1 .my-module .headline {
border-bottom-color: navy;
}
.page-2 .my-module .headline {
border-bottom-color: orange;
}
Specificity

Thursday, October 24, 13
Current UI Page Architecture
Header

Module 1

Module 2

Module 3

Module 4

Module 5

Module 6

Footer

Thursday, October 24, 13
Current UI Page Architecture
Normalize
Header

Module 1

Module 2

Module 3

Module 4

Module 5

Module 6

Footer

Thursday, October 24, 13
Current UI Page Architecture
Normalize

Layout
Header

Module 1

Module 2

Module 3

Module 4

Module 5

Module 6

Footer

Thursday, October 24, 13
Current UI Page Architecture
Normalize

Layout

Reusable Patterns

Header

Module 1

Module 2

Module 3

Module 4

Module 5

Module 6

Footer

Thursday, October 24, 13
Current UI Page Architecture
Normalize

Layout

Reusable Patterns

Header

Module 1 CSS

Module 1

Module 2

Module 2 CSS

Module 3 CSS

Module 3

Module 4

Module 4 CSS

Module 5 CSS

Module 5

Module 6

Module 6 CSS

Footer

Thursday, October 24, 13
Current UI Architecture on Multiple Pages

Header

Module 1

Header

Module
2

Module 1

Header

Module
4

Header

Module 1

Module 1
Module
2

Module 3

Module
4

Module
6
Module 5

Module 5
Footer

Thursday, October 24, 13

Module
6

Module 5

Module 3
Module
6

Module
6
Footer

Footer

Footer
Current UI Architecture on Multiple Pages
NORMALIZE

Header

Module 1

Header

Module
2

Module 1

Header

Module
4

Header

Module 1

Module 1
Module
2

Module 3

Module
4

Module
6
Module 5

Module 5
Footer

Thursday, October 24, 13

Module
6

Module 5

Module 3
Module
6

Module
6
Footer

Footer

Footer
Current UI Architecture on Multiple Pages
NORMALIZE
REUSABLE PATTERNS

Header

Module 1

Header

Module
2

Module 1

Header

Module
4

Header

Module 1

Module 1
Module
2

Module 3

Module
4

Module
6
Module 5

Module 5
Footer

Thursday, October 24, 13

Module
6

Module 5

Module 3
Module
6

Module
6
Footer

Footer

Footer
Current UI Architecture on Multiple Pages
NORMALIZE
REUSABLE PATTERNS
PAGE SPECIFIC STYLES

PAGE SPECIFIC STYLES

PAGE SPECIFIC STYLES

PAGE SPECIFIC STYLES

MODULE 1 CSS

MODULE 1 CSS

MODULE 1 CSS

MODULE 1 CSS

MODULE 2 CSS

MODULE 4 CSS

MODULE 5 CSS

MODULE 2 CSS

MODULE 3 CSS

MODULE 5 CSS

MODULE 6 CSS

MODULE 3 CSS

MODULE 4 CSS

MODULE 6 CSS

MODULE 6 CSS

MODULE 5 CSS
MODULE 6 CSS
Header

Module 1

Header

Module
2

Module 1

Header

Module
4

Header

Module 1

Module 1
Module
2

Module 3

Module
4

Module
6
Module 5

Module 5
Footer

Thursday, October 24, 13

Module
6

Module 5

Module 3
Module
6

Module
6
Footer

Footer

Footer
Large Scale Websites Modularity

Poor caching from page to page
Limited reusability of styles
Specificity wars
Contextual selectors used to scope styles
Bloat!

Thursday, October 24, 13
Where we want to be
NORMALIZE
REUSABLE PATTERNS
PAGE SPECIFIC STYLES

PAGE SPECIFIC STYLES

PAGE SPECIFIC STYLES

PAGE SPECIFIC STYLES

MODULE 1 CSS

MODULE 1 CSS

MODULE 1 CSS

MODULE 1 CSS

MODULE 2 CSS

MODULE 4 CSS

MODULE 5 CSS

MODULE 2 CSS

MODULE 3 CSS

MODULE 5 CSS

MODULE 6 CSS

MODULE 3 CSS

MODULE 4 CSS

MODULE 6 CSS

MODULE 6 CSS

MODULE 5 CSS
MODULE 6 CSS
Header

Module 1

Header

Module
2

Module 1

Header

Module
4

Header

Module 1

Module 1
Module
2

Module 3

Module
4

Module
6
Module 5

Module 5
Footer

Thursday, October 24, 13

Module
6

Module 5

Module 3
Module
6

Module
6
Footer

Footer

Footer
Where we want to be

MODULE 1 CSS
MODULE 2 CSS
PAGE SPECIFIC STYLES
MODULE 3 CSS
Header

MODULE 4 CSS
Module
MODULE
Module 1 5 CSS
2
MODULE 6 CSS
Module 3

NORMALIZE

MODULE 1 CSS
MODULE 1 CSS
REUSABLE PATTERNS
MODULE 4 CSS
MODULE 5 CSS
PAGE SPECIFIC STYLES
PAGE SPECIFIC STYLES
MODULE 5 CSS
MODULE 6 CSS
Header

MODULE 6 CSS
Module 1

Footer

Thursday, October 24, 13

MODULE 2 CSS
PAGE SPECIFIC STYLES
MODULE 3 CSS
Header

MODULE 6 CSS

Module 1

Module 1
Module
2

Module
4

Module
6
Module 5

Module 5

Module
4

Header

MODULE 1 CSS

Module
6

Module 5

Module 3
Module
6

Module
6
Footer

Footer

Footer
Semantic Class Names
Thursday, October 24, 13
Other than microformats,
class names are used for presentational
purpose or javascript hooks.

Thursday, October 24, 13
Let’s talk about
Semantic Class Names

Thursday, October 24, 13
se·man·tic
adjective
1. relating to meaning in language or logic.

Thursday, October 24, 13
.title
bold large text

Thursday, October 24, 13
.bold and .large
bold large text

Thursday, October 24, 13
Bootstrap

.text-left
.text-right
.text-center
.pull-right
.pull-left
.affix
.invisible
.hidden

Thursday, October 24, 13

{
{
{
{
{
{
{
{

text-align: left;
}
text-align: right;
}
text-align: center;
}
float: right !important; }
float: left !important; }
position: fixed;
}
visibility: hidden;
}
display: none !important;}
Foundation

.text-left
.text-right
.text-center
.text-justify
.left
.right
.hide

Thursday, October 24, 13

{
{
{
{
{
{
{

text-align: left !important;
text-align: right !important;
text-align: center !important;
text-align: justify !important;
float: left !important;
float: right !important;
display: none;

}
}
}
}
}
}
}
But we usually stop short
since best practices is to
style elements using classes
related to content.

Thursday, October 24, 13
BUT
WHY?
Thursday, October 24, 13
Maintenance
CSS maintenance

Thursday, October 24, 13
SEO & Responsive Web Design
Same HTML: Crawling optimization
AWD: Vary HTTP header
Responsive Page Grid

Thursday, October 24, 13
HTML5 specification section on classes
... authors are encouraged to use [class
attribute] values that describe the
nature of the content, rather than
values that describe the desired
presentation of the content.

Thursday, October 24, 13
Nicolas Gallagher
About HTML Semantics Front End Architecture
http://nicolasgallagher.com/about-html-semantics-front-end-architecture/

Thursday, October 24, 13
...there is no inherent reason to do this. In
fact, it’s often a hindrance when working on
large websites or applications.

Thursday, October 24, 13
The most reusable components are
those with class names that are
independent of the content.

Thursday, October 24, 13
Class names should communicate useful
information to developers

Thursday, October 24, 13
Wilson Page
Building the new financial times web app
http://coding.smashingmagazine.com/2013/05/23/building-the-new-financial-times-web-app/

Thursday, October 24, 13
Components need to be dumb, they can’t know
anything of their context, or the consequences of
any interactions that may occur within them.

Thursday, October 24, 13
Fruit Classes
.apple_headline {
font-size: 40px;
}
.apple_sub-head {
font-size: 20px;
}
.apple_body {
font-size: 14px;
column-count: 2;
color: #333;
}

<div class="apple">
<h2 class="apple_headline">{{headline}}</h2>
<h3 class="apple_sub-head">{{subhead}}</h3>
<div class="apple_body">{{body}}</div>
</div>

Thursday, October 24, 13
Reusable
Hard to know what the class is for

Thursday, October 24, 13
Nicole Sullivan
Our Best Practices Are Killing Us
http://www.stubbornella.org/content/2011/04/28/our-best-practices-are-killing-us/

Thursday, October 24, 13
Redundancy
Bloat
Specificity wars

Thursday, October 24, 13
Keep specificity as low as
possible and abstract repeating
visual patterns

Thursday, October 24, 13
Treat code like Lego. Break code into the
smallest little blocks possible.
smashing magazine - @csswizardry (via @stubbornella) #btconf

Thursday, October 24, 13
Atomic CSS

Image by Alexey Vinokurov on

Thursday, October 24, 13
a·tom·ic
adjective
1. of or forming a single irreducible unit
or component in a larger system

Thursday, October 24, 13
Class names inspired by
Zen Coding (Emmet)

Thursday, October 24, 13
.Fl-start
.Fl-end
.Fl-n
.Cur-p
.Fz-l
.Fz-xl
.Mstart-10

Thursday, October 24, 13

{
{
{
{
{
{
{

float: left;
float: right;
float: none;
cursor: pointer;
font-size: 18px;
font-size: 20px;
margin-left: 10px;

}
}
}
}
}
}
} /* wOOt */
How can your design evolve?

Thursday, October 24, 13
Switching context:
Instead of stylesheets you would
be managing templates.

Thursday, October 24, 13
Node.js and the new web front-end
Nicholas Zakas

Thursday, October 24, 13
Thursday, October 24, 13
<template>

Thursday, October 24, 13
Possibly coming in the future

Thursday, October 24, 13
<details open>
<summary>Timepieces</summary>
<ul>
<li>Sundial</li>
<li>Cuckoo clock</li>
<li>Wristwatch</li>
</ul>
</details>

Thursday, October 24, 13

<details open>
<a id="summary">
&blacktriangledown;
<summary>Timepieces</summary>
</a>
<ul>
<li>Sundial</li>
<li>Cuckoo clock</li>
<li>Wristwatch</li>
</ul>
</details>
details[open]

{ decorator: url(#details-open); }

<decorator id="details-open">
<template>
<a id="summary">
&blacktriangledown;
<content select="summary"></content>
</a>
<content></content>
</template>
</decorator>

Thursday, October 24, 13
What goes into my stylesheet?

Thursday, October 24, 13
Basic rules like floating an element
Helper classes

Thursday, October 24, 13
/**
 * one liner with ellipsis
 * 1. we inherit hyphens:auto from body which would break "Ell" in table cells
 */
.Ell {
max-width: 100%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
-webkit-hyphens: none; /* 1 */
-ms-hyphens: none;
-o-hyphens: none;
hyphens: none;
}
/**
 * kinda line-clamp
 * 2 lines according to default font-size/line-height
 */
.LineClamp {
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
font-size: 13px;
line-height: 1.25;
max-height: 32px;
_height: 32px;
overflow: hidden;
}

Thursday, October 24, 13
Reduces style scope
Reduces stylesheets bloat
Improves performance
Removes dependencies
Allows to share content and assets easily
Leverages cache by being immutable
Facilitates RTL/LTR interface switch

Thursday, October 24, 13
Use Case
Media Object

Thursday, October 24, 13
Conventional

<div class="media">
<a class="pull-left" href="#">...</a>
<div class="media-body">...</div>
</div>

Fl

Thursday, October 24, 13

BFC
3 Column Page Layout

Fl

BFC

Media object?

Thursday, October 24, 13

Fl
Atomic

<div class="Bfc">
<a class="Fl-start" href="#">...</a>
<div class="Bfc">...</div>
</div>

Fl

Thursday, October 24, 13

BFC
Atomic
<div class="Bfc">
<div class="Fl-start">...</div>
<div class="Fl-end">...</div>
<div class="Bfc">...</div>
</div>

Fl

Thursday, October 24, 13

BFC

Fl
Atomic

<div class="Bfc">
<div class="Fl-start">...</div>
<div class="Fl-end">...</div>
</div>
<p>...</p>

Fl

Thursday, October 24, 13

Fl
Use Case
Hero Unit

Thursday, October 24, 13
Conventional
<div class="hero-unit">
<h1>Heading</h1>
<p>Tagline</p>
</div>

Thursday, October 24, 13
Atomic
<h1 class="Fz-xl Fw-b">Heading</h1>
<p class="Fz-l Fw-200">Tagline</p>

Thursday, October 24, 13
Reusable
It has a real meaning
Just by looking at the markup you already
know how it will look like

Thursday, October 24, 13
CSS bloat vs HTML bloat

Image by NASA Goddard Space Flight Center on

Thursday, October 24, 13
The data needs to live
somewhere

Thursday, October 24, 13
.wrapper vs .bfc

Thursday, October 24, 13
Good gzip compression

.M-1
.M-2
.M-4
.M-6
.M-8

Thursday, October 24, 13

{margin:
{margin:
{margin:
{margin:
{margin:

1px;}
2px;}
4px;}
6px;}
8px;}
Measurements
Study

Compressed

Uncompressed

News

67.0 KB

267 KB

Sports

61.4 KB

230 KB

ACSS

38.3 KB

154 KB

Thursday, October 24, 13
Atomic vs Inline Styles

Image by MrMeik on

Thursday, October 24, 13
Inline Styles

ACSS

Specificity
1.0.0.0

Specificity
0.0.1.0
Scope
Portability

Verbosity

Thursday, October 24, 13

Abstraction
Mapping
Real World Results

Thursday, October 24, 13
Conventional
answers.yahoo.com

30.1KB

sports.yahoo.com

67.4KB

omg.yahoo.com

46.2KB

yahoo.com

45.9KB

my.yahoo.com

21.3KB (18KB + 3KB)

Atomic

Thursday, October 24, 13
Conventional
answers.yahoo.com

30.1KB

sports.yahoo.com

67.4KB

omg.yahoo.com

46.2KB

yahoo.com

45.9KB

Atomic

Reusable
my.yahoo.com

Thursday, October 24, 13

21.3KB (18KB + 3KB)
One CSS

Thursday, October 24, 13
We’re not banning semantic classes

Thursday, October 24, 13
Re-evaluate the benefits of the
common approach rather than
adopt it as the de facto tool for
styling web pages.

Thursday, October 24, 13
Break code into the smallest
presentational classes as possible

Thursday, October 24, 13
“Everything is changing too quickly for
commandments that are etched in stone.
We all need to be open to new learnings,
new approaches, new best practices and
we need to be able to share them.
Not rules, tools.”
http://notrulestools.com/

Thursday, October 24, 13
http://bit.ly/atomiccss
@renatoiwa
@thierryk
@StevenRCarlson

Thursday, October 24, 13

Mais conteúdo relacionado

Mais procurados

Documenting an Atomic Design System with Jekyll
Documenting an Atomic Design System with JekyllDocumenting an Atomic Design System with Jekyll
Documenting an Atomic Design System with JekyllTodd Moy
 
Data science for infrastructure dev week 2022
Data science for infrastructure   dev week 2022Data science for infrastructure   dev week 2022
Data science for infrastructure dev week 2022ZainAsgar1
 
Voorhoede - Front-end architecture
Voorhoede - Front-end architectureVoorhoede - Front-end architecture
Voorhoede - Front-end architectureJasper Moelker
 
Brad frost: Atomic design (Webdagene 2014)
Brad frost: Atomic design (Webdagene 2014)Brad frost: Atomic design (Webdagene 2014)
Brad frost: Atomic design (Webdagene 2014)webdagene
 
Atomic Design
Atomic Design Atomic Design
Atomic Design Rey Mayson
 
Atomic Design - BDConf Nashville, 2013
Atomic Design - BDConf Nashville, 2013Atomic Design - BDConf Nashville, 2013
Atomic Design - BDConf Nashville, 2013Brad Frost
 
Atomic Design - An Event Apart San Diego
Atomic Design - An Event Apart San DiegoAtomic Design - An Event Apart San Diego
Atomic Design - An Event Apart San DiegoBrad Frost
 
Adventures in Atomic Design
Adventures in Atomic DesignAdventures in Atomic Design
Adventures in Atomic DesignAndrew Jones
 
The Death of Lorem Ipsum & Pixel Perfect Content
The Death of Lorem Ipsum & Pixel Perfect ContentThe Death of Lorem Ipsum & Pixel Perfect Content
The Death of Lorem Ipsum & Pixel Perfect ContentDave Olsen
 
Beyond Squishy: The Principles of Adaptive Design
Beyond Squishy: The Principles of Adaptive DesignBeyond Squishy: The Principles of Adaptive Design
Beyond Squishy: The Principles of Adaptive DesignBrad Frost
 
Style Guides Are The New Photoshop (Fronteers 2012)
Style Guides Are The New Photoshop (Fronteers 2012)Style Guides Are The New Photoshop (Fronteers 2012)
Style Guides Are The New Photoshop (Fronteers 2012)Stephen Hay
 
The Server Side of Responsive Web Design
The Server Side of Responsive Web DesignThe Server Side of Responsive Web Design
The Server Side of Responsive Web DesignDave Olsen
 
Atomic Design Presentation for Polaris Industries
Atomic Design Presentation for Polaris IndustriesAtomic Design Presentation for Polaris Industries
Atomic Design Presentation for Polaris IndustriesAlfonso Moreno
 
The Death of Lorem Ipsum and Pixel-Perfect Content (MinneWebCon version)
The Death of Lorem Ipsum and Pixel-Perfect Content (MinneWebCon version)The Death of Lorem Ipsum and Pixel-Perfect Content (MinneWebCon version)
The Death of Lorem Ipsum and Pixel-Perfect Content (MinneWebCon version)Dave Olsen
 
Responsive Design Workflow: Mobilism 2012
Responsive Design Workflow: Mobilism 2012Responsive Design Workflow: Mobilism 2012
Responsive Design Workflow: Mobilism 2012Stephen Hay
 
Decoupling the Front-end with Modular CSS
Decoupling the Front-end with Modular CSSDecoupling the Front-end with Modular CSS
Decoupling the Front-end with Modular CSSJulie Cameron
 
Styleguide-Driven Development: The New Web Development
Styleguide-Driven Development: The New Web DevelopmentStyleguide-Driven Development: The New Web Development
Styleguide-Driven Development: The New Web DevelopmentJohn Albin Wilkins
 
Responsive Design Workflow
Responsive Design WorkflowResponsive Design Workflow
Responsive Design WorkflowIntergen
 
Responsive webdesign
Responsive webdesignResponsive webdesign
Responsive webdesignBart De Waele
 

Mais procurados (20)

Documenting an Atomic Design System with Jekyll
Documenting an Atomic Design System with JekyllDocumenting an Atomic Design System with Jekyll
Documenting an Atomic Design System with Jekyll
 
Data science for infrastructure dev week 2022
Data science for infrastructure   dev week 2022Data science for infrastructure   dev week 2022
Data science for infrastructure dev week 2022
 
Voorhoede - Front-end architecture
Voorhoede - Front-end architectureVoorhoede - Front-end architecture
Voorhoede - Front-end architecture
 
Brad frost: Atomic design (Webdagene 2014)
Brad frost: Atomic design (Webdagene 2014)Brad frost: Atomic design (Webdagene 2014)
Brad frost: Atomic design (Webdagene 2014)
 
Atomic Design
Atomic Design Atomic Design
Atomic Design
 
Atomic Design - BDConf Nashville, 2013
Atomic Design - BDConf Nashville, 2013Atomic Design - BDConf Nashville, 2013
Atomic Design - BDConf Nashville, 2013
 
Atomic Design - An Event Apart San Diego
Atomic Design - An Event Apart San DiegoAtomic Design - An Event Apart San Diego
Atomic Design - An Event Apart San Diego
 
Use atomic design ftw
Use atomic design ftwUse atomic design ftw
Use atomic design ftw
 
Adventures in Atomic Design
Adventures in Atomic DesignAdventures in Atomic Design
Adventures in Atomic Design
 
The Death of Lorem Ipsum & Pixel Perfect Content
The Death of Lorem Ipsum & Pixel Perfect ContentThe Death of Lorem Ipsum & Pixel Perfect Content
The Death of Lorem Ipsum & Pixel Perfect Content
 
Beyond Squishy: The Principles of Adaptive Design
Beyond Squishy: The Principles of Adaptive DesignBeyond Squishy: The Principles of Adaptive Design
Beyond Squishy: The Principles of Adaptive Design
 
Style Guides Are The New Photoshop (Fronteers 2012)
Style Guides Are The New Photoshop (Fronteers 2012)Style Guides Are The New Photoshop (Fronteers 2012)
Style Guides Are The New Photoshop (Fronteers 2012)
 
The Server Side of Responsive Web Design
The Server Side of Responsive Web DesignThe Server Side of Responsive Web Design
The Server Side of Responsive Web Design
 
Atomic Design Presentation for Polaris Industries
Atomic Design Presentation for Polaris IndustriesAtomic Design Presentation for Polaris Industries
Atomic Design Presentation for Polaris Industries
 
The Death of Lorem Ipsum and Pixel-Perfect Content (MinneWebCon version)
The Death of Lorem Ipsum and Pixel-Perfect Content (MinneWebCon version)The Death of Lorem Ipsum and Pixel-Perfect Content (MinneWebCon version)
The Death of Lorem Ipsum and Pixel-Perfect Content (MinneWebCon version)
 
Responsive Design Workflow: Mobilism 2012
Responsive Design Workflow: Mobilism 2012Responsive Design Workflow: Mobilism 2012
Responsive Design Workflow: Mobilism 2012
 
Decoupling the Front-end with Modular CSS
Decoupling the Front-end with Modular CSSDecoupling the Front-end with Modular CSS
Decoupling the Front-end with Modular CSS
 
Styleguide-Driven Development: The New Web Development
Styleguide-Driven Development: The New Web DevelopmentStyleguide-Driven Development: The New Web Development
Styleguide-Driven Development: The New Web Development
 
Responsive Design Workflow
Responsive Design WorkflowResponsive Design Workflow
Responsive Design Workflow
 
Responsive webdesign
Responsive webdesignResponsive webdesign
Responsive webdesign
 

Destaque

Developing accessible android applications
Developing accessible android applicationsDeveloping accessible android applications
Developing accessible android applicationsRenato Iwashima
 
Сергей Бережной "Про шаблонизаторы вообще и BEMHTML в частности"
Сергей Бережной "Про шаблонизаторы вообще и BEMHTML в частности"Сергей Бережной "Про шаблонизаторы вообще и BEMHTML в частности"
Сергей Бережной "Про шаблонизаторы вообще и BEMHTML в частности"Yandex
 
Верстка_Лекция1
Верстка_Лекция1Верстка_Лекция1
Верстка_Лекция1itc73
 
Css part2
Css part2Css part2
Css part2ISsoft
 
WordPress as Rapid Prototyping Tool
WordPress as Rapid Prototyping ToolWordPress as Rapid Prototyping Tool
WordPress as Rapid Prototyping ToolAmit Kumar Singh
 
Uwe usability evaluation
Uwe usability evaluationUwe usability evaluation
Uwe usability evaluationLon Barfield
 
6. таблицы и другие теги html
6. таблицы и другие теги html6. таблицы и другие теги html
6. таблицы и другие теги htmlSergei Dubrov
 
Тестирование требований
Тестирование требованийТестирование требований
Тестирование требованийISsoft
 
Images and Tables in HTML
Images and Tables in HTMLImages and Tables in HTML
Images and Tables in HTMLAarti P
 
Введение в веб-проектирование
Введение в веб-проектированиеВведение в веб-проектирование
Введение в веб-проектированиеMaryia Davidouskaia
 
Getting Started With Php Frameworks @BCP5
Getting Started With Php Frameworks @BCP5Getting Started With Php Frameworks @BCP5
Getting Started With Php Frameworks @BCP5Amit Kumar Singh
 
Таблицы Html
Таблицы HtmlТаблицы Html
Таблицы HtmlVasya Petrov
 
Show vs. Tell in UX Design (Front in Amsterdam)
Show vs. Tell in UX Design (Front in Amsterdam)Show vs. Tell in UX Design (Front in Amsterdam)
Show vs. Tell in UX Design (Front in Amsterdam)Zoe Gillenwater
 
решение основной проблемы Agile (scrum) проектов в контексте ba
решение основной проблемы Agile (scrum) проектов в контексте baрешение основной проблемы Agile (scrum) проектов в контексте ba
решение основной проблемы Agile (scrum) проектов в контексте baISsoft
 
Custom Post Type and Taxonomies in WordPress 3.x
Custom Post Type and Taxonomies in WordPress 3.xCustom Post Type and Taxonomies in WordPress 3.x
Custom Post Type and Taxonomies in WordPress 3.xAmit Kumar Singh
 
CSS Lessons Learned the Hard Way (ConvergeSE)
CSS Lessons Learned the Hard Way (ConvergeSE)CSS Lessons Learned the Hard Way (ConvergeSE)
CSS Lessons Learned the Hard Way (ConvergeSE)Zoe Gillenwater
 
Organisation and navigation
Organisation and navigationOrganisation and navigation
Organisation and navigationLon Barfield
 
17. основы css (cascading style sheets)
17. основы css (cascading style sheets)17. основы css (cascading style sheets)
17. основы css (cascading style sheets)Sergei Dubrov
 

Destaque (20)

Developing accessible android applications
Developing accessible android applicationsDeveloping accessible android applications
Developing accessible android applications
 
Сергей Бережной "Про шаблонизаторы вообще и BEMHTML в частности"
Сергей Бережной "Про шаблонизаторы вообще и BEMHTML в частности"Сергей Бережной "Про шаблонизаторы вообще и BEMHTML в частности"
Сергей Бережной "Про шаблонизаторы вообще и BEMHTML в частности"
 
Верстка_Лекция1
Верстка_Лекция1Верстка_Лекция1
Верстка_Лекция1
 
Css part2
Css part2Css part2
Css part2
 
WordPress as Rapid Prototyping Tool
WordPress as Rapid Prototyping ToolWordPress as Rapid Prototyping Tool
WordPress as Rapid Prototyping Tool
 
Uwe usability evaluation
Uwe usability evaluationUwe usability evaluation
Uwe usability evaluation
 
6. таблицы и другие теги html
6. таблицы и другие теги html6. таблицы и другие теги html
6. таблицы и другие теги html
 
How Joomla Works
How Joomla WorksHow Joomla Works
How Joomla Works
 
Тестирование требований
Тестирование требованийТестирование требований
Тестирование требований
 
Images and Tables in HTML
Images and Tables in HTMLImages and Tables in HTML
Images and Tables in HTML
 
Введение в веб-проектирование
Введение в веб-проектированиеВведение в веб-проектирование
Введение в веб-проектирование
 
Getting Started With Php Frameworks @BCP5
Getting Started With Php Frameworks @BCP5Getting Started With Php Frameworks @BCP5
Getting Started With Php Frameworks @BCP5
 
Таблицы Html
Таблицы HtmlТаблицы Html
Таблицы Html
 
Box Model
Box ModelBox Model
Box Model
 
Show vs. Tell in UX Design (Front in Amsterdam)
Show vs. Tell in UX Design (Front in Amsterdam)Show vs. Tell in UX Design (Front in Amsterdam)
Show vs. Tell in UX Design (Front in Amsterdam)
 
решение основной проблемы Agile (scrum) проектов в контексте ba
решение основной проблемы Agile (scrum) проектов в контексте baрешение основной проблемы Agile (scrum) проектов в контексте ba
решение основной проблемы Agile (scrum) проектов в контексте ba
 
Custom Post Type and Taxonomies in WordPress 3.x
Custom Post Type and Taxonomies in WordPress 3.xCustom Post Type and Taxonomies in WordPress 3.x
Custom Post Type and Taxonomies in WordPress 3.x
 
CSS Lessons Learned the Hard Way (ConvergeSE)
CSS Lessons Learned the Hard Way (ConvergeSE)CSS Lessons Learned the Hard Way (ConvergeSE)
CSS Lessons Learned the Hard Way (ConvergeSE)
 
Organisation and navigation
Organisation and navigationOrganisation and navigation
Organisation and navigation
 
17. основы css (cascading style sheets)
17. основы css (cascading style sheets)17. основы css (cascading style sheets)
17. основы css (cascading style sheets)
 

Semelhante a ACSS: Rethinking CSS Best Practices

Object-Oriented CSS 從 OOCSS, SMACSS, BEM 到 AMCSS
Object-Oriented CSS 從 OOCSS, SMACSS, BEM 到 AMCSSObject-Oriented CSS 從 OOCSS, SMACSS, BEM 到 AMCSS
Object-Oriented CSS 從 OOCSS, SMACSS, BEM 到 AMCSSLi-Wei Lu
 
Slow kinda sucks
Slow kinda sucksSlow kinda sucks
Slow kinda sucksTim Wright
 
モダンなCSS設計パターンを考える
モダンなCSS設計パターンを考えるモダンなCSS設計パターンを考える
モダンなCSS設計パターンを考える拓樹 谷
 
Css for Development
Css for DevelopmentCss for Development
Css for Developmenttsengsite
 
CSS framework By Palash
CSS framework By PalashCSS framework By Palash
CSS framework By PalashPalashBajpai
 
TOSSUG HTML5 讀書會 新標籤與表單
TOSSUG HTML5 讀書會 新標籤與表單TOSSUG HTML5 讀書會 新標籤與表單
TOSSUG HTML5 讀書會 新標籤與表單偉格 高
 
モダンなCSS設計パターンを考える
モダンなCSS設計パターンを考えるモダンなCSS設計パターンを考える
モダンなCSS設計パターンを考える拓樹 谷
 
Introduction to CSS Grid
Introduction to CSS GridIntroduction to CSS Grid
Introduction to CSS GridKara Luton
 
CSS Grid Changes Everything About Web Layouts: WordCamp Europe 2017
CSS Grid Changes Everything About Web Layouts: WordCamp Europe 2017CSS Grid Changes Everything About Web Layouts: WordCamp Europe 2017
CSS Grid Changes Everything About Web Layouts: WordCamp Europe 2017Morten Rand-Hendriksen
 
How to Prepare a WordPress Theme for Public Release
How to Prepare a WordPress Theme for Public ReleaseHow to Prepare a WordPress Theme for Public Release
How to Prepare a WordPress Theme for Public ReleaseDavid Yeiser
 
Stop reinventing the wheel: Build Responsive Websites Using Bootstrap
Stop reinventing the wheel: Build Responsive Websites Using BootstrapStop reinventing the wheel: Build Responsive Websites Using Bootstrap
Stop reinventing the wheel: Build Responsive Websites Using Bootstrapfreshlybakedpixels
 
Component Driven Design and Development
Component Driven Design and DevelopmentComponent Driven Design and Development
Component Driven Design and DevelopmentCristina Chumillas
 
Diazo: Bridging Designers and Programmers
Diazo: Bridging Designers and ProgrammersDiazo: Bridging Designers and Programmers
Diazo: Bridging Designers and ProgrammersTsungWei Hu
 
CSS Frameworks
CSS FrameworksCSS Frameworks
CSS FrameworksMike Crabb
 
Create rich web stories with Drupal 8 and paragraphs
Create rich web stories with Drupal 8 and paragraphsCreate rich web stories with Drupal 8 and paragraphs
Create rich web stories with Drupal 8 and paragraphsTassos Koutlas
 
[HEWEBAR 2012] Beyond Desktop Browsing (HTML5)
[HEWEBAR 2012] Beyond Desktop Browsing (HTML5)[HEWEBAR 2012] Beyond Desktop Browsing (HTML5)
[HEWEBAR 2012] Beyond Desktop Browsing (HTML5)Christopher Schmitt
 

Semelhante a ACSS: Rethinking CSS Best Practices (20)

Object-Oriented CSS 從 OOCSS, SMACSS, BEM 到 AMCSS
Object-Oriented CSS 從 OOCSS, SMACSS, BEM 到 AMCSSObject-Oriented CSS 從 OOCSS, SMACSS, BEM 到 AMCSS
Object-Oriented CSS 從 OOCSS, SMACSS, BEM 到 AMCSS
 
Slow kinda sucks
Slow kinda sucksSlow kinda sucks
Slow kinda sucks
 
モダンなCSS設計パターンを考える
モダンなCSS設計パターンを考えるモダンなCSS設計パターンを考える
モダンなCSS設計パターンを考える
 
Css for Development
Css for DevelopmentCss for Development
Css for Development
 
CSS framework By Palash
CSS framework By PalashCSS framework By Palash
CSS framework By Palash
 
TOSSUG HTML5 讀書會 新標籤與表單
TOSSUG HTML5 讀書會 新標籤與表單TOSSUG HTML5 讀書會 新標籤與表單
TOSSUG HTML5 讀書會 新標籤與表單
 
SMACSS Workshop
SMACSS WorkshopSMACSS Workshop
SMACSS Workshop
 
モダンなCSS設計パターンを考える
モダンなCSS設計パターンを考えるモダンなCSS設計パターンを考える
モダンなCSS設計パターンを考える
 
Introduction to CSS Grid
Introduction to CSS GridIntroduction to CSS Grid
Introduction to CSS Grid
 
CSS Grid Changes Everything About Web Layouts: WordCamp Europe 2017
CSS Grid Changes Everything About Web Layouts: WordCamp Europe 2017CSS Grid Changes Everything About Web Layouts: WordCamp Europe 2017
CSS Grid Changes Everything About Web Layouts: WordCamp Europe 2017
 
How to Prepare a WordPress Theme for Public Release
How to Prepare a WordPress Theme for Public ReleaseHow to Prepare a WordPress Theme for Public Release
How to Prepare a WordPress Theme for Public Release
 
Bootstrap
BootstrapBootstrap
Bootstrap
 
Stop reinventing the wheel: Build Responsive Websites Using Bootstrap
Stop reinventing the wheel: Build Responsive Websites Using BootstrapStop reinventing the wheel: Build Responsive Websites Using Bootstrap
Stop reinventing the wheel: Build Responsive Websites Using Bootstrap
 
Critical Rendering Path
Critical Rendering PathCritical Rendering Path
Critical Rendering Path
 
HTML5 & CSS3 Flag
HTML5 & CSS3 FlagHTML5 & CSS3 Flag
HTML5 & CSS3 Flag
 
Component Driven Design and Development
Component Driven Design and DevelopmentComponent Driven Design and Development
Component Driven Design and Development
 
Diazo: Bridging Designers and Programmers
Diazo: Bridging Designers and ProgrammersDiazo: Bridging Designers and Programmers
Diazo: Bridging Designers and Programmers
 
CSS Frameworks
CSS FrameworksCSS Frameworks
CSS Frameworks
 
Create rich web stories with Drupal 8 and paragraphs
Create rich web stories with Drupal 8 and paragraphsCreate rich web stories with Drupal 8 and paragraphs
Create rich web stories with Drupal 8 and paragraphs
 
[HEWEBAR 2012] Beyond Desktop Browsing (HTML5)
[HEWEBAR 2012] Beyond Desktop Browsing (HTML5)[HEWEBAR 2012] Beyond Desktop Browsing (HTML5)
[HEWEBAR 2012] Beyond Desktop Browsing (HTML5)
 

Último

JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...amber724300
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxAna-Maria Mihalceanu
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...BookNet Canada
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sectoritnewsafrica
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentMahmoud Rabie
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 

Último (20)

JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance Toolbox
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career Development
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 

ACSS: Rethinking CSS Best Practices