web apps
with christopher pitt
what are web apps?
what are web apps?
web apps are different things to different
people
what are web apps?
web apps are different things to different
people

we need to define what web apps are before
we know what to build
definition
definition
web apps are websites
definition
web apps are websites

web apps perform a useful function
definition
web apps are websites

web apps perform a useful function

web apps are targeted at smartphones
definition
web apps are websites

web apps perform a useful function

web apps are targeted at smartphones

web apps are built in web technologies but
also require some native code to function
well
case studies
 what popular websites can you think of
that might benefit from being web apps?
case studies
 what popular websites can you think of
that might benefit from being web apps?

  facebook as a web app...
case studies
 what popular websites can you think of
that might benefit from being web apps?

  facebook as a web app...

  gmail as a web app...
native
what native languages are used for
 iphone, android and blackberry?
native
what native languages are used for
 iphone, android and blackberry?

objective-c (c/c++)
native
what native languages are used for
 iphone, android and blackberry?

objective-c (c/c++)

java
native
what native languages are used for
 iphone, android and blackberry?

objective-c (c/c++)

java

qt
native
what native languages are used for
 iphone, android and blackberry?

objective-c (c/c++)

java

qt

html (proprietary)
client
what client-side languages might
 we use in building web apps?
client
what client-side languages might
 we use in building web apps?
html(5)
client
what client-side languages might
 we use in building web apps?
html(5)

css(3)
client
what client-side languages might
 we use in building web apps?
html(5)

css(3)

javascript
server
what server-side languages might
  we use in building web apps?
server
what server-side languages might
  we use in building web apps?
php
server
what server-side languages might
  we use in building web apps?
php

sql
server
what server-side languages might
  we use in building web apps?
php

sql

...node.js
aspects of development
aspects of development
 tools
aspects of development
 tools

 tricks
aspects of development
 tools

 tricks

 trade
tools
tools
sdk
tools
sdk

ide (dreamweaver, xcode)
tools
sdk

ide (dreamweaver, xcode)

browser (chrome, please!)
tools
sdk

ide (dreamweaver, xcode)

browser (chrome, please!)

console
tools
sdk

ide (dreamweaver, xcode)

browser (chrome, please!)

console

dms (phpmyadmin)
tools
sdk

ide (dreamweaver, xcode)

browser (chrome, please!)

console

dms (phpmyadmin)

cvs (git/github)
tricks
tricks
edgy html/css/javascript
tricks
edgy html/css/javascript

thinking in screens
tricks
edgy html/css/javascript

thinking in screens

keeping it lean
tricks
edgy html/css/javascript

thinking in screens

keeping it lean

client pitfalls
trade
trade
wireframe
trade
wireframe

prototype
trade
wireframe

prototype

design
trade
wireframe

prototype

design

server-side
trade
wireframe

prototype

design

server-side

client-side
trade
wireframe

prototype

design

server-side

client-side

native wrapper
tasks
tasks
conceptualise
tasks
conceptualise

wireframe
tasks
conceptualise

wireframe

server
tasks
conceptualise

wireframe

server

client
tasks
conceptualise

wireframe

server

client

native
conceptualise
conceptualise
what does the application do?
conceptualise
what does the application do?

what are the data objects involved?
conceptualise
what does the application do?

what are the data objects involved?

how do they interact?
wireframe
wireframe
what do the screens look like?
wireframe
what do the screens look like?

what does each button do?
wireframe
what do the screens look like?

what does each button do?

can some elements be named/grouped?
server
server
create database objects
server
create database objects

create api endpoints
client
client
create interface structure
client
create interface structure

create ajax requests for api endpoints
client
create interface structure

create ajax requests for api endpoints

create screens from wireframes
native
native
create wrapper for iphone/ipad
native
create wrapper for iphone/ipad

create wrapper for android
native
create wrapper for iphone/ipad

create wrapper for android

create wrapper for blackberry

Notes (2012-06-08)