creare ui semplici, intuitive ed efficaci con la pattern library di contactlab. web components in...

30
#SENDSummit17 Creare UI semplici, intuitive ed efficaci con la Pattern Library di Contactlab. Web Components in produzione. Salvatore Laisa: Lead Frontend Engineer @ Contactlab Maurizio Mangione: Google Developer Expert & MilanoJS Founder

Upload: contactlab

Post on 21-Jan-2018

240 views

Category:

Marketing


1 download

TRANSCRIPT

#SENDSummit17

Creare UI semplici, intuitive ed efficaci con la Pattern Library di Contactlab.Web Components in produzione.

Salvatore Laisa: Lead Frontend Engineer @ Contactlab

Maurizio Mangione: Google Developer Expert & MilanoJS Founder

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17 2

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17 3

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17

COME SARÀ IL WEB

TRA 10 ANNI?

4

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17

HTML in origine

5

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17

HTML in origine

Pubblicato nel 1993 da Tim Berners Lee

Definisce marcatura e semantica di documenti web tramite i tag

Revisionato dal W3C

Set di tag fissi

Successivamente si affiancano CSS e Javascript per stili e comportamenti

Iterazione attuale: HTML 5.1 (2016)

6

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17

La chimera della componentizzazione

Nascono le prime librerie di UI come jQuery UI, Kendo, ExtJS

Permettono di riutilizzare pattern di UX

L’implementazione è completamente artificiale e quindi onerosa in termini di

download e performance di esecuzione

Non sono mobile friendly

7

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17

La chimera della componentizzazione

8

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17

Web Components v0

Specifica proposta da Google al W3C nel 2013 circa

Permette agli sviluppatori di registrare dei tag custom nel browser, ognuno

con una propria marcatura, aspetto e stile

Viene esposto il concetto di Shadow DOM, fino ad allora riservato solo ad

alcuni tag standard

Per i browser che non supportano la specifica sono state progettate delle

polyfill in Javascript

9

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17

Web Components v0

10

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17 11

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17 12

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17

Polymer

Sviluppato da Google

Basato sullo standard Web Components

Syntactic sugar

Utilizzato da:

13

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17

Tanti moduli, una sola UX

Individuata la tecnologia che garantisse longevità ai nostri frontend e il

framework per velocizzare lo sviluppo, lo step successivo era consolidare UI e

UX per i diversi moduli della nuova piattaforma che stavamo per creare, allo

scopo di:

Uniformare il design

Non dover reimplementare o copiare/incollare codice in ogni modulo

Mantere allineati nel tempo i diversi frontend

Nasce così la...

14

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17 15

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17

Contactlab Pattern Library

Basata su Polymer e Web Components

Raggruppa: visual design, iconografia e componenti basilari di UI

Open source

Utilizzabile su progetti in essere basati su Javascript standard, jQuery,

Angular o React

Realizzata sulla base delle nostre esigenze ma riutilizzabile in altri contesti

16

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17

Vi ricordate?

17

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17

Contactlab Pattern Library

18

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17

Pensare in componenti

Creare componenti complessi combinando componenti atomici

Vero riutilizzo del codice

Si mantiene consistenza nei pattern e nella UX

Componenti «dumb» all’interno di componenti «smart» (mediator pattern)

19

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17

Pensare in componenti

20

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17 21

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17

Online demo

22

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17

Dove siamo arrivati…

23

…e dove stiamo andando

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17

Web Components v1

Revisione della sintassi, supporto alle classi ES6

Adozione cross-browser in corso: Chrome e Safari offrono già supporto

nativo, Firefox è in fase di implementazione, Edge in «considerazione»

Nuove polyfill con lazy-load

Nuovo sito ufficiale

24

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17 25

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17

Next steps

Nuova versione della Pattern Library

Da «Pattern Library» a «Design System»

Compatibile con la specifica v1 dei Web Components

Maggiore atomicità

Stili incapsulati (niente più CSS globale)

Maggiori performance

26

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17

…one more thing

Da oggi abbiamo un nuovo spazio dove condividere le nostre idee, esperienze e

sperimentazioni su molti aspetti legati allo sviluppo Frontend, al Design e a

tematiche di UI/UX

https://medium.com/the-frame

27

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17 28

SEND17

è un evento

organizzato da

GRAZIE

GRAZIE

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17

TAKE AWAY

30

Nel dubbio, seguire lo standard

Eliminiamo la complessità

Riutilizzo, riutilizzo, riutilizzo