45
Prototyping with Framer.js Juan Sanchez Creative Director at Tack Mobile

Prototyping with Framer.js

Embed Size (px)

DESCRIPTION

Presentation on prototyping with Framer.js originally given at Denver Full Stack Meetup October 2014.

Citation preview

Page 1: Prototyping with Framer.js

Prototyping with Framer.jsJuan Sanchez Creative Director at Tack Mobile

Page 2: Prototyping with Framer.js

tA Shared Workspace, Now Open at TAXI

assembly.ws [email protected]

Page 3: Prototyping with Framer.js

PROTOTYPING IS A KEY PART OF THE CREATIVE PROCESS

Page 4: Prototyping with Framer.js

WHY PROTOTYPE?

Page 5: Prototyping with Framer.js

Static screens aren’t enough

Page 6: Prototyping with Framer.js

Diagrams get you half way there

Photo by @JanLosert

Page 7: Prototyping with Framer.js

Nothing beats direct interaction

Video by Google+ Photos

Page 8: Prototyping with Framer.js

Test more than ideas

Page 9: Prototyping with Framer.js

Get feedback from more sources

Page 10: Prototyping with Framer.js

Refine & maintain fidelity

Page 11: Prototyping with Framer.js

“A prototype is worth a thousand meetings.”

Or, pictures.

Page 12: Prototyping with Framer.js

PROTOTYPING CAN TAKE MANY FORMS

Page 13: Prototyping with Framer.js

Paper

There’s a range of fidelity

POP

InVision Proto.io Flinto FieldTest

Edge Animate

After Effects

Briefs Axure

Quartz Composer Avocado Origami

Framer.js

Pixate

Native

LOW HIGH

jQuery Mobile Sencha

Quartz Code

Page 14: Prototyping with Framer.js

Different goals dictate the tool

Page 15: Prototyping with Framer.js

LET’S TALK ABOUT FRAMER.JS

Page 16: Prototyping with Framer.js

Framer.js is an open source JavaScript framework for rapid

prototyping

Page 17: Prototyping with Framer.js

Framer.js is an open source JavaScript framework for rapid

prototyping

Page 18: Prototyping with Framer.js

Framer.js is an open source JavaScript framework for rapid

prototyping

Page 19: Prototyping with Framer.js

Great documentation

Page 20: Prototyping with Framer.js

Tools

Generator

Studio

Page 21: Prototyping with Framer.js

Use your tool of choice

Page 22: Prototyping with Framer.js

Great community

Page 23: Prototyping with Framer.js

Easy to share a prototypes

Page 24: Prototyping with Framer.js

GETTING STARTED WITH FRAMER.JS

Page 25: Prototyping with Framer.js

Framerjs.com

Page 26: Prototyping with Framer.js

Core Components

Layers

Animations

States

Events

And more…

Page 27: Prototyping with Framer.js

Layers

# Create a layer layerA = new Layer backgroundColor:”#0092D2", x:0, y:0, width:100, height:100

Page 28: Prototyping with Framer.js

Layer Types

Page 29: Prototyping with Framer.js

Layer Hierarchy

# Two ways to define hierarchy layerB.superLayer = layerA layerA.addSubLayer(layerB)

LayerA

LayerB

Page 30: Prototyping with Framer.js

Animation

layerA.animate properties: opacity: 0.5 curve: "ease" repeat: 1 delay: 2 time: 1

Page 31: Prototyping with Framer.js

Easing Curves

Page 32: Prototyping with Framer.js

States

# The default state layerA = new Layer opacity:1 !# A new state titled "fade" layerA.states.add fade: {opacity:.5}

default fade

Page 33: Prototyping with Framer.js

Events

Page 34: Prototyping with Framer.js

Events & States

# Toggle states on click layerA.on Events.Click, -> # Cycle through all states imageLayer.states.next() ! # Cycle through chosen states imageLayer.states.next(“spin","fade") ! # Jump to a specific state imageLayer.states.switch "spin"

Page 35: Prototyping with Framer.js

Dragging

# Make the layer draggable layerA.draggable.enabled = true # Set dragging speed layerA.draggable.speedX = 1 !# Prevent vertical dragging layerA.draggable.speedY = 0

Page 36: Prototyping with Framer.js

Scrolling

# The superLayer layerA = new Layer height:100 !# The subLayer layerB = new Layer height:200, superLayer:layerA !# Enable scrolling on the superLayer layerA.scroll = true

Page 37: Prototyping with Framer.js

Extend with other frameworks

Add parallax

Add maps

Use real data

Other touch events

Page 38: Prototyping with Framer.js

PUTTING IT ALL TOGETHER

Page 39: Prototyping with Framer.js

Something simple

Page 40: Prototyping with Framer.js

More complex

Page 41: Prototyping with Framer.js

Something advanced

Page 42: Prototyping with Framer.js

A workflow example

Page 43: Prototyping with Framer.js

Some other helpful tools

iOS Simulator Reflector ScreenFlow

MAMP Transmit

Page 44: Prototyping with Framer.js

WHY FRAMER.JS?

Page 45: Prototyping with Framer.js

QUESTIONS?