dude, where's my ui architecture?

43

Upload: kyle-simpson

Post on 09-May-2015

1.028 views

Category:

Technology


2 download

DESCRIPTION

We will explore a bottom-up re-visioning of UI architecture, showing how the deconstructed approach of CVC (Client-View-Controller) solves many of the problems that plague traditional frameworks in the web application space.

TRANSCRIPT

Page 1: Dude, where's my UI architecture?
Page 2: Dude, where's my UI architecture?

Dude, where’s my UI

architecture?Kyle Simpson

@[email protected]

mhttp://getify.me

#dudeui

Page 3: Dude, where's my UI architecture?
Page 4: Dude, where's my UI architecture?
Page 5: Dude, where's my UI architecture?
Page 6: Dude, where's my UI architecture?

— Agnieszka Gasparska

Page 7: Dude, where's my UI architecture?

Every block of stone has a statue inside it and it is the task of the sculptor to discover it.

— Michelangelo

Page 8: Dude, where's my UI architecture?
Page 9: Dude, where's my UI architecture?

…just chip away everything that doesn’t look like a horse.

— unknown

Page 10: Dude, where's my UI architecture?
Page 11: Dude, where's my UI architecture?

Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.

— Antoine de Saint-Exupery

Page 12: Dude, where's my UI architecture?
Page 13: Dude, where's my UI architecture?
Page 14: Dude, where's my UI architecture?
Page 15: Dude, where's my UI architecture?
Page 16: Dude, where's my UI architecture?

UI Architecture

how you process, package, deliver to, and communicate with the client/presentation layer

Page 17: Dude, where's my UI architecture?

UI Architecture

url routing

data validation

data formatting

templating

ajax

Page 18: Dude, where's my UI architecture?

UI Architecture

in between the FRONT end and the BACK end is…

Page 19: Dude, where's my UI architecture?

UI Architecture

in between the FRONT end and the BACK end is…

the MIDDLE end

Page 20: Dude, where's my UI architecture?

traditional web architecture

Page 21: Dude, where's my UI architecture?
Page 22: Dude, where's my UI architecture?

ui architecture

Page 23: Dude, where's my UI architecture?

what’s my motivatio

n?

Page 24: Dude, where's my UI architecture?
Page 25: Dude, where's my UI architecture?

performance anxiety

optimization

Page 26: Dude, where's my UI architecture?

spaghetti code

Page 27: Dude, where's my UI architecture?

i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY. i will not repeat myself. DRY.

Page 28: Dude, where's my UI architecture?

many

hatsman

y roles

Page 29: Dude, where's my UI architecture?

CVCclients views controllers

Page 30: Dude, where's my UI architecture?
Page 31: Dude, where's my UI architecture?

ui architecture

Page 32: Dude, where's my UI architecture?

clients

everything is a client of everything else

decoupled, modular, scalable

Page 33: Dude, where's my UI architecture?

views

templating, portable, DRY, platform agnostic,

core web technology

Page 34: Dude, where's my UI architecture?

controllers

small, independent, powerful

Page 35: Dude, where's my UI architecture?

what i‘m NOT

suggesting

yet another framework

ditch whole architecture

mvc is wrong/weak

Page 36: Dude, where's my UI architecture?

CVC is an alternate pattern for UI architecture

what i AM suggesting

it‘s ok to rethink!

Page 37: Dude, where's my UI architecture?

JavaScript

(on the server)

Page 38: Dude, where's my UI architecture?

BikechainJS

V8 “engine” modules

Page 39: Dude, where's my UI architecture?

code

Page 40: Dude, where's my UI architecture?

HandlebarJS{ }

templating engine text/html templates

JSON data input

Page 41: Dude, where's my UI architecture?

demo

code

Page 42: Dude, where's my UI architecture?

CVC + JavaScript

the power of UI architecture in the hands of front-end

engineers

=

Page 43: Dude, where's my UI architecture?

More info

http://github.com/getify/BikechainJS

http://github.com/getify/HandlebarJS

Kyle Simpson@[email protected]://getify.me

#dudeui