web app architecture
raphael stary
software engineer @ RISE
cs student @ tuwien
enthusiastic about #ux #agile #javaEE #tdd
#architecturalStylez
#openWebGames #html5 #fancyStuff
FAT CLIENT
proprietary plugins
openwebstack
thick server architecture
thinserverarchitecture
move client-side logic from the server to the client
this results in the role of the web server evolving
into a pure data API or web service.
thin server architecture
MVC / MVVM / MVP
declarative procedural
componentbased
action based
do it yourself
https://github.com/addyosmani/todomvc
knockout javascriptMVC
batman angular
backbone sammy
stateful
stateless
where is the state?
localstorage/sessionstorage
cookie
http session
just RDBMS
polyglotpersistence
http://martinfowler.com/articles/nosql-intro.pdf
AJAX
server side templating
clientsidetemplating
full page reload
partial page rendering JSONobjects
rpc
restful
multi page app
singlepageapp
single page app
the goal of providing a more fluid user experience
akin to a desktop application.
pushStatenavigation
hash based navigation
https://www.facebook.com/messages/
https://www.facebook.com/#!/messages/
offline !!!
appcache
indexedDB - local storage
mobile/touchversion
responsive web design
native wrapper
http://blog.sc5.fi/2012/01/html5-web-app-architecture-explained/
best practices
modernizr (Polyfills)
twitter bootstrap
html5 boilerplate
kickstrap
c&c
to infinity
and beyond

Modern Web App Architectures