+ All Categories
Home > Software > Lean Frontend Development - Matteo Guidotto - Codemotion Rome 2015

Lean Frontend Development - Matteo Guidotto - Codemotion Rome 2015

Date post: 16-Jul-2015
Category:
Upload: codemotion
View: 83 times
Download: 0 times
Share this document with a friend
62
LEAN FRONTEND DEVELOPMENT
Transcript

LEANFRONTEND

DEVELOPMENT

ABOUT USMatteo Guidotto – Twitter: @j8matteoPM, UX & Frontend Developer, Agile Lover  matteoguidotto.com

Marco Solazzi – Twitter: @dwightjackFrontend Web Developer - github.com/dwightjack/ 

WE WERE WEBMASTER

27-28 march 2015 @j8matteo

OUR WORKFLOW

WASN’T SO SEXY

WE ARE FRONTEND DEVELOPERS

27-28 march 2015 @j8matteo

WE NEED TO BE LEANWE NEED TO BE STRONGWE NEED TO BE AGILE

27-28 march 2015 @j8matteo

PLAN

27-28 march 2015 @j8matteo

GET OUT OF NEVERENDING

SOFTWARE

27-28 march 2015 @j8matteo

CHOOSE RIGHT WEAPONFOR YOUR WAR

27-28 march 2015 @j8matteo

UNICORN TECHNOLOGYDOESN’T EXIST

27-28 march 2015 @j8matteo

DON’T USE ANGULAR FOR EVERYTHING

27-28 march 2015 @j8matteo

DEFINEUSER AND BUYER

PERSONAS

27-28 march 2015 @j8matteo

DEFINEUSER AND BUYER

PERSONASDEVICES

27-28 march 2015 @j8matteo

DEVICE CENTEREDDEVELOPMENT

27-28 march 2015 @j8matteo

BUDGETING ACTIVITIES

27-28 march 2015 @j8matteo

27-28 march 2015 @j8matteo

TRY

27-28 march 2015 @j8matteo

FEATURE’S DESIGNTO

REAL STUFF

27-28 march 2015 @j8matteo

MINIMUMVIABLE

PRODUCT

27-28 march 2015 @j8matteo

MINIMUMVIABLE

PRODUCTCODE

27-28 march 2015 @j8matteo

“ MVC: UNPOLISHED, BAREBONE, TESTABLE, FAILABLE PIECE OF

SOFTWARE ”

27-28 march 2015 @j8matteo

YOUR FEATURE DESIGN IS AN ASSUMPTION

27-28 march 2015 @j8matteo

“ANIMATED FONT SIZE ON A VERTICALLY DISTRIBUTED FULL

HEIGHT LIST…”

display: table?

27-28 march 2015 @j8matteo

TRY IT OUT!

27-28 march 2015 @j8matteo

Do or do not... there is no try

27-28 march 2015 @j8matteo

Do or do not... there is no try

He didn’t know

CodePen

27-28 march 2015 @j8matteo

CLUNKY

!

http://codepen.io/dwightjack/pen/ogwQKz

27-28 march 2015 @j8matteo

“LET’S TRY OUT flexbox”

27-28 march 2015 @j8matteo

http://codepen.io/dwightjack/pen/azwPzv

27-28 march 2015 @j8matteo

YOUR PREJUDICES ARE ASSUMPTIONS TOO!

27-28 march 2015 @j8matteo

“JS NATIVE METHODS JUST ROCK”

27-28 march 2015 @j8matteo

http://jsperf.com/native-vs-for-loops

27-28 march 2015 @j8matteo

COOL / SOLID OPTIONS

27-28 march 2015 @j8matteo

ADVANTAGES:

• WON’T CLUTTER YOUR CODEBASE WITH TEST CODE• CLEAN / SANBOXED ENVIRONMENT IN NO TIME• SHARE AND TEST ON MULTIPLE BROWSERS/DEVICES• GREAT FOR PROTOTYPING• WIDE SUPPORT FOR YOUR PREFERRED STACK

27-28 march 2015 @j8matteo

BUILD

27-28 march 2015 @j8matteo

TEST PASSED!

LET’S GET REAL

27-28 march 2015 @j8matteo

“THERE’S NO BIG SOFTWARE

JUST BIG MISTAKES”

27-28 march 2015 @j8matteo

“Everything is acompound thing”

First Modular Development

Master in history

“Everything is a compound thing”

First Modular Development

Master in History

WHY MODULAR DEVELOPMENT:

SIMPLICITYENCAPSULATION

SEPARATION OF CONCERNS

27-28 march 2015 @j8matteo

PICK YOUR FLAVORS

27-28 march 2015 @j8matteo

FULL STACK FRONTEND

DEVELOPERS?

27-28 march 2015 @j8matteo

CROSSFUNCTIONAL FRONTEND TEAMS

Semantics + Accessibility(HTML + ARIA)

Presentation(CSS)

Interactivity(JavaScript / BaaS APIs)27-28 march 2015 @j8matteo

BROWSERS ALREADY DO THAT

<input type=”date” required min=”10” max=”100”>

input[type=”date”]::-webkit-datetime-edit-month-field { color: #bada55;}

document.querySelector(‘input[type=”date”]’).checkValidity();

27-28 march 2015 @j8matteo

“WE NEED TO OUTPUT15 PAGE TEMPLATES”

- a random PM

27-28 march 2015 @j8matteo

STYLEGUIDE DRIVEN DEVELOPMENT

27-28 march 2015 @j8matteo

ADVANTAGES:

• shared knowledge base (with teammates and customers)

• every module state and variation is clearly visible• code snippets (how to implement) and visual

output (how it looks)

27-28 march 2015 @j8matteo

LIVING STYLEGUIDES/* ========================================================================== Media Object ====

``` <div class="media"> <img src=//placehold.it/150x150 alt="" class="media__image"> <div class="media__wrap"> <h1 class="media__title">Media Title</h1> <p class="media__body"> Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. </p> </div> </div> ``` ========================================================================== */

27-28 march 2015 @j8matteo

LIVING STYLEGUIDES/* ========================================================================== Media Object ====

``` <div class="media"> <img src=//placehold.it/150x150 alt="" class="media__image"> <div class="media__wrap"> <h1 class="media__title">Media Title</h1> <p class="media__body"> Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. </p> </div> </div> ``` ========================================================================== */

COOL / SOLID OPTIONS

27-28 march 2015 @j8matteo

CHECK

27-28 march 2015 @j8matteo

KITCHEN ISN’T A 3DMAX RENDER

WEBSITE ISN’T A PSD27-28 march 2015 @j8matteo

CHECK IS LEARNING

DO IT TOGETHERNOT ONE vs ONE

27-28 march 2015 @j8matteo

CODE SHOULD BEBEAUTIFUL TOO

27-28 march 2015 @j8matteo

COOL / SOLID OPTIONS

27-28 march 2015 @j8matteo

CODE SHOULD BEREUSABLEMODULAR

COMMENTED27-28 march 2015 @j8matteo

CODEREVIEW ASRETROSPECTIVE

27-28 march 2015 @j8matteo

ITERATE

ALL THE TIME27-28 march 2015 @j8matteo

IT’S NOT A GUIDE

IT’S A FRAMEWORK

27-28 march 2015 @j8matteo

GET OUT OFDELIVERY OBSESSION

27-28 march 2015 @j8matteo

IT’S A DECLARATION OF INDEPENDENCE

27-28 march 2015 @j8matteo

THANKS

27-28 march 2015 @j8matteo


Recommended