WebFund 2015W Lecture 23
Notes
Two topics for last two lectures:
- What are the fundamentals of web applications?
- Web applications everywhere
Distributed Applications
Applications that run on multiple computers
- separate memory, CPU, storage, communication (I/O)
- can apply this processes, virtual hosts, or physical hosts
Localhost is useful when you want a distributed app on one computer
- GET and POST can go essentially anywhere on the Internet
- allows for flexible combination of code and data
- web applications are the premier form of distributed applications today
- with distributed applications, you don't control all the computers "your" code runs on
Structured Persistence
Front vs Back end
- separate parts of app for...
- doing computation/storage/real work (back end)
- providing the interface (front end)
Can you do "real work" in the front end?
- Yes, but...
- Don't trust the answers
Front end is untrusted, back end is trusted
Modern web apps have many backends and can have multiple front ends (mobile, desktop)
- but "responsive design" says you should have one front end
So why put stuff in the front end?
- lower the load on the back end
- but main reason is latency (of network communication)
Markup and Templates
Trust
Who do you trust?
- library, runtime authors
- content providers
- ad providers
- whatever else you add to a page
Trust means "who can screw you over"
- if they go bad how badly are you hurt
Amazing the web works at all