Vortrag "Facebook Apps als WebApp: Konzepte und Grundlagen zur Realisierung" von Florian Bergmann auf der AllFacebook Developer Conference in Berlin 2013.
Mehr Informationen zur Konferenz und zum Slot:
http://conference.allfacebook.de/devcon/berlin2013/programm/#8
7. Server
Side
Rendered
Applica3ons
1. Request
/user
2. Webserver
Looking
for
correct
App,
Spawn
Processes
8. Server
Side
Rendered
Applica3ons
1. Request
/user
2. Webserver
Looking
for
correct
App,
Spawn
Processes
3. Rou3ng
Controller
Database
Requests
Rendering
of
Response
9. Server
Side
Rendered
Applica3ons
1. Request
/user
2. Webserver
Looking
for
correct
App,
Spawn
Processes
3. Rou3ng
Controller
Database
Requests
Rendering
of
User
List
Page
4. Response
User
receives
Result
à
HTML
Document
with
List
of
all
Users
11. Server
Side
Rendered
Applica3ons
1. Request
/user/1
2. Webserver
Looking
for
correct
App,
Spawn
Processes
12. Server
Side
Rendered
Applica3ons
1. Request
/user/1
2. Webserver
Looking
for
correct
App,
Spawn
Processes
3. Rou3ng
Controller
Database
Requests
Rendering
of
User
Detail
Page
13. Server
Side
Rendered
Applica3ons
1. Request
/user/1
2. Webserver
Looking
for
correct
App,
Spawn
Processes
3. Rou3ng
Controller
Database
Requests
Rendering
of
User
Detail
Page
4. Response
User
receives
Result
15. What
if…
• The
Server
only
needs
to
send
data
that
changed?
• Business
Logic
and
Valida3ons
live
in
the
Browser?
• User
can
flawless
navigate
through
“pages”
without
sending
Server
requests?
16. Benefits
• Shaky
Internet?
No
Problem!
• Server
load
is
reduced
(which
means
costs
are
reduced…)
• Easy
to
scale
(CDN
for
Sta3c
Files)
• Lot
of
content
is
cached
but
s3ll
dynamic
• Eat
your
own
dogfood!
25. Rethink…
XHR
• Websockets
send
Data
“via
push”
• No
Longpolling,
No
Interval
Polling
• à
Good
for
your
Server
26. Rethink…
Storing
of
Data
• Vars
are
“always
available”
• Web
Storage
– Your
new
BFF
• Backend
(hey…
it’s
his
job…)
– Lean
API
– Op3mized
Requests
27. Rethink…
Authen3ca3on
• Crazy
People:
I
logout,
You
login…
– The
good:
Clear
the
environment
– The
bad:
Don’t
care…
– The
ugly:
Reload
on
logout
• Error
Handling
– 403
à
Alarm?
28. Rethink…
URLs
• You
s3ll
need
URLs
– Deeplinks:
Sharing,
Likes
– User
need
them
(for
some
reason…)
• Rou3ng
via
JavaScript
29. Rethink…
UX
• UI
is
very
fast…
• Reac3on
could
be
unexpected
– Add
Loading
Behavior
– Don’t
forget
Error
Handling
• Messages
• Offline
Mode?
30. We
are
already
building
SPA!
• jQuery
• “No
Flash”
• AJAX
32. Challenges:
SEO
“If
fancy
features
such
as
JavaScript,
cookies,
session
IDs,
frames,
DHTML,
or
Flash
keep
you
from
seeing
all
of
your
site
in
a
text
browser,
then
search
engine
spiders
may
have
trouble
crawling
your
site”