SlideShare uma empresa Scribd logo
1 de 115
Baixar para ler offline
Perché odio
                        i temi di WordPress
                                    di MATTEO CAVUCCI




                            WORDCAMP BOLOGNA - 9 FEBBRAIO 2013
                                @WORDCAMPBOLOGNA # WPCAMPBO13




lunedì 11 febbraio 13
È bello lavorare con
                        Wordpress


lunedì 11 febbraio 13
Perché è...




lunedì 11 febbraio 13
Perché è...

                        • Intuitivo




lunedì 11 febbraio 13
Perché è...

                        • Intuitivo
                        • Ben documentato




lunedì 11 febbraio 13
Perché è...

                        • Intuitivo
                        • Ben documentato
                        • Supportato dalla community




lunedì 11 febbraio 13
Drupal   Joomla   Wordpress   Altri




                                                       fonte: w3tech.com




lunedì 11 febbraio 13
Drupal      Joomla       Wordpress   Altri



                                             Drupal
                                              7% Joomla
                                 Altri
                                 27%               9%




                                             Wordpress
                                               57%

                                                              fonte: w3tech.com




lunedì 11 febbraio 13
Anche i clienti
                        amano WordPress


lunedì 11 febbraio 13
Perché è...




lunedì 11 febbraio 13
Perché è...


                        • Facile




lunedì 11 febbraio 13
Perché è...


                        • Facile
                        • Diffuso




lunedì 11 febbraio 13
Perché è...


                        • Facile
                        • Diffuso
                        • Conveniente




lunedì 11 febbraio 13
Strumenti specializzati utili agli
                           obiettivi di comunicazione
                                  del progetto




lunedì 11 febbraio 13
Strumenti specializzati utili agli
                           obiettivi di comunicazione
                                  del progetto




lunedì 11 febbraio 13
Strumenti specializzati utili agli
                           obiettivi di comunicazione
                                  del progetto




lunedì 11 febbraio 13
Prodotti che sono...




lunedì 11 febbraio 13
Prodotti che sono...


                        • Efficaci




lunedì 11 febbraio 13
Prodotti che sono...


                        • Efficaci
                        • Flessibili




lunedì 11 febbraio 13
Prodotti che sono...


                        • Efficaci
                        • Flessibili
                        • Economici




lunedì 11 febbraio 13
Questo è il mio
                          problema.


lunedì 11 febbraio 13
Matteo Cavucci

                        • 30 anni
                        • Developer
                        • Front-end


lunedì 11 febbraio 13
• Studio di progettazione
                        • Roma
                        • Enti&aziende


                        mced.it



lunedì 11 febbraio 13
lunedì 11 febbraio 13
Nessuno è ancorato al proprio ruolo.
lunedì 11 febbraio 13
lunedì 11 febbraio 13
Non reinventare
      la ruota.




lunedì 11 febbraio 13
lunedì 11 febbraio 13
• Cerca un theme
                          (e cerca di capire se è buono...)




lunedì 11 febbraio 13
• Cerca un theme
                          (e cerca di capire se è buono...)

                        • Decodifica



lunedì 11 febbraio 13
• Cerca un theme
                          (e cerca di capire se è buono...)

                        • Decodifica
                        • Customizza


lunedì 11 febbraio 13
Adattare il
                        contenuto al thema


lunedì 11 febbraio 13
lunedì 11 febbraio 13
Framework themes




lunedì 11 febbraio 13
Framework themes




lunedì 11 febbraio 13
Framework themes




lunedì 11 febbraio 13
Framework themes




lunedì 11 febbraio 13
Framework themes




lunedì 11 febbraio 13
Gli svantaggi




lunedì 11 febbraio 13
Gli svantaggi



                        • Costano




lunedì 11 febbraio 13
200
                            US$ 197,00
                                                                  US$ 174,00
                150                      US$ 164,00

                                                                               US$ 127,00
                100

                   50                                 US$ 59,95


                        0
                            Pagelines     Thesis      Genesis     Headway      Catalyst




lunedì 11 febbraio 13
Gli svantaggi


                        • Costano
                        • Curva di apprendimento ripida




lunedì 11 febbraio 13
lunedì 11 febbraio 13
Genesis


             add_action( 'genesis_meta',
             'load_fonts', 5);
             function load_fonts() {
                echo '<link rel="stylesheet"
             type="text/css" href="http://
             fonts.googleapis.com/css?
             family=Lora|Oswald"
             media="screen">';
             }




lunedì 11 febbraio 13
Genesis                     WordPress


                                               function load_fonts() {
             add_action( 'genesis_meta',
                                                          
             'load_fonts', 5);
                                               wp_register_style('googleFonts',
             function load_fonts() {
                                               'http://fonts.googleapis.com/css?
                echo '<link rel="stylesheet"
                                               family=Lora|Oswald');
             type="text/css" href="http://
                                                          
             fonts.googleapis.com/css?
                                               wp_enqueue_style( 'googleFonts');
             family=Lora|Oswald"
                                                      }
             media="screen">';
                                                  add_action('wp_print_styles',
             }
                                               'load_fonts');




lunedì 11 febbraio 13
Gli svantaggi


                        • Costano
                        • Curva di apprendimento ripida
                        • Un sacco di roba inutile




lunedì 11 febbraio 13
Framework              PageSize
                         iThemes (Builder)       299kb


                             Headway             1.1 mb


                              Genesis            1.1 mb


                        Catalyst (w/Dynamik)     1.6 mb


                        WooThemes (Canvas)       1.7 mb


                             Ultimatum           1.8 mb


                             Pagelines           5.2 mb




lunedì 11 febbraio 13
Framework              LoadTime
                             Headway             226 ms

                                                 964 ms
                              Genesis

                                                 992 ms
                        WooThemes (Canvas)

                                                  1.2 s
                        Catalyst (w/Dynamik)

                                                 1.22 s
                             Ultimatum

                                                 1.26 s
                         iThemes (Builder)

                             Pagelines           5.18 s




lunedì 11 febbraio 13
Un altro livello di complessità
                   tra il progetto e WordPress




lunedì 11 febbraio 13
lunedì 11 febbraio 13
Ecco perché
                        io odio i themi di
                            WordPress


lunedì 11 febbraio 13
lunedì 11 febbraio 13
Ripartiamo!
                 Mi serve uno strumento che sia...




lunedì 11 febbraio 13
Ripartiamo!
                 Mi serve uno strumento che sia...


                        • Efficace




lunedì 11 febbraio 13
Ripartiamo!
                 Mi serve uno strumento che sia...


                        • Efficace
                        • Flessibile




lunedì 11 febbraio 13
Ripartiamo!
                 Mi serve uno strumento che sia...


                        • Efficace
                        • Flessibile
                        • Economico




lunedì 11 febbraio 13
•i



lunedì 11 febbraio 13
Separare
                        Funzioni       View
                         (Plugin)      (Themes)




lunedì 11 febbraio 13
Framework
                         Front-End



lunedì 11 febbraio 13
Zurb Foundation



lunedì 11 febbraio 13
Foundation è un framework (con
                          licenza MIT) che comprende




lunedì 11 febbraio 13
Foundation è un framework (con
                          licenza MIT) che comprende


                        •   Una griglia responsive nidificabile agnostic device




lunedì 11 febbraio 13
Foundation è un framework (con
                          licenza MIT) che comprende


                        •   Una griglia responsive nidificabile agnostic device

                        •   Stili mobile, bottoni e tipografia




lunedì 11 febbraio 13
Foundation è un framework (con
                          licenza MIT) che comprende


                        •   Una griglia responsive nidificabile agnostic device

                        •   Stili mobile, bottoni e tipografia

                        •   Elementi di layout come tabs e pagination




lunedì 11 febbraio 13
Foundation è un framework (con
                          licenza MIT) che comprende


                        •   Una griglia responsive nidificabile agnostic device

                        •   Stili mobile, bottoni e tipografia

                        •   Elementi di layout come tabs e pagination

                        •   Forms




lunedì 11 febbraio 13
Foundation è un framework (con
                          licenza MIT) che comprende


                        •   Una griglia responsive nidificabile agnostic device

                        •   Stili mobile, bottoni e tipografia

                        •   Elementi di layout come tabs e pagination

                        •   Forms

                        •   Plugin Javascript




lunedì 11 febbraio 13
Da dove viene Foundation




lunedì 11 febbraio 13
Da dove viene Foundation




                        •   Zurb - product design in Campbell, California




lunedì 11 febbraio 13
Da dove viene Foundation




                        •   Zurb - product design in Campbell, California

                        •   Nato per creare rapidamente prototipi html/css




lunedì 11 febbraio 13
Da dove viene Foundation




                        •   Zurb - product design in Campbell, California

                        •   Nato per creare rapidamente prototipi html/css

                        •   Progettato per diventare codice di produzione




lunedì 11 febbraio 13
Mi piace perché...




lunedì 11 febbraio 13
Mi piace perché...


                        • Linguaggio semantico




lunedì 11 febbraio 13
lunedì 11 febbraio 13
lunedì 11 febbraio 13
Mi piace perché...


                        • Linguaggio semantico
                        • Object oriented css




lunedì 11 febbraio 13
Separare struttura e skin
                 Ripetere caratteristiche visive
                 (background e stili border) come
                 skin separate che si possono
                 aggiungere ed espandere tra loro
                 per ottenere molta varietà
                 con poco codice.


lunedì 11 febbraio 13
Separare container e
                 content
                 Usare poco stili dipendenti
                 dalla posizione.
                 Un oggetto deve mantenere
                 le proprie caratteristiche,
                 non importa dove lo mettiamo.


lunedì 11 febbraio 13
Mi piace perché...

                        • Linguaggio semantico
                        • Object oriented css
                        • Sass/Compass ready




lunedì 11 febbraio 13
Sass
                 Syntactically Awesome Stylesheets




lunedì 11 febbraio 13
Sass
                 Syntactically Awesome Stylesheets




                        • Nidificazione




lunedì 11 febbraio 13
Nidificazione




lunedì 11 febbraio 13
Nidificazione
             /* style.scss */

             #navbar {
               width: 80%;
               height: 23px;

                 ul { list-style-type: none; }
                 li {
                   float: left;
                   a { font-weight: bold; }
                 }
             }




lunedì 11 febbraio 13
Nidificazione
             /* style.scss */                    /* style.css */

             #navbar {                           #navbar {
               width: 80%;                         width: 80%;
               height: 23px;                       height: 23px; }
                                                   #navbar ul {
                 ul { list-style-type: none; }       list-style-type: none; }
                 li {                              #navbar li {
                   float: left;                      float: left; }
                   a { font-weight: bold; }          #navbar li a {
                 }                                     font-weight: bold; }
             }




lunedì 11 febbraio 13
Sass
                 Syntactically Awesome Stylesheets




lunedì 11 febbraio 13
Sass
                 Syntactically Awesome Stylesheets



                        • Nidificazione
                        • Variabili




lunedì 11 febbraio 13
Variabili




lunedì 11 febbraio 13
Variabili
             /* style.scss */

             $main-color: #ce4dd6;
             $style: solid;

             #navbar {
               border-bottom: {
                 color: $main-color;
                 style: $style;
               }
             }

             a {
               color: $main-color;
               &:hover { border-bottom: $style
             1px; }
             }




lunedì 11 febbraio 13
Variabili
             /* style.scss */

             $main-color: #ce4dd6;
             $style: solid;
                                                 /* style.css */
             #navbar {
                                                 #navbar {
               border-bottom: {
                                                   border-bottom-color: #ce4dd6;
                 color: $main-color;
                                                   border-bottom-style: solid; }
                 style: $style;
               }
                                                 a {
             }
                                                   color: #ce4dd6; }
                                                   a:hover {
             a {
                                                     border-bottom: solid 1px; }
               color: $main-color;
               &:hover { border-bottom: $style
             1px; }
             }




lunedì 11 febbraio 13
Sass
                 Syntactically Awesome Stylesheets




lunedì 11 febbraio 13
Sass
                 Syntactically Awesome Stylesheets



                        • Nidificazione
                        • Variabili
                        • Mixin




lunedì 11 febbraio 13
Mixin




lunedì 11 febbraio 13
Mixin
             /* style.scss */

             @mixin rounded-top-left {
               $vert: top;
               $horz: left;
               $radius: 10px;

               border-#{$vert}-#{$horz}-
             radius: $radius;
               -moz-border-radius-#{$vert}
             #{$horz}: $radius;
               -webkit-border-#{$vert}-
             #{$horz}-radius: $radius;
             }

             #navbar li { @include rounded-
             top-left; }
             #footer { @include rounded-top-
             left; }




lunedì 11 febbraio 13
Mixin
             /* style.scss */
                                                /* style.css */
             @mixin rounded-top-left {
               $vert: top;
                                                #navbar li {
               $horz: left;
                                                  border-top-left-radius: 10px;
               $radius: 10px;
                                                  -moz-border-radius-topleft:
                                                10px;
               border-#{$vert}-#{$horz}-
                                                  -webkit-border-top-left-radius:
             radius: $radius;
                                                10px; }
               -moz-border-radius-#{$vert}
             #{$horz}: $radius;
                                                #footer {
               -webkit-border-#{$vert}-
                                                  border-top-left-radius: 10px;
             #{$horz}-radius: $radius;
                                                  -moz-border-radius-topleft:
             }
                                                10px;
                                                  -webkit-border-top-left-radius:
             #navbar li { @include rounded-
                                                10px; }
             top-left; }
             #footer { @include rounded-top-
             left; }




lunedì 11 febbraio 13
Sass
                 Syntactically Awesome Stylesheets

                        • Nidificazione
                        • Variabili
                        • Mixin
                        • Controll directive: @if, @for, @each,
                          @while



lunedì 11 febbraio 13
Control Directives




lunedì 11 febbraio 13
Control Directives

             $class-slug: for !default

             @for $i from 1 through 4
               .#{$class-slug}-#{$i}
                 width: 60px + $i




lunedì 11 febbraio 13
Control Directives
                                         .for-1 {
                                           width: 61px;
                                         }

                                         .for-2 {
             $class-slug: for !default     width: 62px;
                                         }
             @for $i from 1 through 4
               .#{$class-slug}-#{$i}     .for-3 {
                 width: 60px + $i          width: 63px;
                                         }

                                         .for-4 {
                                           width: 64px;
                                         }




lunedì 11 febbraio 13
Da dove si comicia?



lunedì 11 febbraio 13
Da dove si comicia?
                          Riga di comando!




lunedì 11 febbraio 13
Installo Foundation via Ruby gem




lunedì 11 febbraio 13
Installo Foundation via Ruby gem
                  [sudo] gem install zurb-foundation




lunedì 11 febbraio 13
Installo Foundation via Ruby gem
                  [sudo] gem install zurb-foundation




                 Creiamo il progetto!




lunedì 11 febbraio 13
Installo Foundation via Ruby gem
                  [sudo] gem install zurb-foundation




                 Creiamo il progetto!
                  compass create <nomeprogetto> -r zurb-foundation --using foundation




lunedì 11 febbraio 13
Struttura del folder




lunedì 11 febbraio 13
Struttura del folder

             WordpCamp/

                   sass-cache/
                   config.rb
                   humans.txt
                   images/
                   index.html
                   javascript/
                   MIT-LICENSE.txt
                   robots.txt
                   sass/
                   stylesheets/




lunedì 11 febbraio 13
Struttura del folder
                                     @import "foundation/components/
                                     modules/buttons";
                                     // @import "foundation/
             WordpCamp/
                                     components/modules/tabs";
                                     // @import "foundation/
                   sass-cache/
                                     components/modules/ui";
                   config.rb
                                     @import "foundation/components/
                   humans.txt
                                     modules/topbar";
                   images/
                                     // @import "foundation/
                   index.html
                                     components/modules/navbar";
                   javascript/
                                     // @import "foundation/
                   MIT-LICENSE.txt
                                     components/modules/orbit";
                   robots.txt
                                     @import "foundation/components/
                   sass/
                                     modules/reveal";
                   stylesheets/
                                     // @import "foundation/
                                     components/modules/offcanvas";




lunedì 11 febbraio 13
Framework
                         è metodo



lunedì 11 febbraio 13
Grazie al metodo ho




lunedì 11 febbraio 13
Grazie al metodo ho

                        • Codice coerente




lunedì 11 febbraio 13
Grazie al metodo ho

                        • Codice coerente
                        • Codice scalabile e modulare




lunedì 11 febbraio 13
Grazie al metodo ho

                        • Codice coerente
                        • Codice scalabile e modulare
                        • Consegne brevi




lunedì 11 febbraio 13
Grazie al metodo ho

                        • Codice coerente
                        • Codice scalabile e modulare
                        • Consegne brevi
                        • Formazione extra WordPress




lunedì 11 febbraio 13
Grazie al metodo ho

                        • Codice coerente
                        • Codice scalabile e modulare
                        • Consegne brevi
                        • Formazione extra WordPress
                        • Prodotti efficaci, flessibili ed
                          economici


lunedì 11 febbraio 13
“          Child themes and
                a framework are
                the only way you
                should build your
                WordPress site.

                Matt Mullenweg
                Founder, WordPress




lunedì 11 febbraio 13
Grazie!

                           Io sono Matteo Cavucci e questo intervento si chiama

                        “Perché odio i temi di WordPress”
                                        mced.it - @MatteoMCED


lunedì 11 febbraio 13

Mais conteúdo relacionado

Destaque

UX laws - How to design a great user experience
UX laws - How to design a great user experienceUX laws - How to design a great user experience
UX laws - How to design a great user experienceLuca Mascaro
 
Best Practices Mobile Web: Il "Tap" è il nuovo "Click" @ Wordcamp Bologna
Best Practices Mobile Web: Il "Tap" è il nuovo "Click" @ Wordcamp BolognaBest Practices Mobile Web: Il "Tap" è il nuovo "Click" @ Wordcamp Bologna
Best Practices Mobile Web: Il "Tap" è il nuovo "Click" @ Wordcamp BolognaLuca Degli Esposti
 
WordPress Development Tools and Best Practices
WordPress Development Tools and Best PracticesWordPress Development Tools and Best Practices
WordPress Development Tools and Best PracticesDanilo Ercoli
 
Wordpress e la gestione di progetti complessi
Wordpress e la gestione di progetti complessiWordpress e la gestione di progetti complessi
Wordpress e la gestione di progetti complessiMaurizio Pelizzone
 
5 consigli SEO da tenere a mente durante lo sviluppo di temi e plugin @ WpCam...
5 consigli SEO da tenere a mente durante lo sviluppo di temi e plugin @ WpCam...5 consigli SEO da tenere a mente durante lo sviluppo di temi e plugin @ WpCam...
5 consigli SEO da tenere a mente durante lo sviluppo di temi e plugin @ WpCam...Andrea Cardinali
 
50 tips su Web  Performance Optimization per siti ad alto traffico @ WpCamp B...
50 tips su Web  Performance Optimization per siti ad alto traffico @ WpCamp B...50 tips su Web  Performance Optimization per siti ad alto traffico @ WpCamp B...
50 tips su Web  Performance Optimization per siti ad alto traffico @ WpCamp B...Andrea Cardinali
 
Creare temi custom con _s, Bootstrap e LESS
Creare temi custom con _s, Bootstrap e LESSCreare temi custom con _s, Bootstrap e LESS
Creare temi custom con _s, Bootstrap e LESSPiero Bellomo
 
Sfruttare il Potenziale Nativo di WordPress - WordCamp Bologna 2013
Sfruttare il Potenziale Nativo di WordPress - WordCamp Bologna 2013Sfruttare il Potenziale Nativo di WordPress - WordCamp Bologna 2013
Sfruttare il Potenziale Nativo di WordPress - WordCamp Bologna 2013Giuliano Ambrosio
 

Destaque (9)

UX laws - How to design a great user experience
UX laws - How to design a great user experienceUX laws - How to design a great user experience
UX laws - How to design a great user experience
 
Best Practices Mobile Web: Il "Tap" è il nuovo "Click" @ Wordcamp Bologna
Best Practices Mobile Web: Il "Tap" è il nuovo "Click" @ Wordcamp BolognaBest Practices Mobile Web: Il "Tap" è il nuovo "Click" @ Wordcamp Bologna
Best Practices Mobile Web: Il "Tap" è il nuovo "Click" @ Wordcamp Bologna
 
WordPress Development Tools and Best Practices
WordPress Development Tools and Best PracticesWordPress Development Tools and Best Practices
WordPress Development Tools and Best Practices
 
Wordpress e la gestione di progetti complessi
Wordpress e la gestione di progetti complessiWordpress e la gestione di progetti complessi
Wordpress e la gestione di progetti complessi
 
Redesign design
Redesign designRedesign design
Redesign design
 
5 consigli SEO da tenere a mente durante lo sviluppo di temi e plugin @ WpCam...
5 consigli SEO da tenere a mente durante lo sviluppo di temi e plugin @ WpCam...5 consigli SEO da tenere a mente durante lo sviluppo di temi e plugin @ WpCam...
5 consigli SEO da tenere a mente durante lo sviluppo di temi e plugin @ WpCam...
 
50 tips su Web  Performance Optimization per siti ad alto traffico @ WpCamp B...
50 tips su Web  Performance Optimization per siti ad alto traffico @ WpCamp B...50 tips su Web  Performance Optimization per siti ad alto traffico @ WpCamp B...
50 tips su Web  Performance Optimization per siti ad alto traffico @ WpCamp B...
 
Creare temi custom con _s, Bootstrap e LESS
Creare temi custom con _s, Bootstrap e LESSCreare temi custom con _s, Bootstrap e LESS
Creare temi custom con _s, Bootstrap e LESS
 
Sfruttare il Potenziale Nativo di WordPress - WordCamp Bologna 2013
Sfruttare il Potenziale Nativo di WordPress - WordCamp Bologna 2013Sfruttare il Potenziale Nativo di WordPress - WordCamp Bologna 2013
Sfruttare il Potenziale Nativo di WordPress - WordCamp Bologna 2013
 

Mais de matteo cavucci

Orchestrating experiments at scale
Orchestrating experiments at scaleOrchestrating experiments at scale
Orchestrating experiments at scalematteo cavucci
 
The right stuff - Orchestrating experiments at scale
The right stuff - Orchestrating experiments at scaleThe right stuff - Orchestrating experiments at scale
The right stuff - Orchestrating experiments at scalematteo cavucci
 
Redesign Design (duo version)
Redesign Design (duo version)Redesign Design (duo version)
Redesign Design (duo version)matteo cavucci
 
As user, I hate user stories
As user, I hate user storiesAs user, I hate user stories
As user, I hate user storiesmatteo cavucci
 
NIAGARA! - a practical guide to surviving the css
NIAGARA! - a practical guide to surviving the cssNIAGARA! - a practical guide to surviving the css
NIAGARA! - a practical guide to surviving the cssmatteo cavucci
 

Mais de matteo cavucci (7)

Orchestrating experiments at scale
Orchestrating experiments at scaleOrchestrating experiments at scale
Orchestrating experiments at scale
 
The right stuff - Orchestrating experiments at scale
The right stuff - Orchestrating experiments at scaleThe right stuff - Orchestrating experiments at scale
The right stuff - Orchestrating experiments at scale
 
Redesign design V2.0
Redesign design V2.0Redesign design V2.0
Redesign design V2.0
 
Redesign Design (duo version)
Redesign Design (duo version)Redesign Design (duo version)
Redesign Design (duo version)
 
As user, I hate user stories
As user, I hate user storiesAs user, I hate user stories
As user, I hate user stories
 
Better user stories
Better user storiesBetter user stories
Better user stories
 
NIAGARA! - a practical guide to surviving the css
NIAGARA! - a practical guide to surviving the cssNIAGARA! - a practical guide to surviving the css
NIAGARA! - a practical guide to surviving the css
 

Perché odio i temi di WordPress

  • 1. Perché odio i temi di WordPress di MATTEO CAVUCCI WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13 lunedì 11 febbraio 13
  • 2. È bello lavorare con Wordpress lunedì 11 febbraio 13
  • 4. Perché è... • Intuitivo lunedì 11 febbraio 13
  • 5. Perché è... • Intuitivo • Ben documentato lunedì 11 febbraio 13
  • 6. Perché è... • Intuitivo • Ben documentato • Supportato dalla community lunedì 11 febbraio 13
  • 7. Drupal Joomla Wordpress Altri fonte: w3tech.com lunedì 11 febbraio 13
  • 8. Drupal Joomla Wordpress Altri Drupal 7% Joomla Altri 27% 9% Wordpress 57% fonte: w3tech.com lunedì 11 febbraio 13
  • 9. Anche i clienti amano WordPress lunedì 11 febbraio 13
  • 11. Perché è... • Facile lunedì 11 febbraio 13
  • 12. Perché è... • Facile • Diffuso lunedì 11 febbraio 13
  • 13. Perché è... • Facile • Diffuso • Conveniente lunedì 11 febbraio 13
  • 14. Strumenti specializzati utili agli obiettivi di comunicazione del progetto lunedì 11 febbraio 13
  • 15. Strumenti specializzati utili agli obiettivi di comunicazione del progetto lunedì 11 febbraio 13
  • 16. Strumenti specializzati utili agli obiettivi di comunicazione del progetto lunedì 11 febbraio 13
  • 18. Prodotti che sono... • Efficaci lunedì 11 febbraio 13
  • 19. Prodotti che sono... • Efficaci • Flessibili lunedì 11 febbraio 13
  • 20. Prodotti che sono... • Efficaci • Flessibili • Economici lunedì 11 febbraio 13
  • 21. Questo è il mio problema. lunedì 11 febbraio 13
  • 22. Matteo Cavucci • 30 anni • Developer • Front-end lunedì 11 febbraio 13
  • 23. • Studio di progettazione • Roma • Enti&aziende mced.it lunedì 11 febbraio 13
  • 25. Nessuno è ancorato al proprio ruolo. lunedì 11 febbraio 13
  • 27. Non reinventare la ruota. lunedì 11 febbraio 13
  • 29. • Cerca un theme (e cerca di capire se è buono...) lunedì 11 febbraio 13
  • 30. • Cerca un theme (e cerca di capire se è buono...) • Decodifica lunedì 11 febbraio 13
  • 31. • Cerca un theme (e cerca di capire se è buono...) • Decodifica • Customizza lunedì 11 febbraio 13
  • 32. Adattare il contenuto al thema lunedì 11 febbraio 13
  • 40. Gli svantaggi • Costano lunedì 11 febbraio 13
  • 41. 200 US$ 197,00 US$ 174,00 150 US$ 164,00 US$ 127,00 100 50 US$ 59,95 0 Pagelines Thesis Genesis Headway Catalyst lunedì 11 febbraio 13
  • 42. Gli svantaggi • Costano • Curva di apprendimento ripida lunedì 11 febbraio 13
  • 44. Genesis add_action( 'genesis_meta', 'load_fonts', 5); function load_fonts() {    echo '<link rel="stylesheet" type="text/css" href="http:// fonts.googleapis.com/css? family=Lora|Oswald" media="screen">'; } lunedì 11 febbraio 13
  • 45. Genesis WordPress function load_fonts() { add_action( 'genesis_meta',             'load_fonts', 5); wp_register_style('googleFonts', function load_fonts() { 'http://fonts.googleapis.com/css?    echo '<link rel="stylesheet" family=Lora|Oswald'); type="text/css" href="http://             fonts.googleapis.com/css? wp_enqueue_style( 'googleFonts'); family=Lora|Oswald"        } media="screen">';    add_action('wp_print_styles', } 'load_fonts'); lunedì 11 febbraio 13
  • 46. Gli svantaggi • Costano • Curva di apprendimento ripida • Un sacco di roba inutile lunedì 11 febbraio 13
  • 47. Framework PageSize iThemes (Builder) 299kb Headway 1.1 mb Genesis 1.1 mb Catalyst (w/Dynamik) 1.6 mb WooThemes (Canvas) 1.7 mb Ultimatum 1.8 mb Pagelines 5.2 mb lunedì 11 febbraio 13
  • 48. Framework LoadTime Headway 226 ms 964 ms Genesis 992 ms WooThemes (Canvas) 1.2 s Catalyst (w/Dynamik) 1.22 s Ultimatum 1.26 s iThemes (Builder) Pagelines 5.18 s lunedì 11 febbraio 13
  • 49. Un altro livello di complessità tra il progetto e WordPress lunedì 11 febbraio 13
  • 51. Ecco perché io odio i themi di WordPress lunedì 11 febbraio 13
  • 53. Ripartiamo! Mi serve uno strumento che sia... lunedì 11 febbraio 13
  • 54. Ripartiamo! Mi serve uno strumento che sia... • Efficace lunedì 11 febbraio 13
  • 55. Ripartiamo! Mi serve uno strumento che sia... • Efficace • Flessibile lunedì 11 febbraio 13
  • 56. Ripartiamo! Mi serve uno strumento che sia... • Efficace • Flessibile • Economico lunedì 11 febbraio 13
  • 58. Separare Funzioni View (Plugin) (Themes) lunedì 11 febbraio 13
  • 59. Framework Front-End lunedì 11 febbraio 13
  • 61. Foundation è un framework (con licenza MIT) che comprende lunedì 11 febbraio 13
  • 62. Foundation è un framework (con licenza MIT) che comprende • Una griglia responsive nidificabile agnostic device lunedì 11 febbraio 13
  • 63. Foundation è un framework (con licenza MIT) che comprende • Una griglia responsive nidificabile agnostic device • Stili mobile, bottoni e tipografia lunedì 11 febbraio 13
  • 64. Foundation è un framework (con licenza MIT) che comprende • Una griglia responsive nidificabile agnostic device • Stili mobile, bottoni e tipografia • Elementi di layout come tabs e pagination lunedì 11 febbraio 13
  • 65. Foundation è un framework (con licenza MIT) che comprende • Una griglia responsive nidificabile agnostic device • Stili mobile, bottoni e tipografia • Elementi di layout come tabs e pagination • Forms lunedì 11 febbraio 13
  • 66. Foundation è un framework (con licenza MIT) che comprende • Una griglia responsive nidificabile agnostic device • Stili mobile, bottoni e tipografia • Elementi di layout come tabs e pagination • Forms • Plugin Javascript lunedì 11 febbraio 13
  • 67. Da dove viene Foundation lunedì 11 febbraio 13
  • 68. Da dove viene Foundation • Zurb - product design in Campbell, California lunedì 11 febbraio 13
  • 69. Da dove viene Foundation • Zurb - product design in Campbell, California • Nato per creare rapidamente prototipi html/css lunedì 11 febbraio 13
  • 70. Da dove viene Foundation • Zurb - product design in Campbell, California • Nato per creare rapidamente prototipi html/css • Progettato per diventare codice di produzione lunedì 11 febbraio 13
  • 71. Mi piace perché... lunedì 11 febbraio 13
  • 72. Mi piace perché... • Linguaggio semantico lunedì 11 febbraio 13
  • 75. Mi piace perché... • Linguaggio semantico • Object oriented css lunedì 11 febbraio 13
  • 76. Separare struttura e skin Ripetere caratteristiche visive (background e stili border) come skin separate che si possono aggiungere ed espandere tra loro per ottenere molta varietà con poco codice. lunedì 11 febbraio 13
  • 77. Separare container e content Usare poco stili dipendenti dalla posizione. Un oggetto deve mantenere le proprie caratteristiche, non importa dove lo mettiamo. lunedì 11 febbraio 13
  • 78. Mi piace perché... • Linguaggio semantico • Object oriented css • Sass/Compass ready lunedì 11 febbraio 13
  • 79. Sass Syntactically Awesome Stylesheets lunedì 11 febbraio 13
  • 80. Sass Syntactically Awesome Stylesheets • Nidificazione lunedì 11 febbraio 13
  • 82. Nidificazione /* style.scss */ #navbar { width: 80%; height: 23px; ul { list-style-type: none; } li { float: left; a { font-weight: bold; } } } lunedì 11 febbraio 13
  • 83. Nidificazione /* style.scss */ /* style.css */ #navbar { #navbar { width: 80%; width: 80%; height: 23px; height: 23px; } #navbar ul { ul { list-style-type: none; } list-style-type: none; } li { #navbar li { float: left; float: left; } a { font-weight: bold; } #navbar li a { } font-weight: bold; } } lunedì 11 febbraio 13
  • 84. Sass Syntactically Awesome Stylesheets lunedì 11 febbraio 13
  • 85. Sass Syntactically Awesome Stylesheets • Nidificazione • Variabili lunedì 11 febbraio 13
  • 87. Variabili /* style.scss */ $main-color: #ce4dd6; $style: solid; #navbar { border-bottom: { color: $main-color; style: $style; } } a { color: $main-color; &:hover { border-bottom: $style 1px; } } lunedì 11 febbraio 13
  • 88. Variabili /* style.scss */ $main-color: #ce4dd6; $style: solid; /* style.css */ #navbar { #navbar { border-bottom: { border-bottom-color: #ce4dd6; color: $main-color; border-bottom-style: solid; } style: $style; } a { } color: #ce4dd6; } a:hover { a { border-bottom: solid 1px; } color: $main-color; &:hover { border-bottom: $style 1px; } } lunedì 11 febbraio 13
  • 89. Sass Syntactically Awesome Stylesheets lunedì 11 febbraio 13
  • 90. Sass Syntactically Awesome Stylesheets • Nidificazione • Variabili • Mixin lunedì 11 febbraio 13
  • 92. Mixin /* style.scss */ @mixin rounded-top-left { $vert: top; $horz: left; $radius: 10px; border-#{$vert}-#{$horz}- radius: $radius; -moz-border-radius-#{$vert} #{$horz}: $radius; -webkit-border-#{$vert}- #{$horz}-radius: $radius; } #navbar li { @include rounded- top-left; } #footer { @include rounded-top- left; } lunedì 11 febbraio 13
  • 93. Mixin /* style.scss */ /* style.css */ @mixin rounded-top-left { $vert: top; #navbar li { $horz: left; border-top-left-radius: 10px; $radius: 10px; -moz-border-radius-topleft: 10px; border-#{$vert}-#{$horz}- -webkit-border-top-left-radius: radius: $radius; 10px; } -moz-border-radius-#{$vert} #{$horz}: $radius; #footer { -webkit-border-#{$vert}- border-top-left-radius: 10px; #{$horz}-radius: $radius; -moz-border-radius-topleft: } 10px; -webkit-border-top-left-radius: #navbar li { @include rounded- 10px; } top-left; } #footer { @include rounded-top- left; } lunedì 11 febbraio 13
  • 94. Sass Syntactically Awesome Stylesheets • Nidificazione • Variabili • Mixin • Controll directive: @if, @for, @each, @while lunedì 11 febbraio 13
  • 96. Control Directives $class-slug: for !default @for $i from 1 through 4 .#{$class-slug}-#{$i} width: 60px + $i lunedì 11 febbraio 13
  • 97. Control Directives .for-1 { width: 61px; } .for-2 { $class-slug: for !default width: 62px; } @for $i from 1 through 4 .#{$class-slug}-#{$i} .for-3 { width: 60px + $i width: 63px; } .for-4 { width: 64px; } lunedì 11 febbraio 13
  • 98. Da dove si comicia? lunedì 11 febbraio 13
  • 99. Da dove si comicia? Riga di comando! lunedì 11 febbraio 13
  • 100. Installo Foundation via Ruby gem lunedì 11 febbraio 13
  • 101. Installo Foundation via Ruby gem [sudo] gem install zurb-foundation lunedì 11 febbraio 13
  • 102. Installo Foundation via Ruby gem [sudo] gem install zurb-foundation Creiamo il progetto! lunedì 11 febbraio 13
  • 103. Installo Foundation via Ruby gem [sudo] gem install zurb-foundation Creiamo il progetto! compass create <nomeprogetto> -r zurb-foundation --using foundation lunedì 11 febbraio 13
  • 104. Struttura del folder lunedì 11 febbraio 13
  • 105. Struttura del folder WordpCamp/ sass-cache/ config.rb humans.txt images/ index.html javascript/ MIT-LICENSE.txt robots.txt sass/ stylesheets/ lunedì 11 febbraio 13
  • 106. Struttura del folder @import "foundation/components/ modules/buttons"; // @import "foundation/ WordpCamp/ components/modules/tabs"; // @import "foundation/ sass-cache/ components/modules/ui"; config.rb @import "foundation/components/ humans.txt modules/topbar"; images/ // @import "foundation/ index.html components/modules/navbar"; javascript/ // @import "foundation/ MIT-LICENSE.txt components/modules/orbit"; robots.txt @import "foundation/components/ sass/ modules/reveal"; stylesheets/ // @import "foundation/ components/modules/offcanvas"; lunedì 11 febbraio 13
  • 107. Framework è metodo lunedì 11 febbraio 13
  • 108. Grazie al metodo ho lunedì 11 febbraio 13
  • 109. Grazie al metodo ho • Codice coerente lunedì 11 febbraio 13
  • 110. Grazie al metodo ho • Codice coerente • Codice scalabile e modulare lunedì 11 febbraio 13
  • 111. Grazie al metodo ho • Codice coerente • Codice scalabile e modulare • Consegne brevi lunedì 11 febbraio 13
  • 112. Grazie al metodo ho • Codice coerente • Codice scalabile e modulare • Consegne brevi • Formazione extra WordPress lunedì 11 febbraio 13
  • 113. Grazie al metodo ho • Codice coerente • Codice scalabile e modulare • Consegne brevi • Formazione extra WordPress • Prodotti efficaci, flessibili ed economici lunedì 11 febbraio 13
  • 114. Child themes and a framework are the only way you should build your WordPress site. Matt Mullenweg Founder, WordPress lunedì 11 febbraio 13
  • 115. Grazie! Io sono Matteo Cavucci e questo intervento si chiama “Perché odio i temi di WordPress” mced.it - @MatteoMCED lunedì 11 febbraio 13